前言
雲端運算是一個被熱炒多年但仍然熱門的詞,是一個大家都在說但大部分人仍然雲裡霧裡的詞。IaaS(Infrastructure-as-a-Service)、PaaS(Platform-as-a-Service)、SaaS(Software-as-a-Service)的概念被提出後,各種各樣的“XaaS”也相繼被提出,使雲端運算變得更讓人摸不著頭緒。但就是這樣一個看似玄虛的詞,正在我們未曾關注的地方發生著深刻的變化,真真切切地改變著我們的工作和生活。
在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 的時候,我們常常不會具備這麼全面的知識,但這並不可怕。多上網尋找相關資料、在社區裡請教高手、在郵件組裡尋找別人提出的問題及解決方案或自行提問,都是非常好的學習方式。
☘ 本書內容
■ 第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。
本書在撰寫過程中難免會有疏漏和錯誤之處,歡迎大家批評、指正。
中國CloudStack 社區撰寫團隊