Cloudstack入門指南

Cloudstack入門指南

《Cloudstack入門指南》是2014年9月電子工業出版社出版的圖書,作者是中國Cloudstack 社區編寫小組。

內容簡介

《Cloudstack入門指南》是國內第一本系統介紹CloudStack 的專業書籍。

《Cloudstack入門指南》從歷史發展、架構設計、安裝配置、基本功能、開發入門等角度對CloudStack 進行了全面的介紹。作為雲計算IaaS 平台,儘管CloudStack 的安裝非常簡單,但其規劃和安裝對保證CloudStack系統穩定運行而言至關重要,很多用戶正是在此部分遇到了大量問題,所以本書在安裝部分下了較大筆墨,規劃了一個簡單、通用的場景,並對實際配置過程進行了詳細介紹。

《Cloudstack入門指南》以深入淺出的方式介紹了CloudStack,能夠為計畫使用IaaS 將現有IT 設施遷移到雲上的公司、數據中心及系統集成行業的相關人員進行系統選型和對比提供幫助。對於那些對CloudStack 沒有深入了解及在安裝和使用上遇到困難的技術工程師、售前及售後支持工程師、學生等人員,《Cloudstack入門指南》能夠為他們學習正確的CloudStack 的安裝和使用步驟,以及對CloudStack 進行全面、系統的認識提供幫助。

內容提要

《Cloudstack入門指南》是國內第一本系統介紹CloudStack 的專業書籍。

《Cloudstack入門指南》從歷史發展、架構設計、安裝配置、基本功能、開發入門等角度對CloudStack 進行了全面的介紹。作為雲計算IaaS 平台,儘管CloudStack 的安裝非常簡單,但其規劃和安裝對保證CloudStack系統穩定運行而言至關重要,很多用戶正是在此部分遇到了大量問題,所以本書在安裝部分下了較大筆墨,規劃了一個簡單、通用的場景,並對實際配置過程進行了詳細介紹。

《Cloudstack入門指南》以深入淺出的方式介紹了CloudStack,能夠為計畫使用IaaS 將現有IT 設施遷移到雲上的公司、數據中心及系統集成行業的相關人員進行系統選型和對比提供幫助。對於那些對CloudStack 沒有深入了解及在安裝和使用上遇到困難的技術工程師、售前及售後支持工程師、學生等人員,《Cloudstack入門指南》能夠為他們學習正確的CloudStack 的安裝和使用步驟,以及對CloudStack 進行全面、系統的認識提供幫助。

目錄

第1章 CloudStack簡介............................................................................. 1

1.1 CloudStack的歷史與發展...........................................................................................2

1.1.1 CloudStack的歷史...........................................................................................2

1.1.2 CloudStack生態圈...........................................................................................3

1.1.3 CloudStack的路線規劃...................................................................................4

1.2 如何加入CloudStack社區...........................................................................................5

1.2.1 CloudStack社區有哪些資源...........................................................................5

1.2.2 如何使用郵件列表.........................................................................................6

1.2.3 如何成為Commitor......................................................................................10

1.2.4 使用Transifex翻譯Apache CloudStack文檔..................................................12

1.2.5 小結...............................................................................................................19

1.3 CloudStack中國用戶組.............................................................................................20

1.4 Apache基金會與Apache 2.0協定..............................................................................22

第2章 CloudStack架構........................................................................... 31

2.1 CloudStack的功能與特點.........................................................................................32

2.2 CloudStack系統的主要組成部分.............................................................................36

2.3 CloudStack的架構.....................................................................................................44

第3章 CloudStack的網路功能............................................................... 49

3.1 網路即服務...............................................................................................................50

3.2 網路類型...................................................................................................................51

3.2.1 公共網路.......................................................................................................51

3.2.2 來賓網路.......................................................................................................52

3.2.3 管理網路.......................................................................................................52

3.2.4 存儲網路.......................................................................................................52

