Fuel安裝OpenStack juno之使用OpenStack創建雲主機和Volume

   在雲中,基本的概念就是租戶和用戶,例如X公司買了某公司的公有云,那以X公司爲例,就是一個租戶,而這個公司買了N多雲主機給公司的員工使用,這些員工就是用戶。那角色又是什麼呢,這個租戶中有N多雲主機,總有人來管理和分配的,那這個管理員就是admin角色,而其他的用戶就是普通用戶,也可以適當的賦權給他們,這個角色可以理解爲一系列權限的合集。

    這個租戶、用戶和角色的創建分配,我就不演示了,相信做IT的基本都應該瞭解。我們默認的OpenStack環境是有一個admin的租戶,有一個admin的用戶,擁有admin的權限,咱們就是用默認的做實驗即可。


其一:創建雲主機,並可以SSH登錄


  在部署完成後,Fuel Master就可以關機,或者放在一邊了,完全不影響openstack的環境使用了。但是如果整個openstack環境都關機了,那麼開機也有個順序,我們先打開controller,等開機後再打開compute主機,這樣各個服務才能找到他的服務器通信。

  爲了演示,我把controller內存調整爲1.5G,compute內存調整爲3G,以便於創建虛機,如果計算節點內存分配過小,那麼創建雲主機的時候就會報錯。

wKioL1TDO-OjeeMPAAK3PJtttxQ686.jpg

wKiom1TDOwqCLIQEAALFVj2ReXQ774.jpg

  首先開啓controller主機,然後再開啓compute主機

wKioL1TDO-Sz1tkpAAEkU93PXiE355.jpg

  還記的之前部署環境的openstack的UI地址吧:172.16.0.2,用戶密碼同爲admin

wKiom1TDOwqB1m-xAABNRISQwKs313.jpg

wKioL1TDO-TTB2kNAACxYxn3NRo838.jpg

  這裏提示cookies問題,刷新瀏覽器或重啓瀏覽器後可以解決

wKiom1TDOwvAd4jPAADrhIeIaks203.jpg

  進入到咱們工作平臺啦

wKioL1TDO-WCBOExAAKDXkyNWyw246.jpg

  咱們首先看看這個網絡,還記得Fuel UI的如下網絡嘛,相信很多朋友不理解這是幹什麼的。這裏解釋下這個192.168.111.0網段是給雲主機內部使用的,但是僅限於虛擬機內部通信,不能和這個網絡之外通信或者上網。那這個172.16.0.0網段就是外部網絡了,也是咱們可以分配給雲主機做floating IP使用的地址段,這兩部分都可以調整,在下面繼續介紹。

wKiom1TDOwvy7mVoAAG9IBG6808296.jpg

  在openstack UI界面,打開“network topology”,看一下我們使用的網絡拓撲,未來雲主機都會接在“net04”這個網絡上,分配的IP地址也是192.168.111.0這個網段的,網關指向中間的路由器,網關地址是192.168.111.1,這個路由鏈接的就是咱們的公開網絡“net04_ext”這是我們的外部網絡,也就是跟咱們的PC機在一個網段或者互通了。

wKioL1TDO-Whl_TJAAE_YcpdmPs282.jpg

    接下來就開始創建雲主機(虛機),我們打開instances界面,單擊右上角的“launch instance”開始創建

wKiom1TDOwzwPBP_AAIBqAkhsRU395.jpg

  在彈出的窗口內,“details”是雲主機的相關信息,“access&security”是選擇安全組,默認是defaults安全組,“networking”是選擇管理的網絡,“post-creation”是創建雲主機後需要運行的腳本信息,需要自己添加,這幾個是必須的

wKioL1TDO-axWaquAAIj1bSzyuY191.jpg

  在“details”選項內,填寫新建雲主機名字“test01”,flavor類型可以查看flavor菜單,裏面有很多類型,針對默認的一個迷你操作系統,定義了CPU,內存和硬盤燈資源,咱們也可以收到修改,很容易理解,我就不再演示,咱們這裏選擇“m1.tiny”,也就是如右邊所展示的包含1個vCPU、一個1G的磁盤和512M的內存,創建數量選擇1,如果是批量創建,就選擇你要創建的數量,例如20,當然你要計算好這個計算節點可以承受的虛機數量,包含CPU\RAM\DISK等資源,“instance boot source”選擇“boot from image”,“image name”選擇“testVM(12.6MB)”,這是個迷你操作系統。

