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