近些年來,云計算是非常熱門的話題和技術,IT的各個領域都在發生著深刻的變化。伴隨著云計算技術的逐步發展,有關新技術日新月異,層出不窮。作為云計算的倡導者和實踐者,在這場云計算的大潮中,IBM扮演著非常重要的角色。在許多企業的基礎架構中,IBM的Power System運行著企業的核心業務,是非常重要的組成部分。如何把Power System集成到企業的云計算平臺中,這是很多企業云平臺的建設者們需要考慮和面對的問題。 PowerVC是IBM適應云計算發展的需求而新發布的管理Power System的策略性管理平臺。該平臺的推出,對于如何把Power System集成到企業的云計算平臺中有重要意義。本系列文章正是基于這樣的實際需求,結合自身的實際經驗,探討與分析如何基于IBM PowerVC構建企業云計算平臺,總結在利用IBM PowerVC進行云平臺建設方面的實戰經驗,系列文章主要包括了如下幾個方面的內容。
關于本系列:本系列基于PowerVC 最新版本PowerVC Standard Edition 1.2.1 (管理PowerVM) 講解如何實現虛擬化環境的自動化管理,對于開發人員,系統管理員,系統測試人員和運維人員有所幫助。
本系列涉及以下生命周期:
基于IBM PowerVC 構建企業云平臺概覽(Overview)
基于PowerVC API的虛擬服務器生命周期管理
基于PowerVC API的主機和鏡像管理
基于PowerVC API的存儲管理
基于PowerVC API的網絡管理
基于PowerVC構建企業云平臺經驗總結
本文是系列文章的第一部分:基于PowerVC構建企業云平臺總體概覽,主要包括以下內容:
目前把Power System集成到企業云計算平臺面臨的挑戰
IBM PowerVC介紹
基于IBM PowerVC的云計算平臺規劃
IBM PowerVC API簡要介紹
總結
1. 目前把Power System集成到企業云計算平臺面臨的挑戰
隨著IT產業的蓬勃發展,企業信息化的建設的持續進行,UNIX小型機的部署在世界各國的企業中普遍存在。IBM Power System憑借其卓越的產品性能,及其穩定性、可靠性和安全性,其市場占有率在傳統的UNIX小型機三強(IBM Power System、HP PA-RISC、Oracle SPARC)中,占據壓倒性優勢。然而,隨著云計算的快速發展,如何把企業中的Power System集成到云計算平臺中,是企業的云計算平臺建設者們需要面對和考慮的問題。
在絕大多數企業的基礎設施中,比較典型的情況是,核心系統用的是基于UNIX操作系統的小型機(當然,部分高端企業用戶的核心業務系統采用的是大型機),外圍和非關鍵業務系統采用的是基于X86結構的服務器。目前,云計算有關技術在快速發展中。相對而言,基于X86平臺云計算技術發展得較快、較為成熟,而基于傳統的UNIX小型機的云計算技術發展較慢。
對于HP 和Oracle這兩個公司的小型機上的有關的虛擬化和云計算技術,讀者可以參考這兩家公司的有關文檔資料,這不是本系列文章所討論的范圍。對于IBM公司的Power System,在推出PowerVC之前,主要是通過IBM System Director(簡稱IBM SD)對Power System進行虛擬化管理并把它集成到企業的云計算平臺中。但是,由于IBM System Director的設計理念和目的主要是滿足基本的虛擬化管理和日常系統管理要求,不是為了滿足云計算平臺的需求而設計的。因此,在把Power System集成到企業的云計算平臺時,會遇到很多困難和不便之處。
2. IBM PowerVC介紹
隨著云計算技術的發展,特別是OpenStack開放云平臺技術的不斷發展,IBM考慮到了企業在把Power System集成到云計算平臺時所遇到的問題,以及以前有關Power System云平臺技術的局限性,推出了新一代基于OpenStack、面向云計算而設計的管理平臺PowerVC。OpenStack 是由 Rackspace 和 NASA 共同開發的云計算平臺,幫助服務商和企業內部實現類似于 Amazon EC2 和 S3 的云基礎架構服務(Infrastructure as a Service, IaaS)。 圖1是PowerVC的抽象體系架構,它是建立在OpenStack開放平臺的基礎之上。
▲圖1 IBM PowerVC體系架構
其中淺藍色部分為IBM增加的功能組件。PowerVC利用了IBM企業網格協調器(Enterprise Grid Orchestrator,EGO)的一些功能,同時在標準OpenStack的基礎上進行了擴展,增強了安全性、智能虛擬資源部署以及其它在企業云計算平臺上要求的高級的、基于策略的特性。IBM企業網格協調器是一個開放的、可擴展的架構,支持基于策略的管理,如預訂、能源敏感、超額認購,以及用戶定義政策。同時,對標準OpenStack API進行了擴展;增加了監控(Monitoring)管理功能;并根據Power System的功能特點,增加了一些新的管理功能,例如動態邏輯分區(DLPAR)的管理、更細粒度的虛擬機管理、虛擬化輸入輸出(I/O)管理,以及開放虛擬化鏡像格式(OVF)管理。通過簡潔而直觀的界面設計,與IBM PowerVM虛擬化技術深度集成,PowerVC簡化了對Power System有關計算資源的管理,對云計算平臺所需要的資源進行了抽象,可以歸納為計算資源、存儲資源和網絡資源。
[page]
1.1. PowerVC定位
根據業界有關權威機構提供的數據,大部分的IT預算都是花在有關IT系統的運行和維護上。也就是說,IT系統的運行和維護的成本是比較高的。如何降低IT系統的運行和維護的成本,讓IT有關人員能夠解放出來去進行業務或其它創新,是世界上所有IT管理部門都面臨和希望解決的問題。IBM正是考慮到這樣的用戶需求,為有關Power System系統用戶推出了PowerVC,為他們提供了開箱即用(out of box)的虛擬化管理平臺,有利于把企業中有關Power System集成到云計算平臺中。
PowerVC是在PowerVM有關虛擬化技術的基礎之上,為Power System系統用戶提供了一個理想的虛級化和自動化管理平臺,主要體現在以下四個方面,(1)與Power System深度集成;(2)基于開放標準;(3)對服務器、存儲和網絡進行統一管理;(4)對Power System提供單元化基礎設施即服務(Infrastructure as a Service)。
通過PowerVC,可以把Power System以兼容開放標準OpenSatck的方式集成到企業的云計算平臺中。在PowerVC環境中,有兩種方式可以訪問被管理的Power System,(1)通過PowerVC的圖形畫面進行訪問管理,這主要是為系統管理員而設計的;(2)通過PowerVC提供的API進行訪問和管理,這主要為構建云計算平臺或自動化管理工具軟件而設計的。
從IBM為Power System系統用戶提供的解決方案來說,PowerVC位于硬件管理控制臺HMC和基礎設施智慧云(SmartCloud? Infrastructure as a Service)之間。PowerVC的定位是非常明確的,它主要是為用戶簡化對Power System的管理,降低運營維護成本,提升自動化管理水平,提高資源使用率與靈活性。表1具體說明了SmartCloud、PowerVC和HMC之間的功能特點與定位區別。
▲表1 SmartCloud、PowerVC和HMC對比
1.1. PowerVC版本介紹
IBM根據PowerVC的定位及功能特點,推出了兩個版本:(1)易捷版PowerVC Express Edition;(2)標準本PowerVC Standard Edition。目前,PowerVC的最新版本是1.2.1。PowerVC版本1.2.1與版本1.2.0相比,主要是增加了對Power8、PowerKVM和共享存儲池SSP(Shared Storage pool)的支持。
易捷版PowerVC主要是滿足小規模的Power System環境需求,配套的管理工具只能是集成虛擬管理器IVM (Integrated Virtualization Manager),在一臺Power服務器上只支持一個虛擬輸入輸出服務器(Virtual I/O Server)。標準本PowerVC主要是滿足中、大規模的Power System環境需求,配套的管理工具只能是硬件管理程序管理HMC,同時支持兩個超級管理程序hypervisor:PowerVM和PowerKVM,對存儲的訪問支持虛擬光纖端口NPIV和共享存儲池SSP(Shared Storage pool)。兩個PowerVC版本之間的區別參見下面的表2。
▲表2 PowerVC版本比較
受管主機應該至少有4個核心和8 GB 內存。此外,所有使用 SAN 存儲器的主機都需要具有適合于連接至 SAN 交換機的光纖通道卡。
PowerVC不允許從同一個工作站管理由集成虛擬管理器IVM和硬件管理程序管理HMC混合管理的Power System環境。也就是說,由集成虛擬管理器IVM管理的Power系統和由硬件管理程序管理HMC管理的Power系統不能被同一個PowerVC管理。
1. 基于IBM PowerVC的云計算平臺規劃
對基于PowerVC的云計算平臺進行規劃,主要包括以下幾部分內容:(1)PowerVC版本選擇及軟硬件規劃;(2)主機和分區管理規劃;(3)部署策略和模板規劃;(4)PowerVC存儲訪問SAN規劃;(5)存儲管理規劃;(6)網絡管理規劃;(7)安全管理規劃。
PowerVC版本選擇及軟硬件規劃
根據PowerVC兩個版本的功能特點和適用范圍,我們在對云計算的規劃與設計時,需要做出選擇。結合我們的實際情況,我們選擇了PowerVC標準版為基礎構建我們云計算平臺,本文及后續系列文章將會以這個環境為基礎進行有關描述。表3具體說明了PowerVC 管理主機硬件和操作系統要求。在我們的環境中,我們選擇了把PowerVC標準版安裝在一臺System x上。
▲ 表3 PowerVC 管理主機硬件和操作系統要求
▲表4 System x 主機上 PowerVC 虛擬機的最低資源需求
[page]
主機和分區管理規劃
當我們為被PowerVC所管理的主機進行規劃時,需要考慮能一個PowerVC所能管理主機數量和虛擬機VM的數量,HMC的配置,以及輸入輸出服務器(VIO Server)的規劃。如果計劃使用VM的動態遷移特性,則有關主機上邏輯內存訪問塊的大小必須保證一樣。
目前,PowerVC標準版最多支持10臺Power System服務器,每臺服務器上最多支持125個邏輯分區(VM),總共最多支持1000個邏輯分區(VM)。
需要注意的是,在典型的高級配置中,通常配置了冗余的HMC。但是,目前PowerVC標準版只支持單HMC的配置。
對于輸入輸出服務器(VIO Server)的規劃,為了增強輸入輸出服務的可用性,通常建議配置冗余的輸入輸出服務器(VIO Server),這兩個輸入輸出服務器(VIO Server)之間配置為冗余模式。當然,讀者可以根據自己的實際情況進行靈活選擇。例如,在開發測試環境中,采用單輸入輸出服務器就是已經足夠。在我們的開發測試環境中,我們選擇的就是單輸入輸出服務器。如表5所示,列出了受支持的主機硬件和操作系統。
▲表5 PowerVC 支持的主機硬件和操作系統
PowerVC標準版需要硬件管理控制臺HMC的支持,如表6所示,列出了對HMC的需求。
▲表6 HMC要求
在基于PowerVC的云計算平臺中,依賴于PowerVM有關虛擬化技術,其中虛擬輸入輸出服務器(VIOS)是非常關鍵的組件,對它也有明確的要求。如表7所示,列出了對VIOS的需求。
▲表7 VIOS要求
部署策略和模板規劃
PowerVC其中一個目標是簡化對虛擬機和存儲的管理,通過自動化的創建分區和存儲虛擬盤,并且自動的布置分區到主機系統。這種自動化的部署方式取代了以前的手工步驟,從而達到簡化管理的目的。這個自動化是通過部署模板和部署策略來執行的。
當通過PowerVC創建一個邏輯分區(VM)的時候,可以告訴PowerVC在某個特定的主機服務器上創建,也可以基于某個業務策略讓PowerVC自己去發現一臺它認為最合適的主機服務器,然后在這臺服務器上創建。PowerVC 1.2.1提供了兩種部署策略去部署VM:(1)在所有服務器上平均部署;(2)在以臺服務器上部署滿了以后,然后再在下一臺機器上部署。
采用模板進行部署,是目前業界比較流行的方法。采用模板簡化了參數配置管理,便于重復使用。PowerVC提供了一個圖形化界面來管理或客戶化模板。在PowerVC中,存在兩種模板:(1)計算模板,這類模板用于定義內存,處理器單元和硬盤空間;(2)存儲模板,這類模板用于定義存儲的設置,例如,特定的卷的類型、存儲池和存儲提供商。通過使用這些模板去創建邏輯分區(VM),可以加速VM的部署進程。
PowerVC存儲訪問SAN規劃
在PowerVC可以使用SAN及有關存儲之前,必須進行必要的配置。在使用PowerVC之前,需要完成以下步驟:
(1) 光纖網絡的規劃與配置,例如,光纖線的連接,SAN網絡的規劃與配置,以及SAN光纖通路的冗余配置;
(2) 輸入輸出服務器(VIO Server)的配置,NPIV或共享存儲池的配置(vSCSI)(PowerVC標準版);
(3) SAN交換機管理員用戶ID與口令的配置;
(4) 存儲控制器管理員用戶ID與口令的配置;
(5) 手工創建一個虛擬機以便創建第一個映像(Image)PowerVC標準版)。
存儲系統是云計算平臺中的核心硬件組件,在基于PowerVC的云計算平臺中有如下要求,如表8所示。
▲表8 存儲系統要求
[page]
存儲管理規劃
PowerVC對存儲卷進行管理,這些卷可以供VM使用。PowerVC要求通過IP連接到存儲提供商,從而實現對存儲卷的管理。
存儲模板通常用于加速新硬盤的創建,一個存儲模板定義了硬盤的一些屬性。硬盤大小不屬于存儲模板的一個部分。在模板中定義了以下信息:
(1) 存儲模板的名稱;
(2) 存儲提供商;
(3) 在存儲提供商中的存儲池;
(4) 自動化部署(Provisioning)方式:瘦或胖(Thin 或Thick),缺省是胖(Thick)部署方式,如果選擇瘦(Thin)部署方式,則需要配置高級參數配置選項。
網絡管理規劃
一個網絡表示第2層和第3層的一組網絡規范,例如,如何將網絡細分為多個 VLAN。它還提供了有關子網掩碼、網關和其他特征的信息。當部署映像時,選擇要應用于新的虛擬機的一個或多個現有網絡。預先設置網絡可以減少在每次部署時需要輸入的信息量,有助于確保成功進行部署。
選擇的第一個網絡是為主系統提供缺省網關地址的管理網絡,我們可以添加更多網絡以隔離和管理網絡流量。必要時,需要與網絡管理員協商,以收集我們在使用網絡時需要的所有信息。PowerVC支持DHCP和靜態IP地址管理。
我們部署的每個虛擬機都必須具有一個或多個網絡,使用多個網絡使我們能夠分隔信息流。 PowerVM通常使用三種類型的網絡:
(1) 數據網絡:此網絡提供用來發送工作負載信息流的路由。每個虛擬機至少需要一個數據網絡,但是允許存在多個數據網絡;
(2) 管理網絡:此類型的網絡是可選網絡,但是,強烈建議使用此類型的網絡,以便為虛擬機提供更高級別的功能。通過管理網絡可在管理控制臺與客戶機 LPAR 之間建立“遠程監視和控制”(RMC) 連接。若干高級 PowerVC 功能要求管理控制臺與虛擬機之間建立了活動的 RMC 連接。例如,熱遷移和動態分區就要求建立活動的 RMC 連接。虛擬機不需要具有專用管理網絡,但是,具備一個專用管理網絡將會提供這些有利的高級功能;
(3) 動態分區遷移 (LPM) 網絡:此可選網絡提供了將遷移數據從一個主機發送至另一個主機所使用的路由。創建單獨網絡遷移數據可幫助我們控制網絡流量并對其進行優先級劃分。例如,與標準數據或管理信息流相比,我們可為遷移數據指定更高優先級或更低優先級。如果不想對 LPM 使用單獨的網絡,那么可針對其復用現有數據網絡連接或管理網絡連接。
受支持的網絡環境如表9所示。
▲表9 受支持的網絡環境
安全管理規劃
IBM PowerVC提供了支持安全環境的安全服務,主要包括以下內存:
(1) LDAP 支持認證和權限信息(用戶和組);
(2) 配置為 Web 服務器的 Apache HTTPD 對于管理虛擬主機提供了 HTTPS 支持;
(3) 主機、存儲器和交換機的主機密鑰和證書驗證;
(4) 用于對密碼、令牌、審計記錄和其他持久存儲的字符串進行加密和解密的命令;
(5) 審計日志已記錄并且可用。
1. IBM PowerVC API簡要介紹
對基于PowerVC的云計算平臺的規劃完成以后,接下來對本系列文章所用到的API進行分類說明,詳細說明以及具體參數調用,請參見IBM PowerVC信息中心。PowerVC對于管理不同的超級管理程序(Hypervisor)PowerVM和PowerKVM提供了兩套API,都是基于OpenStack開放標準,風格一致,調用方法也一樣,只是在具體參數上有所差別。本系列文章是以管理PowerVM的API為基礎進行相關說明。
OpenStack 軟件具有遵循Apache許可證條款發布的符合業界標準的接口。IBM Power VC接口是 OpenStack API的子集,添加或者擴展了許多接口,以增強與IBM Power平臺相關聯的功能。可以使用多種類型的接口來構建基于 IBM PowerVC 的云計算平臺。我們可以把管理PowerVM的API分為三類:
(1) 受支持的OpenStack API,這些API是OpenStack所提供的API的子集,不進行任何修改即可用于 PowerVC。
(2) 擴展的OpenStack API,這些API是OpenStack所提供的API的子集,但是PowerVC擴展了這些API的功能。
(3) PowerVC API,OpenStack中不存在這些API,只有PowerVC才具有這些API。
IBM Power VC Northbound RESTful API
IBM Power VC API定義為RESTful HTTP 服務。REST 樣式體系結構基于客戶機和服務器??蛻魴C通過嚴格定義的 REST API 向服務器發起請求。服務器將處理請求,然后按期望的格式返回響應。IBM PowerVC API具有高度可移植性,并且具有與 HTTP 協議相關聯的若干優勢。例如:方法、URI、介質類型和響應代碼。PowerVC API的其他有用功能包括:高速緩存、持續連接和內容壓縮。對于Power VC API,需要從以下三個方面進行了解:
(1) PowerVC解決方案提供了IaaS基于REST的服務。也就是說,它在 REST 方案中充當服務器,為應用程序開發者提供實現客戶端時所需要的信息。
(2) PowerVC API 是Northbound API。也就是說,它們將較低級別的詳細信息概念化,以供較高級別的客戶機使用。
(3) 由于PowerVC服務具有基于REST的性質,因此,存在各種各樣的兼容客戶機編程語言和開發平臺。換句話說,如果客戶機實現遵循HTTP基于REST的協議,那么該客戶機與PowerVC兼容。
IBM Power VC服務
許多專門的可互操作服務提供了IBM PowerVC API。每項服務均可從不同的端口號上訪問,且各提供一組 API,用于運行與該服務相關的專用功能。這些服務如下表10所示:
▲表10 PowerVC服務及描述表
PowerVC 服務通過 SSL 代理連接實現在外部可用。Linux 內核防火墻設置會阻塞通過不安全端口進行的訪問。
[page]
受支持的 OpenStack API
受支持的 OpenStack API,是可以按原樣用于IBM PowerVC的OpenStack API。主要包括以下API,如表11中所示。
▲表11 受支持OpenStack API
IBM Power VC API擴展
PowerVC API擴展是由IBM Power VC擴展的 OpenStack API,或者是IBM PowerVC 獨有的 API。主要包括以下API,如12中所示。
▲表12 PowerVC API擴展
在具體項目或解決方案中,讀者可以根據自己的實際情況和需求,選擇相應的API來完成自動化處理或云計算平臺的建設,利用與開放平臺相兼容的技術把企業的Power System集成到云計算平臺中。
1. 總結
本文從Power System用戶在搭建云計算平臺或提高自動化管理維護水平所面臨的挑戰開始描述。隨著技術的不斷發展,特別是開發云計算平臺OpenStack的不斷成熟,IBM順應技術開放的時代潮流,適時推出了新一代、基于開放技術、面向云計算的虛擬化管理平臺PowerVC。根據不同規模用戶的實際需求,推出了兩個不同版本:易捷版和標準版,目的是降低用戶的對Power System運營維護成本,提高對Power System的自動化運營維護管理水平。然后,根據PowerVC的功能特點,結合自身對PowerVC的認識和體會,對整個系列有關文章所基于的系統環境進行了規劃,并對PowerVC的技術限制做了具體說明,希望能對讀者在將來的架構設計時有所裨益。最后,結合自身對PowerVC應用程序接口API的認識和理解,對有關API進行了分類說明。后續有關系列文章基本上是以PowerVC API為中心,逐步介紹如何基于PowerVC建設企業云計算平臺。希望通過本文的介紹和接下來系列文章的介紹,能給讀者在基于PowerVC把Power System集成到企業云計算平臺建設方面提供一些有益參考。
參考資料:
1. OpenStack 的官方社區網站,http://www.openstack.org/
2. IBM,紅皮書,http://www.redbooks.ibm.com/redpieces/abstracts/sg248199.html?Open&pdfbookmark
3. IBM PowerVC信息中心,
http://www-01.ibm.com/support/knowledgecenter/SSXK2N_1.2.1/com.ibm.powervc.standard.help.doc/kc_welcome-standard-supermap.html
4. IBM developerWorks 云計算專區,了解云計算技術的更多信息,http://www.ibm.com/developerworks/cn/cloud/
作者簡介:
王益斌 系統架構師
任職于某大型外資IT企業,從事信息技術服務工作。熟悉IBM System x系列服務器,IBM Power System系列服務器,IBM DS系列存儲器產品,熟悉IBM DB2數據庫,熟悉IBM WAS應用服務器,熟悉IBM ITM監控管理平臺。負責規劃和設計企業云計算平臺。
馮忠旗Cloud軟件開發工程師
任職于某大型IT外資企業,主要從事J2ee開發,設計,應用程序架構以及系統性能的分析。目前主要集中在云計算方面(IaaS)的開發,對DevOps,Agile,持續集成,開發,測試自動化等有一定的研究。
俞超 軟件開發工程師
任職于某大型IT外資企業,主要從事J2EE開發、設計工作。