virt-manager libvirt Iscsi qcow KVM 虛擬化

架設KVM/libvirt虛擬化叢集-配置儲存空間

2013-04-02
網管人84期已介紹過如何使用KVM與libvirt架設虛擬化叢集,其儲存方式是採用NFS。但NFS並非唯一的網路存取方案,本篇將會介紹另一種iSCSI的網路儲存方式。


▲圖2 新增iSCSI Target步驟2。

如圖1~2所示,將Target改成iscsi。然後除了輸入Hostname外,在Source Path上輸入Target名稱,按〔Finish〕即可。

使用iSCSI新增虛擬機器

在設定storage的地方調整一下步驟,直接選取尚未被使用的LUN空間即可,如圖3所示。


▲圖3 新增iSCSI虛擬機器圖示。

qcow格式

qcow是QEMU的copy-on-write映像檔格式。由於在使用到虛擬硬碟空間時才會增加大小,於硬碟空間有限的桌上型電腦環境下相當實用,比較新的qcow2還可利用一個映像檔為基礎建立新的映像檔。這裡將介紹如何從VMware或VirtualBox的硬碟格式轉換成qcow2,以及如何建立qcow2的快照(Snapshot)。

目前QEMU映像檔系列最新的QED效率已有提升,不過由於本篇教學所使用的Debian Squeeze裡沒有可以支援QED的QEMU,因此將不介紹。

建立qcow映像檔

映像檔剛建立時,只會佔用很小的空間,但經過使用,空間會越佔越多。

建立映像檔主要有兩種方式:從virt-manager建立及使用命令列指令建立。

從virt-manager建立
如果是使用本機安裝,或是NFS格式的網路存取,virt-manager在建立映像檔的時候就可以選擇以qcow2作為映像檔格式。

使用命令列指令建立
也可以使用以下的指令:


例如,執行指令「$ qemu-img create -f qcow2 debian-squeeze-test1.img 16G」來建立映像檔。

從基礎的映像檔建立映像檔

qcow2可以從基礎的映像檔(Backing File)建立一個映像檔。藉此,可以一個映像檔為基礎建立不同的映像檔,用在不同的虛擬機器上,就不需要再重新安裝作業系統。

不過,透過基礎的映像檔建立映像檔之後,請不要任意使用基礎的映像檔,以免造成不必要的麻煩。

可以使用以下指令來建立:


例如剛安裝好一套Ubuntu Server,為了方便可以透過它來建立一個快照:


也可以查詢映像檔用到的是哪一個Backing File:


在映像檔內進行快照

透過qcow格式,可以在映像檔內進行快照,這有助於系統管理。建立快照後,如果虛擬機器出現問題,可以再從快照還原之前的狀態。相關指令如下:


轉換映像檔

如果想將身邊其他格式的映像檔轉換成qcow2格式,則使用以下指令轉換:


支援的格式相當多,包含VMware的vmdk、VirtualBox的vdi等。指令範例如下:


使用該映像檔建立新的虛擬機器

若要使用剛建立好的映像檔,可以將映像檔放置在Storage Pool指定的目錄內(如果是單機使用,預設是「/var/lib/libvirt/images」,必須使用root或sudo權限才能放置),並在建立虛擬機器時直接從Storage Pool選取該映像檔即可,如圖4所示。


▲圖4 使用映像檔建立新的虛擬機器。

結語

筆者介紹了如何使用iSCSI作為libvirt的儲存池,也說明qcow磁碟儲存格式。雖然兩者在libvirt裡面無法同時使用,但讀者可以依照效能的需求或是便利性自行決定要使用哪一種格式,以達到最佳的生產力。

<本文依創用CC BY-ND-NC授權刊登,原文請見:http://www.openfoundry.org/tw/tech-column/8539>


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!