wKiom1TDOwzQWQJ1AAJR2urduP8226.jpg

  “access&security”選擇默認的default即可,networking則是選擇net04,也可以手動創建多個不同網段的內網,只要你需要,我們這裏選擇關聯net04,當然這裏不能直接關聯公共網絡。

wKiom1TDOwzjCAHMAAFoOfDpeHk728.jpg

  後面選擇默認即可。點擊右下角的“launch”後開始創建虛機,根據磁盤等資源的大小,等待一段時間後創建完成,下圖顯示正在創建

wKioL1TDO-azzr4cAAGpVnfmlVg049.jpg

  如下是已經創建完成的雲主機,“status”顯示active,IP地址是192.168.111.3,這裏應該明白點了吧

wKiom1TDOwyAb3XAAAF99thIjro119.jpg

  現在的雲主機只能使用VNC來訪問,這個VNC的效果真是不敢恭維,所以我習慣使用CRT來訪問,那麼按照前面說的,這個虛機現在只有192.168.111.3這個私有IP,這個IP只能是多個雲主機之前通信,需要外部通信的話,還需要分配一個172.16.0.0的IP地址,直接在雲主機內存添加網卡手動配置可不可以,當然不行,在openstack中floating IP也是一種資源,需要從IP地址池中拿出一個IP來跟雲主機做關聯。這裏演示下。

  在該雲主機的嘴右邊“actions”下有一個下拉菜單,單擊,然後選擇“associate floating ip”

wKioL1TDO-ez4L-0AAI5JpIZRNg147.jpg

  在新彈出窗口內,我們還沒看到公開網絡,單擊中間的+號,在下面的新窗口內選擇“net04_ext”網絡,單擊右下角的associate進行關聯

wKioL1TDO-eBNpIHAAFT0tjezIQ508.jpg






wKiom1TDOw2g_VP0AAEXMePgvpk980.jpg

  這時,回到floating ip管理頁,可以看到公開網絡的網段了,默認分配的172.16.0.131,當然也可以手動選擇,單擊右下角的associate

wKioL1TDO-ewoDXUAAG5N8ttDXc259.jpg

  好了,回到instance界面,看到此時已經分配了floating ip了

wKiom1TDOw7RjWRBAAGSwmJK2BY521.jpg

  那現在可以ping或者SSH了嗎,當然不可以,這是由於安全策略的緣故,我們得修改下策略來放行ICMP和SHH

wKiom1TDOxHjo_d7AAKGqyg-m2Y048.jpg

  打開“access & security”菜單,這裏默認只有default一組安全組,我們也可以創建,但是新創建的話還是得手動再跟雲主機管理,而默認組已經默認關聯了,我們只要修改策略就可以了,所這裏我們直接修改,不再添加安全組了。

  單擊default安全組左邊的“manage rules”

wKioL1TDO-uyPQIKAAG1XCB_GgY783.jpg

  在新窗口,單擊右上角的“add rule”

wKiom1TDOxLym_x-AAH0rLmSu5I380.jpg

  先添加ICMP,在“rule”欄選擇“ALL ICMP”,下面默認全部放行即可

wKioL1TDO-3AhxjGAAMw0t8ncDE379.jpg

  看看,是不是可以ping通了

wKioL1TDO-3hc34FAAFvTm6NM08740.jpg

  接下來如上方法,添加SSH規則

wKiom1TDOxPQtZOrAACOKt9U5Tk901.jpg

  添加完畢,規則如下

wKioL1TDO-6QJ4AcAAKkHoIUD58098.jpg

  放行了SSH就可以遠程登陸了,但是用戶名和密碼呢。如是自己上傳的鏡像,相信自己都曉得,也別擔心,這openstack自帶的鏡像用戶名和密碼在這裏。

  回到instances菜單,單擊雲主機名稱“test01”

wKiom1TDOxTBukDxAAKCW6FBSEk945.jpg

  “overview”可以看到雲主機的信息概覽,在“log”裏面可以看此雲主機的log

wKioL1TDO-6wgI9JAANGk9G3xDs947.jpg

  拉到最低如下,可以看到用戶名cirros和密碼cubswin:)