3.2.5 本地鏈路網路...............................................................................................53

3.3 虛擬路由器...............................................................................................................53

3.4 基礎網路...................................................................................................................55

3.4.1 基礎網路概述...............................................................................................55

3.4.2 安全組...........................................................................................................55

3.4.3 參考架構.......................................................................................................58

3.5 高級網路...................................................................................................................59

3.5.1 高級網路概述...............................................................................................59

3.5.2 高級網路服務...............................................................................................60

3.5.3 參考架構.......................................................................................................63

3.5.4 共享型來賓網路...........................................................................................64

3.5.5 VPC簡介.......................................................................................................66

第4章 CloudStack的安裝與配置........................................................... 71

4.1 CloudStack系統的安裝與規劃.................................................................................72

4.1.1 基本網路架構的配置信息............................................................................72

4.1.2 高級網路架構的配置信息............................................................................75

4.1.3 交換機的規劃與配置...................................................................................78

4.1.4 安裝時需要的其他信息................................................................................80

4.2 CloudStack管理節點的安裝.....................................................................................80

4.2.1 CentOS下管理節點的安裝方法...................................................................81

4.2.2 Ubuntu下管理節點的安裝......................................................................... 102

4.2.3 檢查並設定全局變數參數.......................................................................... 114

4.2.4 小結.............................................................................................................119

4.3 配置存儲節點.........................................................................................................119

4.3.1 作業系統的配置.........................................................................................120

4.3.2 安裝和配置NFS服務..................................................................................126

4.3.3 上傳系統虛擬機模板.................................................................................130

4.4 安裝和配置XenServer計算節點............................................................................. 131

4.4.1 XenServer計算節點的安裝與配置............................................................. 132

4.4.2 安裝支持CloudStack的軟體包................................................................... 137

4.4.3 申請及激活XenServer許可證..................................................................... 138

4.4.4 小結.............................................................................................................140

4.5 安裝和配置KVM計算節點.................................................................................... 140

4.5.1 安裝KVM前的準備工作............................................................................141

4.5.2 CentOS下KVM的安裝和配置方法............................................................ 142

4.5.3 在Ubuntu環境下安裝和配置KVM............................................................ 160

4.5.4 小結.............................................................................................................166

4.6 安裝和配置vSphere計算節點................................................................................. 166

4.6.1 安裝vSphere套件........................................................................................167

4.6.2 配置ESXi網路.............................................................................................168

4.6.3 在vCenter中創建數據中心和群集............................................................. 173

4.6.4 小結.............................................................................................................176

第5章 CloudStack區域的創建與配置................................................. 177

5.1 創建區域的規劃 .................................................................................................... 178

5.2 基本網路區域的創建............................................................................................. 180

5.2.1 登錄CloudStack管理平台........................................................................... 181

5.2.2 創建基本網路區域.....................................................................................182

5.3 高級網路區域的創建............................................................................................. 198

5.3.1 登錄CloudStack管理平台........................................................................... 198

5.3.2 創建高級網路區域.....................................................................................200

5.4 系統運行的初步檢查及常見問題排查.................................................................. 220

5.4.1 檢查物理資源.............................................................................................220

5.4.2 檢查系統虛擬機.........................................................................................225

5.4.3 創建一個客戶虛擬機.................................................................................229

5.5 物理資源的進一步管理......................................................................................... 229

5.5.1 添加物理資源.............................................................................................230

5.5.2 刪除物理資源.............................................................................................242

5.6 快速重新搭建CloudStack系統............................................................................... 252

5.7 系統升級................................................................................................................. 254

5.7.1 準備工作.....................................................................................................255

5.7.2 升級CloudStack系統...................................................................................257

5.7.3 不同版本之間的升級.................................................................................263

5.7.4 小結.............................................................................................................263

第6章 CloudStack的基本使用............................................................. 265

6.1 ISO和模板檔案的管理........................................................................................... 266

6.1.1 查看模板.....................................................................................................267

