曾瑋+饒堅
摘要:針對手動部署OpenStack云計算環(huán)境過程復雜,部署時間較長,以及OpenStack環(huán)境物理節(jié)點需求較多等問題,提出了基于Mirantis Fuel及VirtualBox實現(xiàn)快速部署OpenStack環(huán)境的方法。首先介紹了VirtualBox虛擬機及虛擬網(wǎng)絡(luò)的基本構(gòu)建方法,然后闡述了Fuel自動化部署工具的安裝步驟,最后,使用Fuel部署工具實現(xiàn)了OpenStack云計算環(huán)境的搭建。通過實際驗證,本文提出的OpenStack云計算自動化構(gòu)建方法快速、高效,具有一定的實用價值。
關(guān)鍵詞:Mirantis Fuel;VirtualBox;Openstack;云計算
中圖分類號:TP393 文獻標識碼:A 文章編號:1007-9416(2017)07-0069-07
隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,云計算作為一種全新的資源管理模式,已經(jīng)逐漸得到了普及。云計算(Cloud Computing)[1-2]是基于互聯(lián)網(wǎng)的相關(guān)服務(wù)的增加、使用和交付模式,通常涉及通過互聯(lián)網(wǎng)來提供動態(tài)易擴展且經(jīng)常是虛擬化的資源。近年來,多種云計算的實現(xiàn)方案也已經(jīng)逐漸成熟[3]。如VMware、Amazon AWS、Microsoft Azure、OpenStack、Eucalyptus等。其中,OpenStack云計算方案作為一種開源、可靠、穩(wěn)定的云計算解決方案,已經(jīng)逐漸被崛起并被較為廣泛的采用[4-5]。此外,部分高校也實現(xiàn)了OpenStack云計算平臺的部署及運用[6-10]。
雖然,國內(nèi)對于OpenStack的研究已經(jīng)較為深入,但是,OpenStack的部署方法依然有待優(yōu)化。由于OpenStack本身設(shè)計較為復雜,其部署過程通常較為困難。另一方面,手動安裝OpenStack效率較低,不能適用于大量服務(wù)器的虛擬化工作。OpenStack的基礎(chǔ)測試環(huán)境需要至少4個計算機節(jié)點[11]。對于需要部署OpenStack測試環(huán)境的部分研究者而言,若在物理機上進行部署,則耗時耗力。
為了能夠解決OpenStack手動部署效率低的問題,本文提出了一種基于Mirantis Fuel及VirtualBox的OpenStack快速部署方案。通過該方案部署OpenStack環(huán)境方法較為簡答、效率較高。該方案較好地解決了目前高校研究者手動部署OpenStack環(huán)境時,部署效率低、環(huán)境安裝困難的問題。
1 OpenStack環(huán)境快速搭建
1.1 VirtualBox的安裝及網(wǎng)絡(luò)環(huán)境配置
VirtualBox最初是由德國Innotek公司開發(fā),由Sun Microsystems公司出品的軟件。VirtualBox是一款非常先進的虛擬機軟件, 它實現(xiàn)了在原有物理操作系統(tǒng)上,虛擬出若干子系統(tǒng),這些子系統(tǒng)分別擁有各自的資源。VirtualBox的各個虛擬機可以同時運行在宿主操作系統(tǒng)上,VirtualBox負則模擬相關(guān)的硬件資源[12]。
在進行OpenStack的安裝之前,我們首先需要配置VirtualBox的網(wǎng)絡(luò)環(huán)境。需配置三個不同的虛擬網(wǎng)絡(luò),分別為Net1(10.20.0.0/24)、Net2(172.16.0.0/24)和Net3(172.16.1.0/24),如圖1所示。其中,Net1將作為虛擬機的管理網(wǎng)絡(luò),Net2作為虛擬機的公共訪問網(wǎng)絡(luò),Net3作OpenStack節(jié)點的內(nèi)部通信網(wǎng)絡(luò)。具體安裝步驟如下:
(1)下載并安裝VirtualBox軟件。
(2)打開VirtualBox虛擬機,選擇File→Preference→Network,選擇Host-only Networks。選擇新建Host-Only網(wǎng)絡(luò)(命名為VirtualBox Host-Only Ethernet Adapter #2)。選擇“編輯網(wǎng)絡(luò)”,設(shè)置IPv4 Address為10.20.0.1,設(shè)置Network Mask為255.255.255.0。
(3)依據(jù)步驟(2),分別創(chuàng)建VirtualBox Host-Only Ethernet Adapter #3、#4,并分別設(shè)置IPv4地址為172.16.0.254和172.16.1.1,子網(wǎng)掩碼設(shè)置為255.255.255.0。在創(chuàng)建三個Host-Only網(wǎng)絡(luò)后,宿主計算機對應(yīng)出現(xiàn)三個對應(yīng)的網(wǎng)絡(luò)適配器。
1.2 虛擬機的創(chuàng)建及配置
1.2.1 創(chuàng)建虛擬機
(1)創(chuàng)建Fuel Master虛擬機節(jié)點。
Fuel管理節(jié)點將作為其他OpenStack的底層管理節(jié)點。它能夠?qū)崿F(xiàn)OpenStack的自動部署。
打開Virtual Box虛擬機,創(chuàng)建Fuel Master虛擬機節(jié)點。設(shè)置該虛擬機類型為Linux、版本為Red Hat(64bit),設(shè)置內(nèi)存為4GB并創(chuàng)建VDI磁盤。
(2)創(chuàng)建Controller控制節(jié)點。
在Virtual Box中,創(chuàng)建控制節(jié)點的虛擬機,并命名為OpenStack Controller。這里,設(shè)置此虛擬機的類型為Linux,版本為Ubuntu(64 bit),內(nèi)存為4GB,分配50GB磁盤空間。
(3)創(chuàng)建Compute虛擬機計算節(jié)點。
創(chuàng)建三個相同配置的虛擬機作為計算節(jié)點,并依次命名為:OpenStack Compute 0、1、2。其類型設(shè)置為Linux,版本為Ubuntu(64 bit),虛擬機內(nèi)存為2GB,磁盤大小為50GB。
在創(chuàng)建完成之后,我們需要為計算節(jié)點分配更多的CPU資源。選中要編輯的計算節(jié)點虛擬機,單擊Setting按鈕。在彈出的Setting對話框中,選擇System選項,選擇Processor標簽頁。為計算節(jié)點分配2個CPU的計算資源。endprint
創(chuàng)建完畢后,分別啟動Fuel Master、Controller及Compute節(jié)點,如圖2所示。
1.2.2 虛擬機的網(wǎng)絡(luò)配置
在完成虛擬機的創(chuàng)建后,我們需分別對其進行網(wǎng)絡(luò)配置:
選中Fuel Master虛擬機,點擊Setting按鈕,選擇網(wǎng)絡(luò)選項。在Adapter 1中,勾選“Enable Network Adapter”。設(shè)置“Attached to”為“Host-Only Adapter”。點擊Name的下拉菜單,選擇“VirtualBox Host-Only Ethernet Adapter #2”。此外,我們需要將“Promiscuous Mode”,即混雜模式設(shè)置為“Allow All”。最后,勾選“Cable Connected”。
按照上一步驟,設(shè)置Adapter 2。設(shè)置名稱為VirtualBox Host-Only Ethernet Adapter #3。打開Adapter 3,勾選“Enable Network Adapter”,并設(shè)置“Attached to”為“NAT”。
此處,啟用了Fuel Master的三塊網(wǎng)卡。其中,第一塊網(wǎng)卡設(shè)置為Nat 1,第二塊網(wǎng)卡則分配到Nat 2,而第三塊網(wǎng)卡則使用VirtualBox自帶的NAT網(wǎng)絡(luò)功能,實現(xiàn)NAT上網(wǎng)(如圖3所示)。
2 基于Fuel實現(xiàn)OpenStack快速安裝
2.1 安裝Fuel Master控制節(jié)點
2.1.1 Fuel的基本安裝
Mirantis開發(fā)的Fuel是OpenStack自動化部署的有利工具。Fuel最大的作用在于解決了OpenStack安裝繁瑣,入門門檻較高的問題。這里,我們采用的是Mirantis Fuel 8.0版本。圖4給出了本次部署環(huán)境的整體架構(gòu)。
(1)安裝Fuel UI。訪問Mirantis的官方網(wǎng)站(https://www.mirantis.com),下載Mirantis Fuel 8.0的ISO鏡像文件。
打開VirtualBox,選中Fuel Master虛擬機,打開設(shè)置頁面并選擇Storage選項。選中“Controller:IDE”,添加下載的Mirantis Fuel 8.0 ISO鏡像。
啟動Fuel Master虛擬機,進入引導頁面。當進入“Welcome to Fuel Installer”提示頁面后,選中第一項,即“Fuel Install(Static IP)”,回車確定,進入安裝。這里,安裝過程可能需要5-10分鐘。當安裝界面提示“是否進入Fuel設(shè)置頁面”時,鍵入回車,進入Fuel設(shè)置頁面(如圖5所示)。
選定“Network Setup”,可以看到當前Fuel自動設(shè)置了第一塊網(wǎng)卡(eth0)的IP地址為10.20.0.2。默認情況下,我們不需要進行任何設(shè)置的更改,直接選擇“Quit Setup”,然后選擇不保存退出即可。完成了基本的設(shè)置后,F(xiàn)uel會繼續(xù)完成剩余的安裝部分,這部分的安裝可能需要10-20分鐘。
在完成安裝后,F(xiàn)uel會進入“Welcome to the Fuel server”的歡迎界面。
(2)配置網(wǎng)卡信息。進入/etc/sysconfig/network-scripts目錄,使用vi編輯ifcfg-eth1文件,將其內(nèi)容修改為如下代碼:
NAME=eth1
DEVICE=eth1
TYPE=Ethernet
BOOTPROTO=static
ONBOOT=yes
IPADDRESS=172.16.0.1
NETMASK=255.255.255.0
使用vi編輯ifcfg-eth2文件,將其內(nèi)容替換為如下代碼:
NAME=eth2
DEVICE=eth2
TYPE=Ethernet
BOOTPROTO=dhcp
ONBOOT=yes
執(zhí)行systemctl restart network.service重啟網(wǎng)絡(luò)。
2.1.2 配置Fuel Master節(jié)點
由于Fuel進行了相關(guān)安全策略的限制,默認情況下我們只能夠訪問其SSH端口(22端口)。因此,要訪問Fuel UI的管理界面,我們需要借助Xshell工具。
下載并安裝Xshell(http://www.netsarang.com/products/xsh_overview.html)。
選擇文件→新建,彈出“新建回話屬性對話框”。在主機輸入框中填入10.20.0.2,即Fuel Master虛擬機的IP地址(如圖6所示)。
在左側(cè)的類別欄中,選擇“用戶身份驗證”,然后依次填入用戶名和密碼。在上一小節(jié)中,F(xiàn)uel安裝成功后的歡迎界面中顯示了SSH登錄賬戶和密碼信息(用戶名root,密碼r00tme)。
在選擇列別欄中,選擇“隧道”,單擊“添加”按鈕。偵聽端口和目標端口均填寫8443,目標主機則應(yīng)為10.20.0.2,保存。
在完成Xshell的配置后,打開會話窗口,選擇10.20.0.2進行連接。在連接成功后,訪問https://localhost:8443即可打開Fuel UI。使用admin(密碼admin)即可登錄。自此,我們即完成了Fuel的配置和安裝(如圖7所示)。
2.2 安裝Controller節(jié)點和Compute節(jié)點
2.2.1 網(wǎng)絡(luò)配置
在前面的Fuel Master的安裝過程中,我們?yōu)槠湓黾恿薔et1和Net2兩個網(wǎng)絡(luò),以及NAT網(wǎng)絡(luò)。這里,我們同樣的方式為OpenStack Controller和Compute節(jié)點配置Net1和Net2網(wǎng)絡(luò),此外,還需要為其配置Net3網(wǎng)絡(luò),以作為OpenStack的內(nèi)部網(wǎng)絡(luò)。endprint
選擇OpenStack Controller節(jié)點,打開其網(wǎng)絡(luò)設(shè)置界面。將Adapter 1、2、3均設(shè)置為Host-only網(wǎng)絡(luò),并分別將其配置為VirtualBox Host-Only Ethernet Adapter #2、#3和#4。
按上一步驟,分別設(shè)置OpenStack Compute 0、1、2的Net1、Net2和Net3網(wǎng)絡(luò)。
依次啟動Controller、Compute 0、Compute 1和Compute 2虛擬機。至此,Controller及Compute虛擬機網(wǎng)絡(luò)便配置成功。
2.2.2 安裝Controller和Compute節(jié)點
(1)安裝OpenStack環(huán)境。在Fuel中,OpenStack是以子環(huán)境的形式存在的。在部署Controller及Compute節(jié)點前,需要創(chuàng)建OpenStack環(huán)境。
首先,訪問并登陸https://localhost:8443,在首頁中選擇“新建OpenStack環(huán)境”,并命名為“demo”。
勾選虛擬化技術(shù)為“QEMU-KVM”。這里,由于我們是在VirtualBox虛擬機上構(gòu)建OpenStack,因此必須勾選“QEMU-KVM”。設(shè)置Neutron網(wǎng)絡(luò)為“Neutron with VLAN segmentation”。
在存儲后端設(shè)置頁面,設(shè)置Block Storage、Object Storage、Image Storage和Ephemeral Storage的存儲為Ceph。最后,選擇“新建”按鈕創(chuàng)建OpenStack環(huán)境。
(2)安裝Controller節(jié)點及Compute節(jié)點。打開新建的OpenStack環(huán)境,點擊節(jié)點標簽,選擇增加節(jié)點。此時,我們可以看到在節(jié)點列表中出現(xiàn)了四個未命名的節(jié)點,如:Untitled(02:99)。這里,可以點擊Untitled名稱進行修改。這里,括號中的部分則表示節(jié)點實際對應(yīng)的VirtualBox虛擬機的MAC地址的最后四位。
在節(jié)點列表中,找到內(nèi)存為4GB的節(jié)點,該節(jié)點即為即將部署為Controller節(jié)點的虛擬機。選中該節(jié)點。
在分配角色區(qū)域,勾選Controller,設(shè)置其為OpenStack Controller節(jié)點。選擇應(yīng)用變更,保存設(shè)置。
依次選中剩余的三個虛擬機節(jié)點,并在分配角色區(qū)域,選擇Compute及Storage - Ceph OSD。點擊應(yīng)用變更,保存設(shè)置。
點擊Dashboard標簽頁,執(zhí)行“部署”操作。此時,在節(jié)點頁面可以看到Fuel正在為Controller及Compute虛擬機節(jié)點安裝Ubuntu操作系統(tǒng)。在完成Ubuntu操作系統(tǒng)后,F(xiàn)uel會繼續(xù)分別為Controller及Compute節(jié)點安裝OpenStack相關(guān)服務(wù)。當安裝完成后,F(xiàn)uel將提示四個節(jié)點的狀態(tài)均為已就緒(如圖8所示)。
訪問http://172.16.0.3/horizon/auth/login/,打開OpenStack的管理界面。使用admin(密碼admin)進入OpenStack。此時,我們即完成了Fuel自動安裝部署OpenStack(如圖9所示)。
上傳Windows Server等操作系統(tǒng)ISO鏡像文件上傳到OpenStack平臺,并進行安裝。在安裝完畢后,可以通過遠程桌面連接及VNC連接運行于OpenStack中的操作系統(tǒng)(如圖10、圖11所示)。
這里,OpenStack的Glace負責管理操作系統(tǒng)鏡像文件。OpenStack可以基于已有鏡像進行快速部署。我們可以根據(jù)實際需求,使用ISO鏡像工具制作個性化的ISO文件并上傳至OpenStack平臺。對不同應(yīng)用場景安裝不同的操作系統(tǒng)。至此,OpenStack云平臺即部署完成。
3 Fuel OpenStack自動安裝及OpenStack手動安裝對比
表1從多個不同角度,對“OpenStack物理環(huán)境手動部署”和本文提出的“基于Fuel及VirtualBox的OpenStack自動化部署”進行了較為全面的對比。通過實踐發(fā)現(xiàn),由于OpenStack本身較為復雜,其手動安裝過程通常較為繁瑣。初次安裝時,我們有可能花費若干天的時間才能實現(xiàn)OpenStack部署。而使用Fuel自動化安裝工具,我們可以構(gòu)建基于VirtualBox的虛擬環(huán)境來快速安裝OpenStack。通過實際測試,F(xiàn)uel自動化部署OpenStack比手動部署OpenStack更為快速便捷。此外,通過使用VirtualBox虛擬機,也很好地解決了部署OpenStack實驗環(huán)境需要較多物理機的問題。通過Fuel、VirtualBox及OpenStack的有機集合,我們能夠在較短的時間內(nèi),以較少的物理資源,實現(xiàn)OpenStack云計算環(huán)境的快速部署。
4 結(jié)語
本文闡述了基于Fuel及VirtualBox實現(xiàn)自動化部署OpenStack云計算環(huán)境的基本方法,旨在幫助研究者快速進入OpenStack云計算環(huán)境?;赩irtualBox虛擬機的部署方案,能夠較好地解決硬件條件不足的問題。而基于Fuel自動安裝OpenStack則較好地解決了OpenStack手動部署較為復雜的問題。通過實踐表明,本文提出的自動化部署方案,切實可行,具有一定的研究價值。
參考文獻
[1]羅軍舟,金嘉暉,宋愛波,等.云計算:體系架構(gòu)與關(guān)鍵技術(shù)[J].通信學報,2011,32(7):3-21.
[2]黃晨暉,林泳琴.基于云計算的虛擬計算機實驗室的研究與實現(xiàn)[J].實驗室研究與探索, 2010,29(11):178-181.
[3]李立耀,趙少卡,王燁,等.Dandelion:OpenStack云平臺的快速部署機制[J].計算機應(yīng)用, 2015,35(11):3070-3074.
[4]武佳寧.基于OpenStack的云平臺虛擬集群部署設(shè)計[J].微型電腦應(yīng)用,2016,32(6):15-17.
[5]趙少卡,李立耀,凌曉,等.基于OpenStack的清華云平臺構(gòu)建與調(diào)度方案設(shè)計[J].計算機應(yīng)用, 2013,33(12):3335-3338.
[6]李磊,李小寧,金連文.基于Openstack的科研教學云計算平臺的構(gòu)建與運用[J].實驗技術(shù)與管理, 2014,31(6):127-133.
[7]李磊,李達港,金連文,等.基于OpenStackSwift構(gòu)建高可用私有云存儲平臺[J].實驗技術(shù)與管理, 2015,32(5):141-144.
[8]鄭楠,陳立南,鄭禮雄,等.基于CloudStack和OpenStack的KVM虛擬機跨平臺遷移方法[J].通信學報, 2014,35(Z1):72-75.
[9]陳天,陳楠,黃志蘭,等.基于OpenStack的異構(gòu)混合云解決方案[J].電信科學,2015,31(7):132-138.
[10]邵珠興,陳彩.基OpenStac的云存儲系統(tǒng)的大文件存儲方案[J].計算機工程與設(shè)計, 2015,36(2):396-400.
[11]陳陶,顧雙雙,柳鈕滔,等.基OpenStack Juno版的私有云平臺部署及實踐[J].物聯(lián)網(wǎng)技術(shù), 2015,5(6):64-67.
[12]隨飛揚,王杰鋒,馬維駿,等.便攜網(wǎng)絡(luò)實驗環(huán)境的構(gòu)建與應(yīng)用[J].實驗科學與技術(shù),2014,12(2):12-15.endprint