雲計算與OpenStack

雲計算與OpenStack

本書通過深入剖析OpenStack架構的設計理念及具體實現,結合雲計算管理平台建設理論,將理論與實踐相結合,讓讀者知其然並知其所以然。 全書在組織形式上,採用簡單明了的語法,段落簡潔,配合大量的圖文以及部分核心代碼,形象地表述出技術套用原理。本文穿插了筆者團隊積累的一些經驗,特別是在套用篇,為不同場景下雲計算落地提供了建設實踐案例,這在業界是相對少見且比較全面的解決方案。

基本介紹

內容簡介

《雲計算與OpenStack(虛擬機Nova篇)》穿插了筆者團隊積累的一些經驗,特別是在套用篇,為不同場景下雲計算落地提供了建設實踐案例,這在業界是相對少見且比較全面的解決方案。

作者簡介

陳伯龍·
長期從事電信領域運營、運維支撐系統研發及項目實施,在系統架構、設計、開發和項目管理中積累了大量一線實踐經驗,擅長虛擬化、系統監控、運維管理產品規劃建設等。目前供職於亞信聯創,擔任橘雲平台服務運營管理部經理職務。
張 傑·
亞信聯創計費和商業智慧型產品部橘雲管理平台產品負責人。畢業於北方工業大學,虛擬化和雲計算專家。與亞信聯創的雲計算研究及服務團隊一起為電信運營商提供先進的雲計算解決方案。
程志鵬·
畢業於北京理工大學計算機軟體專業,碩士學位,長期從事計算機網路通信、網路安全、網路存儲相關的研究和開發,具備豐富的一線開發經驗。目前供職於某著名網路通信企業,擔任高級項目經理職務,對於雲計算中的網路通信技術具有獨特的見解。

圖書目錄