6.1.2 註冊ISO和模板檔案...................................................................................267

6.1.3 創建模板.....................................................................................................276

6.1.4 編輯模板.....................................................................................................277

6.1.5 下載模板.....................................................................................................278

6.1.6 複製模板.....................................................................................................278

6.1.7 刪除模板.....................................................................................................279

6.1.8 重置密碼.....................................................................................................280

6.2 虛擬機實例的基本使用......................................................................................... 282

6.2.1 虛擬機實例生命周期管理.......................................................................... 282

6.2.2 虛擬機實例的動態遷移..............................................................................297

6.2.3 使用控制台訪問虛擬機實例...................................................................... 300

6.3 虛擬機實例的訪問控制......................................................................................... 303

6.3.1 安全組.........................................................................................................303

6.3.2 高級網路功能.............................................................................................312

6.4 虛擬機磁碟與快照管理......................................................................................... 338

6.4.1 添加數據卷.................................................................................................339

6.4.2 上傳卷.........................................................................................................340

6.4.3 附加磁碟.....................................................................................................342

6.4.4 取消附加磁碟.............................................................................................344

6.4.5 下載卷.........................................................................................................346

6.4.6 遷移數據卷.................................................................................................347

6.4.7 刪除數據卷.................................................................................................347

6.4.8 快照的創建與恢復.....................................................................................348

6.5 服務方案的管理..................................................................................................... 355

6.5.1 計算方案.....................................................................................................356

6.5.2 系統方案.....................................................................................................359

6.5.3 磁碟方案.....................................................................................................361

6.5.4 網路方案.....................................................................................................362

6.6 域及賬戶的管理..................................................................................................... 366

6.6.1 域及賬戶的概念.........................................................................................366

6.6.2 域及用戶的管理.........................................................................................368

6.6.3 普通用戶登錄CloudStack........................................................................... 379

6.6.4 小結.............................................................................................................381

6.7 項目的使用............................................................................................................. 381

6.7.1 創建項目.....................................................................................................382

6.7.2 管理項目.....................................................................................................385

6.7.3 邀請設定.....................................................................................................389

6.7.4 移除項目成員.............................................................................................391

6.7.5 項目的管理.................................................................................................392

6.7.6 小結.............................................................................................................393

第7章 CloudStack開發者入門............................................................. 395

7.1 獲取代碼並選擇版本............................................................................................. 396

7.2 CloudStack Linux開發環境的安裝......................................................................... 397

7.2.1 安裝相關依賴軟體.....................................................................................398

7.2.2 安裝Maven..................................................................................................398

7.2.3 安裝Ant.......................................................................................................399

7.2.4 安裝Tomcat.................................................................................................400

7.2.5 編譯CloudStack...........................................................................................400

7.2.6 編譯RPM包................................................................................................404

7.2.7 編譯後的RPM包的安裝............................................................................404

7.2.8 如何處理不能上網的問題.......................................................................... 405

7.2.9 CloudStack 4.1編譯簡述.............................................................................406

7.3 CloudStack Windows開發環境的安裝................................................................... 408

7.3.1 安裝Cygwin................................................................................................409

7.3.2 安裝JDK......................................................................................................412

7.3.3 安裝Python 2.7............................................................................................413

7.3.4 安裝Tomcat 6.0.33......................................................................................413

7.3.5 安裝MySQL................................................................................................413

7.3.6 為MySQL安裝Python connector ............................................................... 414

7.3.7 安裝Ant.......................................................................................................414

7.3.8 安裝Maven 3.0............................................................................................414

7.3.9 安裝mkisofs.................................................................................................415

7.3.10 下載CloudStack-OSS原始碼.................................................................... 415

7.3.11 生成SSH Key.............................................................................................416

7.3.12 配置CloudStack資料庫.............................................................................416

7.3.13 編譯CloudStack.........................................................................................416

7.4 使用Eclipse遠程調試CloudStack............................................................................ 417

