【博文推薦】使用Fuel安裝OpenStack juno之使用OpenStack創(chuàng)建云主機和Volume
本博文出自51CTO博客yishuizhao博主,有任何問題請進入博主頁面互動討論!
博文地址:http://tianhunyongheng.blog.51cto.com/1446947/1607676
在云中,基本的概念就是租戶和用戶,例如X公司買了某公司的公有云,那以X公司為例,就是一個租戶,而這個公司買了N多云主機給公司的員工使用,這些員工就是用戶。那角色又是什么呢,這個租戶中有N多云主機,總有人來管理和分配的,那這個管理員就是admin角色,而其他的用戶就是普通用戶,也可以適當?shù)馁x權(quán)給他們,這個角色可以理解為一系列權(quán)限的合集。
這個租戶、用戶和角色的創(chuàng)建分配,我就不演示了,相信做IT的基本都應該了解。我們默認的OpenStack環(huán)境是有一個admin的租戶,有一個admin的用戶,擁有admin的權(quán)限,咱們就是用默認的做實驗即可。
其一:創(chuàng)建云主機,并可以SSH登錄
在部署完成后,F(xiàn)uel Master就可以關機,或者放在一邊了,完全不影響openstack的環(huán)境使用了。但是如果整個openstack環(huán)境都關機了,那么開機也有個順序,我們先打開controller,等開機后再打開compute主機,這樣各個服務才能找到他的服務器通信。
為了演示,我把controller內(nèi)存調(diào)整為1.5G,compute內(nèi)存調(diào)整為3G,以便于創(chuàng)建虛機,如果計算節(jié)點內(nèi)存分配過小,那么創(chuàng)建云主機的時候就會報錯。
首先開啟controller主機,然后再開啟compute主機
還記的之前部署環(huán)境的openstack的UI地址吧:172.16.0.2,用戶密碼同為admin
這里提示cookies問題,刷新瀏覽器或重啟瀏覽器后可以解決
進入到咱們工作平臺啦
咱們首先看看這個網(wǎng)絡,還記得Fuel UI的如下網(wǎng)絡嘛,相信很多朋友不理解這是干什么的。這里解釋下這個192.168.111.0網(wǎng)段是給云主機內(nèi)部使用的,但是僅限于虛擬機內(nèi)部通信,不能和這個網(wǎng)絡之外通信或者上網(wǎng)。那這個172.16.0.0網(wǎng)段就是外部網(wǎng)絡了,也是咱們可以分配給云主機做floating IP使用的地址段,這兩部分都可以調(diào)整,在下面繼續(xù)介紹。
在openstack UI界面,打開“network topology”,看一下我們使用的網(wǎng)絡拓撲,未來云主機都會接在“net04”這個網(wǎng)絡上,分配的IP地址也是192.168.111.0這個網(wǎng)段的,網(wǎng)關指向中間的路由器,網(wǎng)關地址是192.168.111.1,這個路由鏈接的就是咱們的公開網(wǎng)絡“net04_ext”這是我們的外部網(wǎng)絡,也就是跟咱們的PC機在一個網(wǎng)段或者互通了。
#p#
接下來就開始創(chuàng)建云主機(虛機),我們打開instances界面,單擊右上角的“launch instance”開始創(chuàng)建
在彈出的窗口內(nèi),“details”是云主機的相關信息,“access&security”是選擇安全組,默認是defaults安全組,“networking”是選擇管理的網(wǎng)絡,“post-creation”是創(chuàng)建云主機后需要運行的腳本信息,需要自己添加,這幾個是必須的
在“details”選項內(nèi),填寫新建云主機名字“test01”,flavor類型可以查看flavor菜單,里面有很多類型,針對默認的一個迷你操作系統(tǒng),定義了CPU,內(nèi)存和硬盤燈資源,咱們也可以收到修改,很容易理解,我就不再演示,咱們這里選擇“m1.tiny”,也就是如右邊所展示的包含1個vCPU、一個1G的磁盤和512M的內(nèi)存,創(chuàng)建數(shù)量選擇1,如果是批量創(chuàng)建,就選擇你要創(chuàng)建的數(shù)量,例如20,當然你要計算好這個計算節(jié)點可以承受的虛機數(shù)量,包含CPU\RAM\DISK等資源,“instance boot source”選擇“boot from image”,“image name”選擇“testVM(12.6MB)”,這是個迷你操作系統(tǒng)。
“access&security”選擇默認的default即可,networking則是選擇net04,也可以手動創(chuàng)建多個不同網(wǎng)段的內(nèi)網(wǎng),只要你需要,我們這里選擇關聯(lián)net04,當然這里不能直接關聯(lián)公共網(wǎng)絡。
后面選擇默認即可。點擊右下角的“launch”后開始創(chuàng)建虛機,根據(jù)磁盤等資源的大小,等待一段時間后創(chuàng)建完成,下圖顯示正在創(chuàng)建
如下是已經(jīng)創(chuàng)建完成的云主機,“status”顯示active,IP地址是192.168.111.3,這里應該明白點了吧
現(xiàn)在的云主機只能使用VNC來訪問,這個VNC的效果真是不敢恭維,所以我習慣使用CRT來訪問,那么按照前面說的,這個虛機現(xiàn)在只有192.168.111.3這個私有IP,這個IP只能是多個云主機之前通信,需要外部通信的話,還需要分配一個172.16.0.0的IP地址,直接在云主機內(nèi)存添加網(wǎng)卡手動配置可不可以,當然不行,在openstack中floating IP也是一種資源,需要從IP地址池中拿出一個IP來跟云主機做關聯(lián)。這里演示下。
在該云主機的嘴右邊“actions”下有一個下拉菜單,單擊,然后選擇“associate floating ip”
在新彈出窗口內(nèi),我們還沒看到公開網(wǎng)絡,單擊中間的+號,在下面的新窗口內(nèi)選擇“net04_ext”網(wǎng)絡,單擊右下角的associate進行關聯(lián)
這時,回到floating ip管理頁,可以看到公開網(wǎng)絡的網(wǎng)段了,默認分配的172.16.0.131,當然也可以手動選擇,單擊右下角的associate
好了,回到instance界面,看到此時已經(jīng)分配了floating ip了
那現(xiàn)在可以ping或者SSH了嗎,當然不可以,這是由于安全策略的緣故,我們得修改下策略來放行ICMP和SHH
打開“access & security”菜單,這里默認只有default一組安全組,我們也可以創(chuàng)建,但是新創(chuàng)建的話還是得手動再跟云主機管理,而默認組已經(jīng)默認關聯(lián)了,我們只要修改策略就可以了,所這里我們直接修改,不再添加安全組了。
單擊default安全組左邊的“manage rules”
在新窗口,單擊右上角的“add rule”
先添加ICMP,在“rule”欄選擇“ALL ICMP”,下面默認全部放行即可
看看,是不是可以ping通了
接下來如上方法,添加SSH規(guī)則
添加完畢,規(guī)則如下
放行了SSH就可以遠程登陸了,但是用戶名和密碼呢。如是自己上傳的鏡像,相信自己都曉得,也別擔心,這openstack自帶的鏡像用戶名和密碼在這里。
回到instances菜單,單擊云主機名稱“test01”
“overview”可以看到云主機的信息概覽,在“log”里面可以看此云主機的log
拉到***如下,可以看到用戶名cirros和密碼cubswin:)
那現(xiàn)在可以使用CRT登陸了,如下。
創(chuàng)建云主機完畢,也可以SSH登陸了,當然大家也可以批量創(chuàng)建,省心不少,也可以上傳自己的鏡像,比較這個自帶的鏡像只是用來測試的,甚至大家可以上傳IOS鏡像,這個如有時間,以后再做介紹。
#p#
其二:給云主機附加磁盤volume
上面已經(jīng)跟大家介紹了怎么創(chuàng)建和訪問云主機,接下來介紹怎么給虛機附加磁盤。
那么為什么要給云主機增加額外的磁盤呢。
這就看需求了,一是虛機時創(chuàng)建在本地,還是共享存儲;二是很多客戶習慣本地只有OS信息,而數(shù)據(jù)則保存在其他地方以保護數(shù)據(jù)。
總之有需求就有市場,每個客戶都有自己的需求和架構(gòu),如果是需要額外磁盤,那么openstack的cinder可以提供塊存儲。
接下來開始動手實踐。
我的所有虛機都已關機,接下來按照順序依次打開Master->controller->compute主機,如圖FUEL UI可以正常訪問
openstack UI可以正常訪問了
要想使用volume得安裝和配置cinder服務,我之前沒有配置此服務,所以這里需要再創(chuàng)建一個虛機來作為cinder使用,同時也是compute主機,以后做遷移的實驗來用,當然其實在***次部署的時候,我們就可以把cinder功能同controller或者compute主機一同部署在同一臺主機上這樣這個功能就直接可用了,我這里是考慮以后的實驗和演示效果,所以單***建了一臺虛機,如下圖的cinder主機,跟之前的虛機設定是一樣的,為了節(jié)省資源我給了大概800M內(nèi)存,怎么開機
已經(jīng)自動從PXE啟動
啟動過程中咱們進入darshboard,看一下instance,他還在,只是我上次實驗完成就關機了
cinder主機馬上引導完成
FUEL已經(jīng)檢測到了主機
如之前,選擇新增主機,我們選中主機,然后分配compute和storage-cinder兩個角色
選擇如下
應用變更
然后跟之前虛機相同更改網(wǎng)絡接口如下
選中該主機
單擊右上角的部署變更
確認變更信息
開始部署了,這就是FUEL的方便性,而且我們已經(jīng)在生產(chǎn)環(huán)境部署了,效果還可以。
奇怪的是,這里提示啟動失敗,于是隨意按鍵重新引導
正常引導安裝,沒有其他意外
centos安裝完成,接下來開始安裝部署openstack的cinder和nova組件
這個時間不長,完成了。
咱們看一下三臺虛機安裝的服務,可以看到controller的服務最多,有cinder的api和schedule,而volume服務在cinder主機上,compute主機上沒有cinder服務,這下我們可以理解部署了cinder的volume服務才可以使用云磁盤
#p#
展開“volumes”,單擊右上角的“create volume”來創(chuàng)建云磁盤
在新彈出窗口填寫磁盤名字和磁盤大小,我這里默認1G來做實驗,其他默認即可
創(chuàng)建完成,主要看“status”為available即為正常
這時我們需要展開instances,單擊“start instance”來啟動云主機,以便于附加磁盤
我是I3的CPU和8GB內(nèi)存,大家可以看看我此時的資源占用情況
主機啟動完成,我們看下主機內(nèi)部分配的IP地址
然后展開“network topology”看下網(wǎng)絡拓撲,大家應該可以大概了解咱們的虛機、內(nèi)網(wǎng)、路由和公共網(wǎng)絡的關系了
再回頭看看部署時的這張圖
好了,既然volume創(chuàng)建完成,虛機依然開啟,那么接下來開始分配磁盤給云主機,展開volumes,在希望分配的磁盤后面單擊下拉菜單,選擇“edit attachments”
在新窗口選擇要把此volume附加給哪臺虛機,咱們這只有test01
此時,再看已經(jīng)分配出去了,而且可以看到在云主機上此volume是/dev/vdb,要記得這里
分配完成了,看看主機是否識別,使用CRT連接到云主機,由于這是mini Ubuntu系統(tǒng),使用管理命令需要sodu,使用sudo fdisk -l看下是否識別到了vdb
從上面看已經(jīng)識別到了,然后咱們開始格式化,命令如下
然后格成文件系統(tǒng)并掛載
掛載后可以正常使用嘍,是不是很好用啊。
#p#
那怎么卸載呢,是不是直接刪除volume就可以了呢,當然不行,反正之前Havana版本直接刪除volume會一直卡在刪除狀態(tài),需要手動再底層刪除,UI界面是沒辦法了,這也是一個BUG,不知道在juno版本有沒有修復,你們可以測試下。
當然那也不是正常的操作流程,那么我們按照正常流程走一遍。
首先需要我們在云主機上umount該磁盤,如下
然后回到“vilumes”界面,在右側(cè)的下拉菜單依舊選擇“edit attachments”
在新彈出窗口選擇detach volume
確認
現(xiàn)在可以看到volume已經(jīng)detach了,就是和云主機解除綁定了。
以上是關于volume的操作。
我這實際環(huán)境中使用的情形跟大家分享下:
我這里云主機創(chuàng)建在本地,cinder使用共享存儲,數(shù)據(jù)全部存儲在volume上,一旦虛機出現(xiàn)問題或者物理主機故障,會把volume再掛載到其他主機上,這樣可以保證數(shù)據(jù)不丟失,也是針對目前openstack HA功能缺失或者不完善的一種不***的解決方案。
接下來如果有時間,我會寫一下虛機遷移等實驗。