PartⅠ概念篇
第1章雲計算概述2
1.1雲計算是什麼2
1.2雲計算發展現狀4
1.3雲計算體系架構7
1.3.1雲計算參與者8
1.3.2雲計算部署方式11
1.4雲計算的影響13
1.4.1雲計算引發了整個IT行業變革13
1.4.2雲計算對經濟社會各領域帶來深刻影響14
1.5雲計算商用解決方案15
1.5.1亞馬遜雲計算解決方案15
1.5.2VMwarevSphere解決方案19
1.6雲計算開源解決方案OpenStack21
1.6.1OpenStack發展歷史22
1.6.2OpenStack概述23
第2章OpenStack安裝體驗及入門26
2.1快速體驗安裝26
2.2腳本安裝28
2.3手動安裝29
2.4體驗篇35
2.4.1創建虛擬機36
2.4.2添加磁碟38
2.4.3安全和訪問設定41
2.5Q&A43
2.5.1虛擬機上是否可以安裝OpenStack43
2.5.2找不到安裝源43
2.5.3設定上網代理44
2.6如何入門提升44
2.6.1源碼閱讀45
2.6.2日誌分析48
2.6.3安裝問題49
PartⅡ架構篇
第3章系統架構52
3.1整體架構剖析52
3.2邏輯架構57
3.2.1邏輯概念模型59
3.2.2邏輯模組劃分60
3.3運行架構63
3.4開發架構66
3.5物理架構67
第4章功能剖析70
4.1訊息佇列協定AMQP70
4.2調度器nova—scheduler74
4.2.1過濾(Filtering)76
4.2.2權衡(Weighting)78
4.3計算資源管理80
4.3.1KVM適配83
4.3.2VMware適配84
4.4存儲資源管理85
4.4.1Cinder功能分析88
4.4.2iSCSI適配90
4.4.3NFS適配93
4.5網路資源管理94
4.5.1IP資源管理95
4.5.2DHCP自動分派IP95
4.5.3網路連線管理98
4.5.4虛擬交換機管理99
4.5.5NAT網路映射102
4.5.6網路安全管理104
4.5.7Quantum項目介紹106
PartⅢ實現篇
第5章計算資源池實現剖析114
5.1代碼結構分析114
5.1.1常用命令114
5.1.2代碼結構115
5.2業務邏輯模型分析116
5.2.1整體業務邏輯模型116
5.2.2Libvirt虛擬化實現模型118
5.2.3XenAPI虛擬化實現模型119
5.3數據模型分析120
5.3.1整體數據模型120
5.3.2虛擬機模型instances121
5.3.3虛擬機狀態122
5.4虛擬機開通123
5.4.1操作實現123
5.4.2實現剖析126
5.4.3開通虛擬機外部接口nova—api.create()127
5.4.4開通虛擬機內部接口compute—api.create()128
5.4.5計算節點部署虛擬機
compute—manager.run_instance()131
5.4.6虛擬化適配134
5.5虛擬機啟停138
5.5.1虛擬機關閉138
5.5.2虛擬機啟動140
5.6線上熱遷移140
5.6.1構建NFS共享存儲142
5.6.2修改計算節點配置145
5.6.3遷移虛擬機146
5.7VNC控制台147
5.7.1VNC和noVNC147
5.7.2實現剖析147
5.7.3noVNC代理的配置和部署148
5.8安全組管理149
5.8.1安全組數據模型150
5.8.2安全組創建和刪除151
5.9Q&A152
5.9.1虛擬機部署異常152
5.9.2計算節點服務不能正常啟動153
5.9.3熱遷移失敗154
參考文獻154
第6章存儲資源池實現剖析155
6.1代碼結構分析155
6.1.1nova—volume代碼結構155
6.1.2Cinder代碼結構157
6.2業務邏輯模型分析158
6.2.1整體模型分析158
6.2.2卷管理類(VolumeManager)159
6.2.3iSCSI實現ISCSIDriver160
6.3資料庫模型分析160
6.3.1整體模型分析160
6.3.2卷(volumes)161
6.4創建和掛載彈性雲硬碟操作實現162
6.4.1創建雲硬碟操作實現162
6.4.2掛載雲硬碟操作實現164
6.5機架式伺服器iSCSI存儲實現剖析165
6.5.1LVM基本概念165
6.5.2存儲節點預處理166
6.5.3創建雲硬碟167
6.5.4掛載雲硬碟168
6.6快照管理169
6.6.1創建快照170
6.6.2快照恢復171
第7章網路資源池實現剖析173
7.1代碼結構分析173
7.1.1Nova—network代碼173
7.1.2Quantum代碼174
7.2nova—network業務邏輯模型分析176
7.2.1業務邏輯模型176
7.2.2私網資源池管理NetworkManager177
7.2.3公網資源池管理FloatingIP179
7.3nova—network數據模型分析180
7.3.1整體模型180
7.3.2私有網路Networks181
7.3.3私網IP位址池182
7.3.4彈性IP位址池183
7.4nova—network中FlatDHCP模式184
7.4.1網路部署184
7.4.2網路連線機制剖析185
7.4.3高可用性187
7.5nova—network中VLAN模式189
7.5.1網路部署189
7.5.2網路連線機制剖析190
7.5.3高可用性191
7.6nova—network分配私網IP位址192
7.6.1創建私有網路192
7.6.2分配私網fixedIP193
7.6.3DHCP自動分配IP位址197
7.7nova—network分配彈性IP位址199
7.7.1操作實現200
7.7.2實現剖析201
7.8Quantum業務邏輯模型分析203
7.8.1Quantum—Server業務邏輯模型203
7.8.2Agent業務邏輯模型204
7.9Quantum數據模型分析204
7.9.1整體數據模型204
7.9.2Quantum模型映射關係206
7.9.3連線埠ports207
7.10Quantum網路模式分析208
7.10.1扁平共享模式(Flat)208
7.10.2租戶私有網路209
7.11Quantum操作實現211
第8章Glance鏡像管理212
8.1鏡像功能架構213
8.1.1邏輯架構213
8.1.2開發架構213
8.2業務邏輯模型分析215
8.3數據模型分析215
8.3.1整體模型215
8.3.2鏡像(images)216
8.3.3鏡像狀態217
8.4製作鏡像218
8.4.1製作Windows7鏡像218
8.4.2製作Linux鏡像222
8.4.3上傳鏡像222
8.5創建鏡像實現分析224
第9章Horizon前端界面實現剖析227
9.1什麼是Django227
9.2Horizon的功能和實現228
9.2.1Horizon介紹228
9.2.2功能架構229
9.2.3部署架構230
9.2.4開發架構232
9.2.5Horizon和Django233
9.2.6Horizon和其他模組的關係234
9.3定製Horizon235
9.3.1修改Web套用的標題235
9.3.2修改Horizon的Logo235
9.3.3修改Dashboard和Panel236
9.4國際化236
第10章Keystone認證管理238
10.1Keystone架構238
10.1.1邏輯架構238
10.1.2開發架構239
10.2數據模型分析241
10.2.1整體模型241
10.2.2用戶(user)242
10.2.3項目Tenant242
10.2.4用戶項目角色關聯表metadata243
10.2.5服務service243
10.2.6服務端endpoint243
10.3Keystone操作體驗244
10.3.1創建項目Project244
10.3.2創建用戶245
10.3.3為項目Project增加新用戶246
10.4認證機制剖析247
10.4.1curl方式創建虛擬機247
10.4.2認證過程剖析252
10.4.3認證獲取Token剖析254
10.4.4許可權判斷256
10.5Q&A258
PartⅣ套用篇
第11章私有雲平台建設262
11.1概述262
11.2適用場景分析263
11.2.1選擇私有雲264
11.2.2適用場景示例——伺服器套用266
11.2.3適用場景示例——桌面雲套用270
11.3建設思路274
11.3.1建設思路轉變274
11.3.2統籌規劃、分階段建設277
11.4建設過程277
11.4.1網路規劃及部署278
11.4.2CPU兼容性282
11.5案例分析283
11.6私有雲平台待完善287
11.6.1OpenStack持續最佳化288
11.6.2系統監控管理289
11.6.3高可用性管理294
第12章公有雲平台建設297
12.1誰適用公有雲297
12.2運營商建設298
12.2.1小規模套用299
12.2.2大規模建設300
12.3單數據中心建設方案301
12.3.1網路部署方案301
12.3.2共享存儲提升高可用性303
12.4多數據中心建設方案304
12.4.1區域Zone解決方案305
12.4.2單元Cell解決方案307
後記309