7.4.1 安裝Eclipse..................................................................................................417

7.4.2 導入CloudStack原始碼到Eclipse................................................................ 419

7.4.3 在Eclipse中遠程調試CloudStack代碼......................................................... 421

7.5 代碼分析入門.........................................................................................................427

7.6 CloudStack的API開發............................................................................................. 431

7.6.1 CloudStack的賬戶管理...............................................................................431

7.6.2 CloudStack中的API伺服器......................................................................... 431

7.6.3 準備知識.....................................................................................................432

7.6.4 生成API請求...............................................................................................432

7.6.5 CloudStack的API調用的認證方式............................................................. 433

7.6.6 API調用實例...............................................................................................434

7.6.7 API回響......................................................................................................437

7.6.8 異步API......................................................................................................439

精彩節摘

從2008年創建Cloud.com的前身VMOps並致力開發CloudStack,到現在已經快6年了。

在這6年中,以亞馬遜AWS為代表的基礎設施公有雲的飛速發展有目共睹。在這樣的大環境下,出現了數十種雲平台軟體。CloudStack並不是最早的基礎設施雲平台軟體,其成功取決於如下因素:CloudStack早年面向運營商,積累了大量大規模部署的案例和經驗;CloudStack屬於最權威的開源組織Apache基金會,受到了研發人員和用戶的真正推崇;CloudStack擁有最熱忱的研發和用戶社區。

一個開源項目的成功不能只靠少量廠商和核心研發人員,而本書的作者就是熱衷於CloudStack技術的社區成員。我相信,這本書不僅能傳播雲計算技術,更能讓CloudStack社區在中國運作得更好,從而進一步推動CloudStack在全球的發展。

雲計算作為IT行業變革的產物才剛剛起步。CloudStack的發展是一個不斷套用、不斷學習、不斷改進的過程。隨著對CloudStack理解的加深,我們會意識到CloudStack還有許多地方有待改進。大規模雲平台的運作是否可以變得更簡單?小規模研發雲設施的步驟是否可以變得更簡捷?在數據中心的設備出現故障時,雲平台是否可以不受影響?如何配置雲平台才能讓基礎設施性能最高、價格最低?讀完這本書後,希望讀者能進一步實踐,並思考這些問題。更希望讀者能加入CloudStack社區,和社區中的朋友們一起討論,一起學習。這是開源軟體和開源社區的最大好處:只要你願意發問,你不僅可以知其然,更可以知其所以然。

我從CloudStack軟體和CloudStack社區學到了很多有價值的實踐知識,相信你也一定會有收穫。

Citrix Cloudplatform Group CTO 梁 勝

2014年7月8日

作者簡介

劉宇超

CloudStack中國社區管理員之一,社區技術沙龍活動的主要組織者之一,本書的主要組織者和作者。對CloudStack有多年研究經驗,曾幫助多家企業實現CloudStack在公有雲或私有雲項目中落地,目前在Citrix任雲平台諮詢顧問一職。

李學輝

CloudStack中國社區創辦者,Apache CloudStack Committor,天雲趨勢高級技術經理。

擁有3年嵌入式開發經驗,4年安全軟體開發經驗,以及4年的雲計算開發經驗。目前主要負責CloudStack的技術顧問及CloudStack在中國的推廣套用工作。

白清傑

CloudStack中國社區管理員之一。原北京GNOME用戶組負責人,喀納斯兒童Linux發行版作者,曾在亞信聯創負責作業系統集成工作。2012年8月創建北京開源願景信息技術有限公司,從事雲計算相關業務。

曹偉

中國航信運行中心高級方案工程師,中國航信TravelCloud雲計算解決方案產品經理兼技術架構負責人。多年來專注於虛擬化技術及雲計算產品的研究與推廣,擁有豐富的雲計算項目實施經驗,對雲計算市場的觀察與理解非常深入。

譚運華

