本書(shū)基于OpenStack Kilo版講述了部署相關(guān)的內(nèi)容,是作者多年實(shí)踐經(jīng)驗(yàn)的總結(jié)。書(shū)中不僅對(duì)上一版進(jìn)行了修訂,還增加了桌面虛擬化、Neutron與SDN、分布式存儲(chǔ)、Swift對(duì)象存儲(chǔ)、Hadoop彈性集群、Heat與Ceilometer組件、Docker、VMware與OpenStack鏡像互轉(zhuǎn)等新內(nèi)容。
OpenStack中國(guó)社區(qū)核心技術(shù)交流群管理員之作
企業(yè)評(píng)估OpenStack云平臺(tái)能力的參考書(shū)
云計(jì)算、網(wǎng)絡(luò)、存儲(chǔ)以及大數(shù)據(jù)處理融為一體的實(shí)踐部署指導(dǎo)書(shū)
OpenStack中國(guó)社區(qū)核心技術(shù)交流群的管理員之一,志力于推動(dòng)OpenStack在中國(guó)企業(yè)的應(yīng)用,幫助企業(yè)降低IT成本,提高經(jīng)濟(jì)收益。
1989年畢業(yè)于吉林大學(xué)計(jì)算機(jī)系,從modem、3 、Novell、x.25、DDN、FrameRelay、ATM等開(kāi)始網(wǎng)絡(luò)技術(shù)學(xué)習(xí),從SCO Unix、dBase、FoxBase、Oracle、Informix等開(kāi)始學(xué)習(xí)主機(jī)與數(shù)據(jù)庫(kù)技術(shù)。
1999年,加入朗訊科技公司。至2011年,一直在外企工作。雖然期間也從事了銷(xiāo)售與渠道管理工作,但由于對(duì)技術(shù)的熱愛(ài)以及前期在網(wǎng)絡(luò)方面的知識(shí)儲(chǔ)備,從未中斷學(xué)習(xí)技術(shù)。
2012年,開(kāi)始從事OpenStack云計(jì)算系統(tǒng)的技術(shù)、實(shí)驗(yàn)以及724運(yùn)行的生產(chǎn)類(lèi)系統(tǒng)的部署,完成了大量的實(shí)驗(yàn)工作。
目 錄
第1章 OpenStack基本操作系統(tǒng)環(huán)境的
PXE自動(dòng)部署 1
1.1 PXE、Kickstart與Preseed簡(jiǎn)介 2
1.1.1 PXE簡(jiǎn)介 2
1.1.2 Kickstart與Preseed簡(jiǎn)介 2
1.2 PXE服務(wù)器的準(zhǔn)備 2
1.2.1 選擇Ubuntu操作系統(tǒng) 3
1.2.2 Ubuntu操作系統(tǒng)的基本安裝
與更新 3
1.3 復(fù)制Ubuntu和CentOS操作系統(tǒng)文件 5
1.3.1 復(fù)制Ubuntu操作系統(tǒng)全目錄、內(nèi)核與啟動(dòng)鏡像文件 5
1.3.2 復(fù)制CentOS操作系統(tǒng)全目錄、內(nèi)核與啟動(dòng)鏡像文件 6
1.4 PXE客戶端操作系統(tǒng)的選擇與引導(dǎo)
過(guò)程 6
1.4.1 創(chuàng)建PXE客戶端導(dǎo)示文件 7
1.4.2 選擇安裝配置文件 7
1.5 CentOS宿主機(jī)的Kickstart配置文件 9
1.6 OpenStack計(jì)算節(jié)點(diǎn)的主機(jī)Preseed
配置文件 12
1.7 使用PXE安裝CentOS 7的腳本 15
1.8 常見(jiàn)問(wèn)題與處理 17
1.9 小結(jié) 17
1.10 參考資源 17
第2章 OpenStack與網(wǎng)絡(luò) 18
2.1 網(wǎng)卡管理工具ethtool 18
2.1.1 安裝與使用ethtool 18
2.1.2 網(wǎng)卡子接口 20
2.1.3 網(wǎng)卡信息文件 21
2.1.4 OpenStack:運(yùn)用網(wǎng)卡子接口
模擬多網(wǎng)卡 22
2.2 網(wǎng)橋及網(wǎng)橋管理工具bridge-utils 22
2.2.1 安裝與使用bridge-utils 23
2.2.2 理解網(wǎng)橋的IP地址與虛擬機(jī)
的IP地址 23
2.2.3 Ubuntu下網(wǎng)橋的配置文件 24
2.2.4 CentOS下網(wǎng)橋的配置文件 24
2.2.5 將虛擬機(jī)與某個(gè)網(wǎng)橋連接 24
2.3 虛擬局域網(wǎng)VLAN 25
2.3.1 VLAN協(xié)議802.1Q 25
2.3.2 接入端口與中繼端口 26
2.3.3 VLAN管理工具vconfig 26
2.4 主機(jī)多網(wǎng)卡靜態(tài)路由配置 28
2.5 Open vSwitch簡(jiǎn)介與實(shí)驗(yàn) 28
2.5.1 Open vSwitch簡(jiǎn)介 29
2.5.2 安裝Open vSwitch 29
2.5.3 使用ovs-vsctl管理OVS 31
2.5.4 OVS的數(shù)據(jù)庫(kù)配置與網(wǎng)絡(luò)
配置文件的關(guān)系 33
2.5.5 設(shè)置VLAN及VLAN接口的
IP地址 34
2.5.6 OVS支持OpenFlow的SDN
模式 34
2.6 構(gòu)建云中的網(wǎng)絡(luò) 35
2.6.1 VLAN的優(yōu)勢(shì)與局限 35
2.6.2 GRE的特點(diǎn) 36
2.6.3 VXLAN的特點(diǎn) 36
2.7 Linux內(nèi)核的VXLAN功能實(shí)驗(yàn)記錄 37
2.7.1 實(shí)驗(yàn)環(huán)境及目標(biāo) 37
2.7.2 配置與測(cè)試VXLAN 38
2.7.3 測(cè)試與結(jié)果 40
2.8 Linux內(nèi)核VXLAN與Open vSwitch的
結(jié)合 40
2.9 網(wǎng)絡(luò)名字空間及網(wǎng)絡(luò)虛擬設(shè)備 41
2.9.1 網(wǎng)絡(luò)名字空間 41
2.9.2 網(wǎng)絡(luò)名字空間與系統(tǒng)空間的
數(shù)據(jù)轉(zhuǎn)發(fā) 41
2.10 小結(jié) 42
2.11 參考資源 42
第3章 OpenStack基本控制服務(wù)多點(diǎn)
部署 43
3.1 部署環(huán)境說(shuō)明 43
3.2 控制節(jié)點(diǎn)主機(jī)環(huán)境準(zhǔn)備 45
3.2.1 服務(wù)器硬件準(zhǔn)備 45
3.2.2 操作系統(tǒng)環(huán)境準(zhǔn)備 45
3.3 虛擬機(jī)鏡像的準(zhǔn)備 46
3.3.1 虛擬機(jī)鏡像網(wǎng)絡(luò)接口準(zhǔn)備 46
3.3.2 虛擬機(jī)鏡像NTP安裝 47
3.3.3 虛擬機(jī)鏡像Kilo源安裝 47
3.4 OpenStack基本控制服務(wù)組件的安裝
與配置 48
3.4.1 OpenStack基本控制服務(wù)組件簡(jiǎn)介 48
3.4.2 MySQL服務(wù)器的安裝與配置 48
3.4.3 RabbitMQ服務(wù)器的安裝與
配置 51
3.4.4 Keystone服務(wù)器的安裝與配置 53
3.4.5 租戶、用戶、角色、服務(wù)端點(diǎn)及用戶身份環(huán)境變量 55
3.4.6 決定用戶操作權(quán)限的policy.
json文件 56
3.4.7 Glance服務(wù)器的安裝與配置 62
3.4.8 Nova API節(jié)點(diǎn)的安裝與配置 66
3.4.9 Horizon服務(wù)器的安裝與配置 71
3.5 OpenStack基本服務(wù)運(yùn)行簡(jiǎn)要驗(yàn)證 74
3.6 小結(jié) 74
3.7 參考資源 74
第4章 nova-network多機(jī)部署及
企業(yè)應(yīng)用 75
4.1 nova-network多主機(jī)部署簡(jiǎn)介 75
4.2 部署環(huán)境說(shuō)明 76
4.3 nova-network FlatDHCP部署模式 76
4.3.1 計(jì)算節(jié)點(diǎn)主機(jī)準(zhǔn)備 77
4.3.2 安裝Ubuntu操作系統(tǒng) 77
4.3.3 網(wǎng)絡(luò)配置 77
4.3.4 時(shí)間服務(wù) 78
4.3.5 安裝OpenStack Kilo源 78
4.3.6 軟件安裝 78
4.3.7 服務(wù)配置 78
4.3.8 服務(wù)啟動(dòng) 81
4.3.9 運(yùn)行驗(yàn)證 81
4.4 創(chuàng)建并管理虛擬機(jī) 82
4.5 nova-net workVLAN部署模式 88
4.6 nova-network元數(shù)據(jù)處理 89
4.6.1 元數(shù)據(jù)簡(jiǎn)要介紹 89
4.6.2 元數(shù)據(jù)請(qǐng)求及服務(wù)模式 89
4.6.3 元數(shù)據(jù)處理過(guò)程 90
4.7 nova-network企業(yè)應(yīng)用模式調(diào)整 91
4.7.1 OpenStack企業(yè)內(nèi)部應(yīng)用的
調(diào)整要求 91
4.7.2 nova-network的IP地址管理及流量模式 91
4.7.3 企業(yè)多點(diǎn)多主機(jī)nova-network部署示意圖 93
4.7.4 企業(yè)內(nèi)多網(wǎng)段與虛擬機(jī)多網(wǎng)卡 94
4.8 小結(jié) 95
4.9 參考資源 96
第5章 OpenStack桌面虛擬化 97
5.1 虛擬桌面協(xié)議介紹 97
5.2 免費(fèi)使用的xVDI System I虛擬桌面
系統(tǒng) 99
5.3 xVDI System I 虛擬桌面系統(tǒng)部署 100
5.3.1 xVDI-Server 鏡像下載與解壓 100
5.3.2 xVDI-Server 軟件代碼、root及IP地址信息 101
5.3.3 xVDI-Server 配置 101
5.3.4 xVDI-Server 服務(wù)的運(yùn)行狀態(tài)
驗(yàn)證 102
5.3.5 xVDI客戶端的安裝與使用 103
5.4 無(wú)法連接Windows虛擬機(jī)的異常
處理 105
5.4.1 無(wú)法連接OpenStack中的Windows虛擬機(jī) 105
5.4.2 Windows虛擬機(jī)運(yùn)行性能表現(xiàn)不佳 106
5.5 小結(jié) 106
5.6 參考資源 106
第6章 OpenStack Neutron 網(wǎng)絡(luò)服務(wù) 107
6.1 部署環(huán)境說(shuō)明 107
6.2 Neutron組件的構(gòu)成及原理 108
6.3 Neutron 組件的安裝 110
6.3.1 Neutron Server的安裝 110
6.3.2 網(wǎng)絡(luò)節(jié)點(diǎn)軟件安裝 114
6.3.3 計(jì)算節(jié)點(diǎn)Neutron Agent組件
的安裝 116
6.3.4 調(diào)整nova-api與計(jì)算節(jié)點(diǎn)的nova.conf配置文件 117
6.4 Linuxbridge VLAN/VXLAN網(wǎng)絡(luò)模式
配置 119
6.4.1 部署架構(gòu) 119
6.4.2 相關(guān)配置文件說(shuō)明 120
6.4.3 重啟Neutron相關(guān)的服務(wù) 123
6.5 Open vSwitch GRE部署模式及相關(guān)
配置文件 125
6.5.1 GRE部署架構(gòu) 125
6.5.2 創(chuàng)建br-ex網(wǎng)橋 125
6.5.3 相關(guān)配置文件說(shuō)明 126
6.5.4 重啟Neutron相關(guān)的服務(wù) 127
6.5.5 調(diào)整nova-api與計(jì)算節(jié)點(diǎn)的nova.conf配置文件 129
6.6 Neutron網(wǎng)絡(luò)模式下元數(shù)據(jù)服務(wù)路徑 131
6.7 Neutron模式下創(chuàng)建網(wǎng)絡(luò)的相關(guān)操作 133
6.7.1 查看當(dāng)前環(huán)境中的網(wǎng)絡(luò) 134
6.7.2 創(chuàng)建公網(wǎng)與子網(wǎng) 135
6.8 Neutron DVR 140
6.9 參考資源 141
第7章 Neutron與SDN融合 142
7.1 廣義的SDN 142
7.2 Arista 官方SDN原理圖 142
7.3 實(shí)驗(yàn)環(huán)境說(shuō)明 143
7.4 配置Arista交換機(jī) 144
7.4.1 配置交換機(jī)管理的IP 144
7.4.2 將交換機(jī)注冊(cè)到CVX中 145
7.4.3 訪問(wèn)交換機(jī)的API 146
7.4.4 配置交換機(jī)的中繼端口 146
7.4.5 啟用鏈路發(fā)現(xiàn)協(xié)議(LLDP) 146
7.4.6 配置交換機(jī)支持Neutron指令 148
7.5 配置Neutron Server 149
7.5.1 為neutron-server打補(bǔ)丁 149
7.5.2 配置ml2使用Arista驅(qū)動(dòng)程序 150
7.5.3 重建neutron數(shù)據(jù)庫(kù) 151
7.5.4 配置網(wǎng)絡(luò)節(jié)點(diǎn)及計(jì)算節(jié)點(diǎn) 152
7.5.5 重啟Neutron相關(guān)的服務(wù) 153
7.6 Neutron與Arista SDN聯(lián)動(dòng)測(cè)試 153
7.7 測(cè)試總結(jié) 156
7.8 參考資源 156
第8章 分布式存儲(chǔ)系統(tǒng) 157
8.1 分布式文件系統(tǒng)MooseFS 157
8.1.1 MFS的架構(gòu)簡(jiǎn)介 158
8.1.2 MFS的安裝與配置 158
8.1.3 實(shí)驗(yàn)環(huán)境 158
8.1.4 mfs-master服務(wù)器安裝 159
8.1.5 mfs-metalogger服務(wù)器的安裝 161
8.1.6 mfs-chunk服務(wù)器的安裝 163
8.1.7 MFS客戶端的安裝 166
8.1.8 MFS功能測(cè)試 168
8.1.9 OpenStack計(jì)算節(jié)點(diǎn)集成MFS中央存儲(chǔ) 171
8.2 GlusterFS系統(tǒng)安裝 171
8.2.1 部署環(huán)境說(shuō)明 171
8.2.2 準(zhǔn)備GlusterFS存儲(chǔ)節(jié)點(diǎn)
虛擬機(jī)鏡像 172
8.2.3 創(chuàng)建GlusterFS存儲(chǔ)集群 173
8.2.4 創(chuàng)建GlusterFS存儲(chǔ)卷 178
8.2.5 GlusterFS卷訪問(wèn)安全控制 181
8.2.6 安裝客戶端 182
8.3 Ceph系統(tǒng)安裝 183
8.3.1 安裝環(huán)境說(shuō)明 184
8.3.2 準(zhǔn)備ceph-deploy、Ceph mon及osd的虛擬機(jī)鏡像 185
8.3.3 安裝Ceph mon節(jié)點(diǎn) 187
8.3.4 增加cephmond和cephmone
節(jié)點(diǎn) 191
8.3.5 關(guān)于mon初始成員的法定人
數(shù)問(wèn)題 192
8.3.6 創(chuàng)建Ceph osd節(jié)點(diǎn)集群 192
8.3.7 同步所有節(jié)點(diǎn)的時(shí)間 200
8.3.8 查看集群的健康狀況 200
8.3.9 創(chuàng)建存儲(chǔ)池 201
8.4 用戶管理 202
8.5 客戶端操作 203
8.5 小結(jié) 204
8.6 參考資源 204
第9章 OpenStack中央存儲(chǔ)及虛擬機(jī)
動(dòng)態(tài)遷移 205
9.1 NFS中央存儲(chǔ)模式 205
9.1.1 NetApp的NFS服務(wù)準(zhǔn)備 205
9.1.2 計(jì)算節(jié)點(diǎn)客戶端NFS的安裝
與配置 207
9.2 虛擬機(jī)動(dòng)態(tài)遷移 207
9.2.1 準(zhǔn)備要求 208
9.2.2 調(diào)整libvirt服務(wù)及nova.conf的配置 208
9.2.3 動(dòng)態(tài)遷移實(shí)驗(yàn) 209
9.3 NFS系統(tǒng)的不足及pNFS的發(fā)展 210
9.3.1 NFS的不足 210
9.3.2 pNFS的發(fā)展 210
9.4 參考資源 211
第10章 Cinder卷服務(wù) 212
10.1 Cinder的安裝與配置及連接Netapp
存儲(chǔ)后端 212
10.1.1 部署環(huán)境說(shuō)明 212
10.1.2 Cinder服務(wù)器的安裝及配置 213
10.1.3 驗(yàn)證服務(wù)的運(yùn)行狀態(tài) 216
10.1.4 創(chuàng)建、使用與刪除卷 217
10.2 連接Gluster存儲(chǔ)后端 220
10.2.1 實(shí)驗(yàn)環(huán)境說(shuō)明 220
10.2.2 安裝與配置Cinder及計(jì)算
節(jié)點(diǎn) 220
10.2.3 測(cè)試Cinder、計(jì)算節(jié)點(diǎn)與Gluster后端的連通性 222
10.2.4 Cinder與Gluster協(xié)作測(cè)試 222
10.3 連接Ceph存儲(chǔ)后端 224
10.3.1 實(shí)驗(yàn)環(huán)境說(shuō)明 224
10.3.2 安裝Ceph軟件到相關(guān)節(jié)點(diǎn) 225
10.3.3 準(zhǔn)備存儲(chǔ)池及用戶 225
10.3.4 配置計(jì)算節(jié)點(diǎn) 226
10.3.5 配置Cinder 227
10.3.6 驗(yàn)證Cinder與計(jì)算節(jié)點(diǎn)均
可以創(chuàng)建卷 228
10.3.7 創(chuàng)建云硬盤(pán)并將其附加到
虛擬機(jī)中 228
10.4 小結(jié) 229
10.5 參考資源 229
第11章 Swift存儲(chǔ)系統(tǒng)部署 230
11.1 Swift系統(tǒng)簡(jiǎn)介及原理 230
11.1.1 Swift系統(tǒng)的來(lái)源 230
11.1.2 Swift系統(tǒng)的基本原理 230
11.2 Swift環(huán)境部署簡(jiǎn)介 232
11.3 公共服務(wù)部署與服務(wù)注冊(cè) 233
11.3.1 NTP時(shí)間安裝 233
11.3.2 虛擬機(jī)鏡像Kilo源安裝 234
11.3.3 ssh-key生成與下發(fā) 234
11.3.4 注冊(cè)Swift服務(wù) 234
11.4 account-container-server部署 235
11.4.1 網(wǎng)絡(luò)配置 235
11.4.2 配置主機(jī)Hosts文件 236
11.4.3 服務(wù)安裝 236
11.4.4 配置數(shù)據(jù)存儲(chǔ)盤(pán) 236
11.4.5 配置rsync服務(wù) 236
11.4.6 啟動(dòng)rsync服務(wù) 237
11.4.7 配置account-server服務(wù) 237
11.4.8 配置container-server服務(wù) 238
11.4.9 Swift服務(wù)驗(yàn)證配置 239
11.4.10修改文件夾權(quán)限 239
11.4.11 啟動(dòng)服務(wù) 239
11.5 object-server部署 239
11.5.1 網(wǎng)絡(luò)配置 239
11.5.2 配置主機(jī)Hosts文件 240
11.5.3 安裝服務(wù) 240
11.5.4 配置數(shù)據(jù)存儲(chǔ)盤(pán) 240
11.5.5 配置rsync服務(wù) 241
11.5.6 啟動(dòng)rsync服務(wù) 241
11.5.7 配置object-server服務(wù) 242
11.5.8 Swift服務(wù)驗(yàn)證配置 242
11.5.9 修改文件夾權(quán)限 242
11.5.10 啟動(dòng)服務(wù) 243
11.6 proxy-server部署 243
11.6.1 網(wǎng)絡(luò)配置 243
11.6.2 配置主機(jī)Hosts文件 243
11.6.3 軟件安裝 244
11.6.4 服務(wù)配置 244
11.6.5 Swift服務(wù)驗(yàn)證配置 245
11.6.6 修改文件夾權(quán)限 245
11.6.7 重啟服務(wù) 245
11.7 Swift存儲(chǔ)中使用ring文件的
創(chuàng)建與分發(fā) 246
11.7.1 account-server中使用的ring文件的創(chuàng)建與同步 246
11.7.2 container-server中使用的ring文件的創(chuàng)建與同步 247
11.7.3 object-server中使用的ring文件的創(chuàng)建與同步 248
11.7.4 Swift存儲(chǔ)的ring文件
下發(fā) 251
11.8 proxy-server雙機(jī)心跳服務(wù)部署 252
11.8.1 檢查proxy-server的Hosts解析 252
11.8.2 安裝心跳服務(wù) 252
11.8.3 服務(wù)配置 253
11.8.4 啟動(dòng)心跳服務(wù) 253
11.8.5運(yùn)行驗(yàn)證 253
11.9 Swift驗(yàn)證與實(shí)踐 254
11.9.1 設(shè)置身份驗(yàn)證的環(huán)境變量 254
11.9.2 查看Swift狀態(tài) 255
11.9.3 新建容器 255
11.9.4 上傳對(duì)象 255
11.9.5 刪除對(duì)象 256
11.9.6 下載對(duì)象 256
11.10 Windows下Swift客戶端的使用 256
11.10.1 客戶端下載 256
11.10.2 客戶端安裝 256
11.10.3 客戶端使用 257
11.10.4 通過(guò)客戶端上傳文件 260
11.11 Swift故障恢復(fù) 261
11.11.1 模擬object服務(wù)器數(shù)據(jù)
丟失 261
11.11.2 模擬Object服務(wù)器硬盤(pán)
故障 263
11.11.3 模擬object-server系統(tǒng)
故障 265
11.12 小結(jié) 269
11.13 參考資源 269
第12章 OpenStack與Docker 270
12.1 Docker簡(jiǎn)介 270
12.2 安裝與運(yùn)行Docker 271
12.2.1 Docker基礎(chǔ)安裝 271
12.2.2 查找及下載Docker鏡像 271
12.2.3 啟動(dòng)并登錄Docker容器 271
12.2.4 Docker與網(wǎng)絡(luò)名字空間 272
12.2.5 Ceph RBD存儲(chǔ)卷持久化 274
12.3 Machine、Swarm、Compose及
Flocker 276
12.4 Docker與OpenStack的融合 277
12.4.1 Machine方案 277
12.4.2 nova-docker方案 278
12.4.3 heat-docker方案 278
12.4.4 Magnum方案 279
12.5 nova-docker方案實(shí)踐 279
12.5.1 novadocker的安裝 280
12.5.2 配置計(jì)算節(jié)點(diǎn) 280
12.5.3 配置Glance 280
12.5.4 下載及上傳鏡像 280
12.5.5 創(chuàng)建虛擬機(jī) 281
12.5.6 查看網(wǎng)絡(luò)信息 282
12.6 參考資源 283
第13章 Heat與彈性集群伸縮 284
13.1 Telemetry簡(jiǎn)介 284
13.2 Telemetry安裝環(huán)境 285
13.3 Telemetry服務(wù)的安裝與配置 285
13.3.1 MongoDB的安裝與配置 285
13.3.2 安裝Telemetry 287
13.4 Telemetry Agent安裝 290
13.5 創(chuàng)建警告 292
13.6 Heat簡(jiǎn)介 296
13.7 Heat部署環(huán)境信息 297
13.8 Heat服務(wù)的安裝與配置 297
13.8.1 創(chuàng)建heat數(shù)據(jù)庫(kù) 297
13.8.2 向Keystone注冊(cè)Heat服務(wù) 297
13.8.3 安裝軟件 298
13.8.4 配置服務(wù) 299