wKiom1TDOxSDfC47AADMqoqcaVM267.jpg

  那現在可以使用CRT登陸了,如下。

wKioL1TDO-7wjB-CAAFwP4BWrAk372.jpg

    創建雲主機完畢,也可以SSH登陸了,當然大家也可以批量創建,省心不少,也可以上傳自己的鏡像,比較這個自帶的鏡像只是用來測試的,甚至大家可以上傳IOS鏡像,這個如有時間,以後再做介紹。


其二:給雲主機附加磁盤volume


  上面已經跟大家介紹了怎麼創建和訪問雲主機,接下來介紹怎麼給虛機附加磁盤。

  那麼爲什麼要給雲主機增加額外的磁盤呢。

  這就看需求了,一是虛機時創建在本地,還是共享存儲;二是很多客戶習慣本地只有OS信息,而數據則保存在其他地方以保護數據。

  總之有需求就有市場,每個客戶都有自己的需求和架構,如果是需要額外磁盤,那麼openstack的cinder可以提供塊存儲。

  接下來開始動手實踐。


  我的所有虛機都已關機,接下來按照順序依次打開Master->controller->compute主機,如圖FUEL UI可以正常訪問

wKiom1TDZOjTKdJ5AANQuRopZfE065.jpg

  openstack UI可以正常訪問了

wKioL1TDZcKByDkTAAErCBuyX7k479.jpg

  要想使用volume得安裝和配置cinder服務,我之前沒有配置此服務,所以這裏需要再創建一個虛機來作爲cinder使用,同時也是compute主機,以後做遷移的實驗來用,當然其實在第一次部署的時候,我們就可以把cinder功能同controller或者compute主機一同部署在同一臺主機上這樣這個功能就直接可用了,我這裏是考慮以後的實驗和演示效果,所以單獨創建了一臺虛機,如下圖的cinder主機,跟之前的虛機設定是一樣的,爲了節省資源我給了大概800M內存,怎麼開機

wKiom1TDZOiTSr_GAAKpyV-IOPM487.jpg

  已經自動從PXE啓動

wKioL1TDZcPDlPhnAAFvEW-z8o8714.jpg

  啓動過程中咱們進入darshboard,看一下instance,他還在,只是我上次實驗完成就關機了

wKiom1TDZOngnB7AAAFkI7-BS1c747.jpg

  cinder主機馬上引導完成

wKioL1TDZcOCE1kRAAKYZo-cC5E786.jpg

  FUEL已經檢測到了主機

wKiom1TDZOrDlhkVAAD1BIBwEs0592.jpg

  如之前,選擇新增主機,我們選中主機,然後分配compute和storage-cinder兩個角色

wKioL1TDZcbBBhlSAAQlQP_mlIY570.jpg

  選擇如下

wKioL1TDZcegPqg_AAM9rj4q4cY979.jpg

  應用變更

wKiom1TDZO3jUhWeAAFlywczDWs848.jpg

  然後跟之前虛機相同更改網絡接口如下

wKioL1TDZcnjl0E3AAOUEUZcdYU170.jpg

  選中該主機

wKiom1TDZO_Q0VttAAEEgytgQ8E684.jpg

  單擊右上角的部署變更

wKioL1TDZcvAbVVPAAMHSu3tEGs139.jpg

  確認變更信息

wKiom1TDZPHBMHVWAADxcAlCXfA895.jpg

  開始部署了,這就是FUEL的方便性,而且我們已經在生產環境部署了,效果還可以。

wKioL1TDZcziqYwWAAMgLAGEsxA113.jpg

  奇怪的是,這裏提示啓動失敗,於是隨意按鍵重新引導

wKiom1TDZPOSF5I3AATVFkxYEHE870.jpg

  正常引導安裝,沒有其他意外

wKioL1TDZc6gwTYaAAQyuzI3nNw806.jpg

  centos安裝完成,接下來開始安裝部署openstack的cinder和nova組件

wKiom1TDZPWgMstSAALOD7cozpY391.jpg

  這個時間不長,完成了。

wKioL1TDZdChS7PFAAD_vEq08h0470.jpg

  咱們看一下三臺虛機安裝的服務,可以看到controller的服務最多,有cinder的api和schedule,而volume服務在cinder主機上,compute主機上沒有cinder服務,這下我們可以理解部署了cinder的volume服務纔可以使用雲磁盤