資深Java開發工程師,架構師,對軟體設計開發有深入的理解和豐富的經驗。專欄部落格為眾多CloudStack新手提供了很多解決問題的思路,得到了許多開發者的支持,分享的與CloudStack代碼分析入門和API調用相關的知識,為許多開發者提供了幫助。

魏偉

曾任職於中國電信股份有限公司上海研究院。主要研究方向包括雲資源能力開發、雲資源彈性擴展和雲資源跨平台遷移等的技術調研和業務模型設計。擁有6年的編程經驗,對CloudStack與VMware vSphere平台的部署和運維有一定的研究。

王磊

供職於大連新橋科技發展有限公司。擁有多年C、C++、C#開發經驗,愛好讀書、攝影。目前熱衷於CloudStack的套用和研究,專注於開源和虛擬化技術,以及敏捷項目管理實踐和團隊管理。

楊康泉

原神州數碼系統工程師,擁有10年基於UNIX、Linux、Oracle、Cisco平台的信息系統和網路規劃設計、實施及運維工作經驗,參與過多個大型項目的規劃設計與實施工作。2009年起就職於遠光軟體,從事虛擬化、雲計算、企業信息化方面的規劃和管理工作。

袁帥

5年以上Java開發工作經驗。目前從事雲計算平台的二次開發和部署工作,就職於江蘇眾瀛聯合數據有限公司。

馬營

供職於蘇州唐人數碼科技有限公司,現任運維工程師。熱愛開源,對各類網際網路技術都抱有濃厚興趣,IT“宅男”。

前言

雲計算是一個被熱炒多年但仍然熱門的詞,是一個大家張口閉口都在說但大部分人仍然雲裡霧裡的詞。IaaS(Infrastructure-as-a-Service)、PaaS(Platform-as-a-Service)、SaaS(Software-as-a-Service)的概念被提出後,各種各樣的“aaS”也相繼被提出,使雲計算變得更讓人摸不著頭腦。但就是這樣一個看似玄虛的詞,正在我們未曾關注的地方發生著深刻的變化,真真切切地改變著我們的工作和生活。

在4年前,作為一個只知道名詞而不知道何為雲計算的小“菜鳥”,我義無反顧地投身於這個大潮中,Open Xen、桉樹平台(Eucalyptus)及Ceph的整合讓我形成了對IaaS平台認識的啟蒙。那個階段,在學習過程中,我想:如果做這樣的東西就算是做IaaS平台的話,會不會對不起“IaaS”這么玄虛的字眼?很快,公司決定改變發展方向,直接使用CloudStack

作為IaaS平台。

初一上手,CloudStack原有的商業產品基因、簡單易用的安裝和操作及美觀易懂的界面就深深吸引了我。雖說那時的我也和正在讀這本書的各位朋友一樣,在安裝和使用中遇到了各種問題,但其實這些都不是CloudStack的錯,錯在我們對使用一個IaaS平台的技術儲備不足。在學習和使用CloudStack的過程中,我翻閱各種相關資料,向其他高手請教,學著分析日誌——通過不同項目的實踐,終於對CloudStack有了比較全面的認識。但至今,在工作中,我仍然感覺自己對這個平台所包含的技術及知識的了解尚淺,我仍然需要不斷學習。

作為一個IaaS平台,CloudStack不再是一個簡單的單機軟體,而是為了管理超大規模的硬體設備而生的。它兼容各種虛擬化管理軟體(Hypervisor),支持各種存儲類型,通過軟體及虛擬機實現了很多網路功能,儘可能將流程自動化並對用戶提供服務。所以,要想玩轉CloudStack,需要積累相當全面的背景知識,主要包括以下部分。

●了解Linux作業系統的配置,才能正確安裝CloudStack軟體。

●CloudStack可以安裝在KVM、VMware、XenServer及硬體伺服器上,未來還會對Hyper-V、LXC等更多的虛擬化技術提供支持,這就要求我們要對每種虛擬化管理軟體的使用有一定的了解。

