Glance – 映像檔管理服務

Glance – 映像檔管理服務

在環境與網路設定完畢後,需要使用映像檔建立虛擬機環境,以往大部分的人都是透過ISO檔進行,需要一步步的進行設定,或使用先前打包好的環境,在OpenStack中,我們可以利用各OS原廠所打包好的映像檔,省下非常多的時間,也可利用快照功能,將已安裝好的環境重新封裝成映像檔,本文將介紹如何取得映像檔與如何使用。

映像檔可從OpenStack官方網站提供了各版本的連結,請參考以下位置:

https://docs.openstack.org/image-guide/obtain-images.html

有相當多種格式可使用,本文只介紹常用的檔案格式:

  • QCOW2
  1. QEMU Copy-On Write Version 2,常用於KVM之環境,OpenStack虛擬機大多使用此格式。
  • RAW
  1. RAW格式的虛擬機映像檔為可攜式二進制格式

在這個頁面中也有其他的方式可以進行映像檔製作,不過礙於篇幅關係,暫時不多作介紹。

在選用相對應的格式時,應該注意管理程序是否能夠讀取,例如我們使用KVM(Kernel-based Virtual Machine)作為管理程序(Hypervisor)時,主要是選用QCOW2格式或RAW格式,此兩種格式在使用上有一些差異存在。

在本文中,我們下載Ubuntu16.04、Cirros兩個映像檔進行後續的介紹,管理者可以利用管理者權限進行映像檔上傳,並且決定映像檔的屬性,例如是否為公開、需不需要附加其他屬性…等等,在一般的專案中,使用者也可上傳屬於自己的映像檔,並且能夠與其他專案有所區隔,不會存取到其他專案的映像檔。

在Admin / Compute / Images中,按下右邊的Create Image功能。

按下後會有需要填入映像檔基本資訊的欄位,在此我們填入CIRROS。

填入基本資訊後,按下Browse需要選擇所需要的映像檔,並且決定格式為QCOW2。

當中有些選項我們先pass他,文後介紹,按下Create Image後,這個映像檔就被上傳至OpenStack Glance(映像檔服務)中了。

此時我們已經可以利用剛剛上傳的映像檔建立虛擬機了,在管理者頁面中,我們不太建議在此建立虛擬機,應該要回到各自的專案中進行虛擬機的建置,目前我們所擁有的專案為service、admin這兩個專案,後續我們將有另外的章節說明Keystone權限管理。

此時我們可以切換至Project / Compute / Images的頁籤,再上傳Ubuntu的映像檔,不過這次,我們需要對映像檔做點限制。

這個時候我們對新上傳的映像檔調整其中四個屬性,各屬性說明如下:

  • Minimum Disk (GB): 3
  1. 最小硬碟空間(GB): 3 GB
  • Minimum RAM(MB): 2048
  1. 最小記憶體(MB): 2048 MB
  • Visibility: Private
  1. 能見度:私有
  • Protected: Yes
  1. 保護映像檔:是

使用者在建立虛擬機時,往往無法得知虛擬機所需要的最低需求,此時我們可以利用Minimum DISK、RAM兩個屬性做限制,使用者在選擇時就能夠避免選錯規格的問題,在Visibility這個屬性上,主要在敘述這個映像檔是否為公開的,一般使用者所建立的映像檔都是非公開的屬性,僅擁有管理者權限的使用者在建立映像檔時,能夠建利公開屬性之映像檔。

Protected屬性在於保護映像檔,在值為Yes時,使用者與管理者皆無法刪除映像檔,只有這個屬性為No時,才能夠刪除映像檔。

這個時候我們利用CIRROS的映像檔,讓我們很快速的建立一下虛擬機,詳細的設定將在後續文章中提到。

回到Project / Compute / Instances頁籤,按下Launch Instance。

按下後,我們需要決定虛擬機的名稱,輸入Cirros VM後按下Next。

接下來決定來源,一開始會有個選項容易造成使用者混淆,我們先將Create New Volume從Yes改為No。

改為No後,我們將CIRROS這個映像檔移至Allocated的列表中,可按向上的圖案改為映像檔的來源,選擇完畢後按下Next。

接下來選擇虛擬硬體規格(Flavor),我們選擇m1.tiny後按下Next,虛擬硬體規格也將在後續的章節中介紹。

接下來我們需要選擇虛擬網路,若還沒有虛擬網路,請參考先前的文章建立,在此我們選擇PrivateNet這個網路,若有需要,也可以讓虛擬機有多個虛擬網路,在此我們只使用一個,後續章節將會提到多張虛擬網路卡的設定,在此請不要使用ExternalNet,設定完畢後,請按下Launch Instance按鈕,即可建立虛擬機。

虛擬機建立完畢。

我們可點選Cirros VM的連結查看虛擬機的相關資訊。

虛擬機的總觀。

虛擬機的Log訊息。

虛擬機的Console介面,若無畫面,請使用滑鼠點選底下灰色的功能列,按下Enter。

可先從Console使用帳密登入,Cirros的帳密為cirros / gocubsgo,登入後可以Ping看看外部的google DNS。

從Ping的結果中,可以確認虛擬機可以連到外部網路,此時我們需要設定安全群組與浮動IP,連入虛擬機中,設定細節將在後續章節介紹。

安全群組設定可從Project / Network / Security Groups找到。

我們可以調整預設的規則,請按下Manage Rules。

進到預設規則後,可以新增很多規則,我們在此新增SSH規則。

新增完畢後,我們會多出一條Ingress的SSH規則。

接下來我們可以新增浮動IP,我們可以在Project / Network / Floating IPs的頁籤中找到這個功能。

按下後Allocate IP to Project後,我們可以選擇ExternalNet這個IP Pool作為使用,按下Allocate IP後可取得一個浮動IP。

此時我們會看到一個浮動IP(192.168.122.100)已被建立,接下來可以按下Associate的功能,跟虛擬機綁定。

在Port to be associated中,我們可以選擇先前建立的Cirros VM作為綁定,按下Associate即可。

綁定完畢後,狀態會暫時呈現Down,數秒內即改為Active。

確認狀態為Active。

接下來我們可以透過Ping、SSH指令檢查方才設定的Security Groups是否正常,使用Ping時,虛擬機沒有回應,使用SSH時,虛擬機就會有正常的回應囉。

登入虛擬機後,我們可以檢查虛擬機中的IP位置與浮動IP的差異,浮動IP是利用NAT的方式,連到虛擬機,使用上的彈性較大,可允許使用者隨時解除浮動IP綁定,再將IP綁到其他虛擬機使用。

當環境使用一段時間或安裝了特定軟體想作為映像檔使用時,可以對虛擬機進行Snapshot功能,OpenStack會將虛擬機進行快照後,上傳一份至Glance的服務中,讓使用者後續可以利用快照檔建立虛擬機,我們將在下次的文章中介紹此功能,以及所需要注意的事項。

撰文: 陳彥勝 迎棧科技資深解決方案架構師

訂閱電子報

Select list(s)*

 

Loading