wKiom1TDZPfAYkN9AAZzeTSaXKU257.jpg

  展開“volumes”,單擊右上角的“create volume”來創建雲磁盤

wKioL1TDZdLS_lCMAAH5UCMfdHg651.jpg

  在新彈出窗口填寫磁盤名字和磁盤大小,我這裏默認1G來做實驗,其他默認即可

wKiom1TDZPjxstR0AAGeR-ktdZA854.jpg

  創建完成,主要看“status”爲available即爲正常

wKiom1TDZPjiFAzVAAFqYvkWHzM058.jpg

  這時我們需要展開instances,單擊“start instance”來啓動雲主機,以便於附加磁盤

wKioL1TDZdLAGtkWAAJKhmpq0xA580.jpg

  我是I3的CPU和8GB內存,大家可以看看我此時的資源佔用情況

wKiom1TDZVODnSOnAALmz2fP28A761.jpg

  主機啓動完成,我們看下主機內部分配的IP地址

wKioL1TDZi6CfwoQAAKomuEMLJI177.jpg

  然後展開“network topology”看下網絡拓撲,大家應該可以大概瞭解咱們的虛機、內網、路由和公共網絡的關係了

wKiom1TDZVSiLSjSAAE_l0UdScY155.jpg

  再回頭看看部署時的這張圖

wKioL1TDZi6z_h6jAAIih1ZLZfE577.jpg

  好了,既然volume創建完成,虛機依然開啓,那麼接下來開始分配磁盤給雲主機,展開volumes,在希望分配的磁盤後面單擊下拉菜單,選擇“edit attachments”

wKiom1TDZVTwuukxAAJvyxVWR4s598.jpg

  在新窗口選擇要把此volume附加給哪臺虛機,咱們這隻有test01

wKioL1TDZi7irK_4AAFxxY2tLNc393.jpg

  此時,再看已經分配出去了,而且可以看到在雲主機上此volume是/dev/vdb,要記得這裏

wKiom1TDZVSg2CzgAAI0s_uh99s278.jpg

  分配完成了,看看主機是否識別,使用CRT連接到雲主機,由於這是mini Ubuntu系統,使用管理命令需要sodu,使用sudo fdisk -l看下是否識別到了vdb

wKioL1TDZi_iPQ51AATHXACxH68944.jpg

  從上面看已經識別到了,然後咱們開始格式化,命令如下

wKioL1TDZi-y9v_lAATuprJNbTI801.jpg

  然後格成文件系統並掛載

wKiom1TDZVXD6O0WAAM9j2OUlps920.jpg

  掛在後可以正常使用嘍,是不是很好用啊。

  那怎麼卸載呢,是不是直接刪除volume就可以了呢,當然不行,反正之前Havana版本直接刪除volume會一直卡在刪除狀態,需要手動再底層刪除,UI界面是沒辦法了,這也是一個BUG,不知道在juno版本有沒有修復,你們可以測試下。

  當然那也不是正常的操作流程,那麼我們按照正常流程走一遍。

  首先需要我們在雲主機上umount該磁盤,如下

wKioL1TDZjCgrK4_AAEPn7_jwhM001.jpg

  然後回到“vilumes”界面,在右側的下拉菜單依舊選擇“edit attachments”

wKiom1TDZVbyvKjqAAJPk-ZhZRs551.jpg

  在新彈出窗口選擇detach volume

wKiom1TDZVazwY2xAAD4j1wDQ_I724.jpg

  確認

wKioL1TDZjDA3_CsAAC6nraH6To870.jpg

  現在可以看到volume已經detach了,就是和雲主機解除綁定了。

wKiom1TDZVbyyfdFAAI6HcL82xE644.jpg

    以上是關於volume的操作。


    我這實際環境中使用的情形跟大家分享下:

    我這裏雲主機創建在本地,cinder使用共享存儲,數據全部存儲在volume上,一旦虛機出現問題或者物理主機故障,會把volume再掛載到其他主機上,這樣可以保證數據不丟失,也是針對目前openstack HA功能缺失或者不完善的一種不完美的解決方案。


    接下來如果有時間,我會寫一下虛機遷移等實驗。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章