CloudStack 是一個開源的具有高可用性及擴充性的雲計算平臺,支援管理大部分主流的虛擬機器管理器,比如 KVM 和 XEN。 在 CloudStack 中存在兩種存儲:主存儲為虛擬機器實例提供磁片卷,二級存儲提供虛擬機器實例的範本,用於安裝系統的鏡像檔案及虛擬機器實例的磁片快照。 這兩種存儲都支援網路連接存儲(NAS)。
圖 0. CloudStack 架構
本文我們將以一台 Linux 主機為例,其上運行 KVM 作為計算節點。 同時 SONAS 創建網路共用檔案系統(NFS)來為此計算節點存儲虛擬機器系統的鏡像範本以及批量虛擬機器實例的虛擬磁片,以此來實現提高存儲效率和部署虛擬機器實例效率。 文中所涉及的虛擬機器實例有 Red Hat Enterprise Linux 5.5 和 Windows Server 2008 R2 Standard 兩種類型。
IBM GPFS 檔克隆功能介紹
GPFS(General Parallel File System ) ,即通用並行檔案系統。 它是一種高性能、磁片共用的集群並行檔案系統,其集群內所有節點可以並行訪問整個檔案系統。
檔克隆(File Clone)有點類似檔拷貝,不同的是檔克隆速度要遠遠快于檔拷貝,並且其存儲空間的利用率更高。 克隆檔本身類似于一個可寫的檔快照,其只有發生變化的資料才會真正開始佔用磁碟空間。 因此我們可以通過克隆虛擬機器的系統通用範本,配置克隆檔為虛擬機器實例的虛擬磁片,來用於提高虛擬機器實例的存儲效率。 這樣在雲計算環境下,部署批量虛擬機器時就可以節約巨量的存儲空間。
查看 GPFS 檔案系統上某個已有檔:
[root@99m4912.mgmt001st001 Linux]# ls -al Basic.img-rwx------ 1 root root 10737418240 Jul 28 03:53 Basic.img[root@99m 4912.mgmt001st001 Linux]# du -lh Basic.img10G Basic.img
使用命令創建 Basic.img 的檔克隆:
[root@99m4912.mgmt001st001 Linux]# mkclone -s /ibm/frank/image/Linux/Basic.img \ -t /ibm/frank/image/Linux/ BasicClone1EFSSG1046I The clone file has been successfully created. EFSSG1000I The command completed successfully.
現在來查看其克隆檔的大小:
[root@99m4912.mgmt001st001 Linux]# ls -al Basic*-rwx------ 1 root root 10737418240 Jul 28 04:05 BasicClone1-rwx------ 2 root root 10737418240 Jul 28 03:53 Basic.img[root@99m4912.mgmt001st001 Linux]# du -sh Basic*0 BasicClone110G Basic.img
我們注意到,對一個 10G 的檔創建檔克隆後,其初始佔用空間為零。
接下來,我們會使用基於 GPFS 的 SONAS 存儲系統為計算節點 KVM 平臺提供存儲空間,同時使用 SONAS 檔克隆的特性來快速拷貝虛擬機器實例的磁片鏡像檔案。