●CloudStack是一個基礎設施的管理平台,對硬體設備(包括伺服器、存儲和網路設備)的使用和管理有一定的要求。在規劃和運維一套大型雲平台系統時,硬體設備的參數往往會對整個系統的性能起著相當重要的影響。

●在運維CloudStack系統時,與網路相關的知識最為重要。IaaS管理平台不再是單機軟體,也就意味著它對物理設備有大量需求。虛擬設備都需要通過網路進行連線,而生產業務上的各種功能需求大部分也都是通過網路上的設計來實現的。所以,一個好的網路設計起著事半功倍的效果,可以更好地保證系統運行的穩定性及應對未來變化的擴展性。

●系統運維能力,以及系統出現問題後解決問題的能力,也都成為運維CloudStack系統所必需的技能。

在剛剛接觸CloudStack的時候,我們往往不會具備這么全面的知識,但這並不可怕。多在網上查找相關資料,多在社區里請教高手,多在郵件組裡查找別人提出的問題及解決方案或者自行提問,都是非常好的學習方式。

本書內容

本書基於CloudStack 4.0.2版本編寫,這是目前比較穩定的、擁有廣大用戶基礎的一個版本,它出現的錯誤較少,適合新入門的朋友學習。希望藉由我們的經驗,通過深入淺出的介紹,帶領各位新手入門。

●第1章對CloudStack的來龍去脈,以及CloudStack社區進行了相關介紹,包括如何更好地使用CloudStack社區的寶貴知識財富、Apache的許可證對CloudStack的使用有哪些界定等。

●第2章介紹了CloudStack的基本架構,以幫助讀者對CloudStack形成整體認識。

●第3章介紹了CloudStack的網路架構,理解此部分,對實際規劃系統有很大的幫助。

●第4章和第5章是本書的重點,通過介紹一個簡單、通用的CloudStack環境的規劃及安裝配置,幫助讀者學習如何安裝一套CloudStack系統並管理不同的虛擬化管理軟體。

建議讀者在學習過程中嚴格按照步驟及規划進行操作和配置,從而儘可能保證系統的正常運行。我們的實踐經驗是:在一開始對CloudStack並不了解的時候,不嚴格按照步驟進行操作最容易出現問題。所以,在成功安裝一套可以正常運行的CloudStack系統後,才能更好地理解CloudStack,並且能獲得一定的成就感和信心。此後,再通過自己的理解去規劃和安裝自己想要的CloudStack系統,就會對CloudStack有更全面的了解。

● 第6章介紹了CloudStack的各項基本功能,包括虛擬機的生命周期管理、如何上傳模板及ISO檔案、虛擬機實例的訪問方式、磁碟卷和快照的管理、服務方案的管理、域和賬戶的管理、項目功能的使用。因為本書定位為入門級,所以就不介紹更多的高級功能了。

● 第7章介紹了CloudStack開發的相關入門知識,包括如何獲取代碼、如何編譯和調試代碼等,並對API進行了簡單的介紹。

致謝

本書能夠完成,離不開本書各位作者的努力。在此感謝共同編寫本書的各位作者:

劉宇超、李學輝、白清傑、魏偉、曹偉、王磊、楊康泉、譚運華、袁帥、馬營,也感謝梁順斌、王耀峰為本書做出的貢獻。雖然這些作者都是第一次寫書,但還是盡最大努力將CloudStack的相關知識及經驗介紹給各位讀者。

另外,還要感謝各位作者的家人。沒有他們的大力支持,我們是不可能在業餘時間安心地花費大量時間寫作本書的。

感謝支持本書的各位讀者,希望書中的內容可以幫助大家更好地理解和使用CloudStack。本書在編寫過程中難免會有疏漏和錯誤之處,歡迎大家批評、指正。

中國CloudStack社區編寫小組

2014年7月1日

相關詞條

相關搜尋

熱門詞條

聯絡我們