序言

雲計算已成為IT業界出現頻率最高的熱門詞語之一。短短几年間,雲計算已經從一個概念漸漸形成產品融入我們的日常生活中,讓人不得不感慨這一波雲計算浪潮的來勢兇猛。OpenStack在過去一段時間以及可預測的未來一段時間,都會是雲計算領域和開源世界的熱門話題,引起全球IT界的廣泛關注。在2012年的第四屆中國雲計算大會上,OpenStack技術的分會場被觀眾擠爆,可見其火熱程度。這從一個側面印證人們對雲計算與OpenStack的熱情。
作為國內早期研發和實施雲計算項目的探路者,我們一直對業界雲計算的解決方案保持敏銳的嗅覺。OpenStack是基礎設施即服務(IaaS)的雲計算解決方案,以它的完全開源性而得到眾多國際大廠的支持,並引起國內業界的關注,國內OpenStack的研究熱潮漸起,但更多的還是在摸索階段。在過去幾年的雲計算研發和實施中,我們積累了大量的一線經驗,在此將這些內容分享出來,願為中國雲計算的發展盡綿薄之力。
讀者在剛接觸OpenStack時碰到的疑惑我們大多已經歷過。通過本書,我們希望能幫助大家少走彎路,快速掌握OpenStack的精髓,快速掌握OpenStack的架構理念,快速部署雲計算管理軟體演示環境,零距離體驗OpenStack的魅力。同時也為OpenStack開源社區貢獻我們的一份力量。
本書特點
本書深入剖析OpenStack架構的設計理念及具體實現,並結合了雲計算管理平台建設理論,讓讀者知其然並知其所以然。
全書在組織形式上,採用簡明的語句,段落簡潔,配以大量的圖表及部分核心代碼,形象地表述出技術套用原理。“百行不如一個表、十表不如一個圖”,這是IT研發行業里非常流行的一句話,也是我們寫作遵循的一個重要原則。
書中穿插了筆者團隊積累的一些經驗,特別是在套用篇,分享了在不同場景下雲計算落地的建設實踐案例。這些案例也是在業界相對少見且比較全面的解決方案。
本書適合IT首席技術官、雲計算研發和運維等相關人員閱讀。
本書講了什麼
本書的主要從雲計算概念、架構、實現,以及套用的層面剖析雲計算及OpenStack技術。全書重點分析了彈性雲計算Nova,而雲存儲Swift將由本書姊妹篇繼續深入分析。本書共分為5篇。
Part I概念篇
第1章
雲計算概述 雲計算的概念、發展現狀,主流的解決方案包括商用解決方案、開源解決方案分析
第2章
OpenStack安裝體驗及入門 OpenStack演示環境的安裝主要包括了快速體驗安裝、腳本安裝、手動安裝和自動安裝幾種方式,讓讀者快速、感性體驗OpenStack
Part II架構篇
第3章
系統架構 分析雲計算的整體系統架構,主流商用軟體的實現架構,OpenStack的整體架構,以及虛擬機Nova架構
第4章
功能剖析 分析OpenStack虛擬機功能架構,詳細分析了計算、存儲、網路資源池的架構設計
Part III實現篇
第5章
計算資源池實現剖析 彈性雲計算資源池的實現機制包括數據模型、邏輯模型,以及核心代碼剖析
第6章
存儲資源池實現剖析 雲計算存儲資源池的實現機制,包括數據模型、邏輯模型,以及核心代碼剖析
第7章
網路資源池實現剖析 雲計算網路資源池的實現機制,包括數據模型、邏輯模型,以及核心代碼剖析
第8章
Glance鏡像管理 鏡像庫功能架構、數據模型實現機制,如何製作鏡像,創建鏡像的實現機制剖析等
第9章
Horizon前端界面實現剖析 前端界面展現dashboard的代碼結構和核心代碼分析
第10章
Keystone認證管理 用戶許可權認證控制,分散式認證鑒權
Part IV套用篇
第11章
私有雲平台建設 如何基於OpenStack構建私有雲,適用場景、建設方案,以及運維方面的問題。就其高可用性、監控等一系列問題進行剖析
第12章
公有雲平台建設 如何基於OpenStack構建公有雲,適用場景、建設方案以及待解決的問題。小規模套用和大規模跨數據中心建設方案剖析
如何進一步互動
在編寫本書時參考的OpenStack版本為Essex和Folsom,由於OpenStack雲計算的相關技術正處在日新月異的發展中,加之作者水平有限,書中難免存在值得商榷之處,懇請讀者批評指正。我們將密切關注OpenStack以及相關雲計算技術的發展,吸收您的意見,適時編撰本書的升級版本。

相關詞條

相關搜尋

熱門詞條

聯絡我們