Windows操作系統作為優秀的操作系統,由開發操作系統的微軟公司控制接口和設計,公開標準,因此,有大量商業公司在該操作系統上開發商業軟件。 既然是選擇題,還是先說答案。這樣對于thin/thick概念比較熟悉的同學就可以不用浪費時間看后面的長篇大論了。 如果必須用FT,只能選eagerzeroedthick 如果追求最佳應用性能不考慮空間占用,選eagerzeroedthick 如果希望最大程度的利用空間,并且對磁盤的增長是可控的,可以選thin格式 如果不希望空間的過量分配(oversubsribe)造成潛在的問題,可以選擇默認的thick(zeroedthick) 【虛擬磁盤的格式】 虛擬磁盤有3種格式:(1)thin provision (2)thick(也叫zeroedthick) (3)eagerzeroedthik (1) thin provision就是一種按需分配的格式,創建時虛擬磁盤不會分配給所有需要的空間,而是根據需要,vmdk自動增大并一邊zero一邊使用這些新空間;vmdk文件的真實大小不等于創建的虛擬磁盤的大小,而只是等于實際數據的大小。(zero就是對磁盤空白處寫入0,可以理解成或者翻譯成初始化)。 (2) zeroedthick格式,在創建時分配給所有空間,vmdk文件大小等于創建的虛擬磁盤大小,虛擬磁盤中的空閑空間被預占,但空閑空間(empty space)并沒有zeroed,需要在使用的時候再zero。由于磁盤在第一次寫入時必須zero,這個類型的磁盤在第一次磁盤塊寫入時會有輕微的 I/O性能損失。 (3) eagerzeroedthick,在創建時分配給所有空間,vmdk文件大小等于創建的虛擬磁盤大小,虛擬磁盤中的空閑空間被預占。另外,在創建磁盤時,會將所有數據塊都初始化(zero),這將花費更多時間。這種格式的磁盤因為已經zero化,使用時不再需要zero,因此第一次寫入數據到磁盤塊時的性能較好。啟用FT必須使用eagerzeoedthick格式的虛擬磁盤(如果原先不是,也會被轉換成這種格式) 舉例來說,1個500GB的虛擬磁盤,其中100GB已用,還有400GB未用空間。thin格式的vmdk文件大小就是 100GB,zeroedthick和eagerzeroedthick格式的vmdk文件大小都是500GB,只不過eagerzeroedthick的那400GB未用空間都已經初始化過了,都填上了0,而zeroedthick的那400GB未用空間還沒初始化。 在VI3.5時,GUI界面中沒有提供虛擬磁盤類型的選擇,而是直接使用默認類型,默認情況如下: 在VMFS datastores上創建新的虛擬磁盤,默認為thick (zeroedthick) 在NFS datastores上創建新的虛擬磁盤,默認為thin 從模版部署一臺VM默認為eagerzeroedthick 克隆一臺VM默認為eagerzeroedthick 這就是為啥ESX3創建一個新的虛擬磁盤的時候顯得很快,但是從模版部署或者克隆的時候卻要花很多時間。現實中,大多數虛機的創建,都是通過從模板部署或克隆一臺現有的虛機來實現的,所以在ESX3.x時代,thin格式沒啥大用處,虛機的磁盤基本都是eagerzeroedthick格式。 但是,到了vSphere4,VMware對此做了重大的改進,從模版部署一臺VM或者克隆一臺VM不再默認為eagerzeroedthick,而是有一個GUI可以讓你選擇thin還是thick(即zeroedthick)。(關于zeroedthick的clone性能和eagerzeroedthick格式的clone時性能比較,有待測試) 注:在VI3.x的時候,如果不想用默認選項(比如在VMFSdatastore上想創建一個thin格式的虛擬磁盤),可以(在創建虛擬磁盤向導GUI中)選擇不創建虛擬磁盤,而到vmkfstools命令行中創建。 vSphere4,GUI中多了2個選項,可以選成Thin Provisioning或者選Support clustering features such as FT,就是eagerzeroedthick格式。見下圖。(注意,這2個選項是互斥的。)如果這2個選項都不選上,則是默認的zeroedthick格式。 【這三種格式如何轉換?】 從thin轉換成thick有3種方法: (1)svMotion svMotion GUI中的thick指的是eagerzeroedthick,用svMotion可以將虛擬磁盤格式轉成thin或者eagerzeroedthick,但是沒有選項可以轉回zeroedthick. (2)在vSphereClient中選datastore視圖,找到你要轉換的虛擬磁盤,點右鍵。如果這個vmdk是thin的話,可以選inflate來轉換(必須是VMFS,NAS的datastroe沒有這個選項) 轉換的時候虛機必須關閉中,如果在運行中,則會報"Failed to lock the file"錯。 (3)可以用命令行 service console界面: vmkfstools–inflatedisk -a RCLI/vMA: Vmkfstools.pl 問:可以shrink嗎?(也就是可以從thick轉換成thin嗎?) 答:你不能直接從一個thick或eagerzeroedthick格式的虛擬磁盤轉換成thin格式的。但是你可以用Storage vMotion來實現。(svMotion是vSphere4中的新功能,VI3不支持) 【存儲Thin Provisioning】 實踐中,很多存儲設備都自己具有Thin provision技術。也就是說,LUN的Thin Provisioning。和VMware對vmdk的Thin provision類似,LUN的thin provision指LUN文件不預占空閑空間,LUN文件的大小隨其中已經占用的文件大小來增長。 比如你為一個VMFS datastore創建了一個iSCSI LUN,大小為500GB,并在其中創建了1個100GB的thick的虛擬磁盤。如果沒有啟用存儲的Thin Provision,那么這個thick的LUN占了500GB空間。如果啟用thinprovision,則thin LUN占100GB空間。如果這個100GB的虛擬磁盤是thin格式的,其中只有20GB數據,那么thin vmdk只有20GB大(provisionedsize 20GB, max size 100GB),這種情況下,thin LUN只占20GB。這被稱為thin in thin方式。 thin in thin方式必須格外注意可用空間,因為如果很多VM都突然增長到了max size,存儲設備上又沒有足夠的可用空間可以擴展,可能會導致很多虛機因無法寫入磁盤而崩潰。 NetApp建議,如果采用thinLUN的方式,建議設置volume大小自動增長策略,當LUN長大時可以相應自動擴大動態volume的大小,以免LUN大小無法自動擴大而引起的災難。 scott書中的最佳實踐說,建議總是使用存儲自帶的thin provisioning技術(除非thin LUN有負面的性能問題);本人并不完全贊同。個人覺得,提高空間利用率的最佳方式,不在于thin provision,而在于是否啟用重復數據刪除技術(DDD, Data DeDuplication)。對于VMFS datastore,還是應該用thick的LUN,并啟用DDD。對于NFS的datastore,沒有thin LUN的問題,直接采用DDD即可。 Windows操作系統對硬件支持良好。 |
溫馨提示:喜歡本站的話,請收藏一下本站!