一種快速部署openstack云計算平臺的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及云計算集群環(huán)境,尤其是一種快速部署openstack云計算平臺的方 法。
【背景技術(shù)】
[0002] 隨著云計算的發(fā)展,IaaS(基礎(chǔ)設(shè)施即服務(wù))逐漸得以廣泛部署,越來越多的研究 機構(gòu)和企業(yè)開始自建云計算平臺。OpenStack作為一個開源的云計算管理平臺,以其節(jié)約用 戶成本、提高運維效率以及更有利于企業(yè)創(chuàng)新等特點在各行各業(yè)都得到了廣泛的部署和應(yīng) 用。然而部署大規(guī)模的OpenStack云計算集群是一項非常繁重而艱巨的任務(wù),部署過程涉 及到大量軟件的安裝、組件間依賴關(guān)系處理以及眾多配置參數(shù)的設(shè)置,加之大規(guī)模集群服 務(wù)器硬件、操作系統(tǒng)和網(wǎng)絡(luò)的異構(gòu)性等特點,部署需要花費大量時間,其過程由于過多的人 工操作和重復(fù)性工作導(dǎo)致集群部署失敗的可能性很高,因此很有必要實現(xiàn)一種自動化的部 署機制。
[0003] 傳統(tǒng)集群自動化部署中比較著名的工具軟件有OSCAR (開源集群應(yīng)用資源)、 Rocks與Kad印loy2等,利用它們可以大大提高部署效率。OSCAR與Rocks兩款工具主要為 同構(gòu)系統(tǒng)服務(wù),且集成了大量的專用軟件包,安裝時需要人工參與等問題不適合直接用于 Openstack的部署;Kadeploy2提供了一個集群部署的基本模型,用戶可以依據(jù)該模型快速 部署相同的集群系統(tǒng),模型可以根據(jù)需求進行定制,但這個工具的應(yīng)用場景是針對網(wǎng)格集 群系統(tǒng)的,故它也不適合直接用于Openstack的部署;另外,OpenStack集群部署已有許多 的解決方案=(I)OpenStack官方提供了集群部署和配置的文檔,用戶根據(jù)這些文檔可以 手動實現(xiàn)部署任務(wù),但當(dāng)集群規(guī)模較大時,這種方法帶來工作量將會巨增;(2) DevStack是 官方維護的一個部署腳本工具,利用它可以快速部署一個Openstack的開發(fā)和測試環(huán)境, 它僅限于部署簡單的云計算平臺,在系統(tǒng)重啟必須手動啟動各種服務(wù),不適合部署生產(chǎn)環(huán) 境的集群;(3)Dodai_deplay是另一個款OpenStack集群自動化部署工具,基于傳統(tǒng)的配 置管理框架Puppet管理OpenStack組件的軟件安裝、配置文件修改和資源依賴關(guān)系的處 理等,提供面向終端用戶的Web接口和面向開發(fā)者的RESTfulAPI以方便第三方集成,它 缺乏對OpenStack各組件后端實現(xiàn)的定制化處理,無法應(yīng)對實際的生產(chǎn)環(huán)境,由于整體架 構(gòu)是傳統(tǒng)的單一主機的客服端/服務(wù)器模型,隨著OpenStack集群規(guī)模的增長,主機服務(wù) 器負(fù)載過重,部署工具的單點故障和效率成為新的瓶頸。此外,有許多的公司也推出了它們 的自動化部署工具,像Mirantis公司的FueUDell公司開發(fā)的Crowbar,這些部署工具底 層都采用配置管理框架安裝和配置集群,功能都基本類似,主要關(guān)注的是部署穩(wěn)定性和正 確性,在部署的靈活性與部署效率上考慮較差。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種快速部署openstack云計算平 臺的方法,該方法極大的提升了 openstack云計算平臺的部署效率,且管理簡單易行,易于 后期維護。
[0005] 為實現(xiàn)上述目的,本發(fā)明的技術(shù)方案是:一種快速部署openstack云計算平臺的 方法,包括如下步驟, 步驟Sl :創(chuàng)建鏡像模版文件; 步驟S2 :格式化模版配置文件; 步驟S3:生成新的鏡像文件; 步驟S4:導(dǎo)入模版配置文件; 步驟S5 :啟動集群各節(jié)點。
[0006] 在本發(fā)明實施例中,所述步驟Sl的創(chuàng)建鏡像模版文件包括創(chuàng)建鏡像文件、安裝系 統(tǒng)、安裝軟件及提取根分區(qū)四個階段。
[0007] 在本發(fā)明實施例中,所述步驟S2的格式化模版配置文件即,將步驟Sl創(chuàng)建的各種 服務(wù)類型鏡像文件的配置文件中的可修改參數(shù)定義為變量,把配置數(shù)據(jù)模版化以適應(yīng)各節(jié) 點的需求,并將模版化配置文件存儲至文件服務(wù)網(wǎng)絡(luò)上。
[0008] 在本發(fā)明實施例中,所述步驟S3的生成新的鏡像文件即,將步驟Sl的鏡像塊文件 復(fù)制于存儲池的相應(yīng)位置,并根據(jù)集群服務(wù)器節(jié)點的標(biāo)識作為新生成的鏡像文件的命名規(guī) 貝1J,以保證各節(jié)點對應(yīng)相應(yīng)的鏡像文件名。
[0009] 在本發(fā)明實施例中,所述步驟S5的啟動集群各節(jié)點即,各節(jié)點通過提供PXE、DHCP 及TFTP的服務(wù)網(wǎng)絡(luò)啟動,向存儲池掛載節(jié)點啟動所需的鏡像節(jié)點,實現(xiàn)節(jié)點系統(tǒng)啟動的過 程。
[0010] 在本發(fā)明實施例中,所述啟動集群各節(jié)點的具體實現(xiàn)步驟如下, 步驟S51 :內(nèi)核載入并將初始化根文件系統(tǒng)作為特殊的區(qū)塊/dev/ram掛載到最初的根 文件系統(tǒng); 步驟S52 :初始化驅(qū)動設(shè)備,包括網(wǎng)卡、中央處埋機及內(nèi)存,初始化各驅(qū)動設(shè)備之后建 立與存儲池的連接; 步驟S53 :判斷是否執(zhí)行硬盤命名規(guī)則,若存在硬盤命名要求,則執(zhí)行步驟S54,否則, 執(zhí)行步驟S55 ; 步驟S54 :從存儲池/映像塊獲取命名規(guī)則并重新初始化各驅(qū)動設(shè)備; 步驟S55 :從存儲池獲取映像掛載規(guī)則,并掛載相應(yīng)的映像塊作為rootmnt系統(tǒng); 步驟S56 :執(zhí)行rootmnt系統(tǒng)的/sbin/init從而完成系統(tǒng)交接作為根文件系統(tǒng),最終 初始化進入節(jié)點的操作系統(tǒng)。
[0011] 相較于現(xiàn)有技術(shù),本發(fā)明具有以下有益效果:通過統(tǒng)一的、集中式的鏡像塊文件的 制作及部署管理方案,不僅在部署時間上占有優(yōu)勢,而且針對系統(tǒng)管理員的機群各結(jié)點的 集中管理更能體現(xiàn)它的便捷性、可控性、靈活性;與現(xiàn)有技術(shù)相比,本發(fā)明不僅實現(xiàn)大規(guī)模 服務(wù)器機群的系統(tǒng)安裝,集中式的配置方式也在快速配置方面體現(xiàn)優(yōu)勢,很大程度上簡化 了配置流程,提高了配置效率;本發(fā)明的實施不依賴結(jié)點服務(wù)器的任何外部存儲介質(zhì),特別 適合云計算環(huán)境中大規(guī)模服務(wù)器集群的快速部署。
【附圖說明】
[0012] 圖1是本發(fā)明部署總體架構(gòu)。
[0013] 圖2是本發(fā)明initrd (初始化根文件系統(tǒng))的初始化過程。
[0014] 圖3是本發(fā)明集群拓?fù)浣Y(jié)構(gòu)示意圖。
【具體實施方式】
[0015] 下面結(jié)合附圖,對本發(fā)明的技術(shù)方案進行具體說明。
[0016] 本發(fā)明一種快速部署openstack云計算平臺的方法,包括如下步驟, 步驟Sl :創(chuàng)建鏡像模版文件,包括創(chuàng)建鏡像文件、安裝系統(tǒng)、安裝軟件及提取根分區(qū)四 個階段。塊文件支持稀疏特性,可自由伸展文件大小,使用mount命令掛載塊文件系統(tǒng)可以 進行數(shù)據(jù)訪問。
[0017] 步驟S2 :格式化模版配置文件,將步驟Sl創(chuàng)建的各種服務(wù)類型鏡像文件的配置文 件(如nova, conf、keystone, conf等文件)中的可修改參數(shù)定義為變量,把配置數(shù)據(jù)模版化 以適應(yīng)各節(jié)點的需求(如把ip、用戶、密碼、授權(quán)令牌等參數(shù)化),并將模版化配置文件存儲 至文件服務(wù)網(wǎng)絡(luò)(如nfs、apache、ftp、或c印hfs等)上。文件服務(wù)網(wǎng)絡(luò)上的配置文件是更 新狀態(tài)的,如有相關(guān)配置需求,將會做配置文件的更新,以保證配置的實時生效。當(dāng)節(jié)點成 功啟動系統(tǒng)時,將調(diào)取數(shù)據(jù)庫的有關(guān)數(shù)據(jù)信息,如果數(shù)據(jù)信息有效,將優(yōu)先依據(jù)數(shù)據(jù)庫的信 息下載模板配置文件并應(yīng)用于云服務(wù)的配置作業(yè),否則使用系統(tǒng)模板上默認(rèn)的配置方案。
[0018] 步驟S3 :生成新的鏡像文件,將步驟Sl的鏡像塊文件復(fù)制于存儲池的相應(yīng)位置, 并根據(jù)集群服務(wù)器節(jié)點的標(biāo)識(如IP地址、主機名標(biāo)識等可以唯一表示的信息)作為新生成 的鏡像文件的命名規(guī)則,以保證各節(jié)點對應(yīng)相應(yīng)的鏡像文件名,該步驟是實現(xiàn)快速部署的 主要過程,部署的效率由存儲網(wǎng)絡(luò)系統(tǒng)性能決定 步驟S4:導(dǎo)入模版配置文件,是對新生成的鏡像塊文件進行修改的過程,通過自定義 腳本/程序(如殼腳本,腳本等)進行全自動化的作業(yè)。配置之前需要對模板配置文件所定義 的參數(shù)(例如IP地址使用<AUTH_IP>、〈PUBLIC_IP>等模板標(biāo)識)進行設(shè)定并生成相應(yīng)結(jié)點 的配置文件,包括掛載各節(jié)點的鏡像塊文件、配置文件數(shù)據(jù)修改和卸載節(jié)點鏡像三個步驟, 利用自定義的腳本/程序?qū)崿F(xiàn)對每個節(jié)點的自動化操作,最終完成所有節(jié)點鏡像塊文件的 配置工作。
[0019] 步驟S5 :啟動集群各節(jié)點,各節(jié)點通過提供PXE、DHCP及TFTP的服務(wù)網(wǎng)絡(luò)啟動,向 存儲池掛載節(jié)點啟動所需的鏡像節(jié)點,實現(xiàn)節(jié)點系統(tǒng)啟動的過程,啟動所需要的文件集中 存儲在存儲網(wǎng)絡(luò)中。所述啟動集群各節(jié)點的具體實現(xiàn)步驟如下, 步驟S51 :內(nèi)核載入并將初始化根文件系統(tǒng)作為特殊的區(qū)塊/dev/ram掛載到最初的根 文件系統(tǒng); 步驟S52 :初始化驅(qū)動設(shè)備,包括網(wǎng)卡、中央處埋機及內(nèi)存,初始化各驅(qū)動設(shè)備之后建 立與存儲池的連接; 步驟S53 :判斷是否執(zhí)行硬盤命名規(guī)則,若存在硬盤命名要求,則執(zhí)行步驟S54,否則, 執(zhí)行步驟S55 ; 步驟S54 :從存儲池/映像塊獲取命名規(guī)則并重新初始化各驅(qū)動設(shè)備; 步