計畫部署虛擬桌面環境前,必須先估算目前所使用實體桌面環境的工作負載與IOPS效能,並慎選儲存設備。唯有審慎估算貼近實務的IOPS效能,才能有效避免日後部署時出現任何不必要的效能問題。
那麼該怎麼預估這些虛擬桌面環境屆時會使用到多少IOPS儲存效能呢?表3依據各類使用者環境配置,提供IOPS預估,可作為參考。
表3 各類使用者環境配置分析
Q 2:如何規劃Windows XP/7的虛擬資源?
目前使用者桌面環境最常使用的作業系統是Windows XP和Windows 7,雖然Windows XP作業系統即將在2014年4月8日終止支援,但是依然有許多企業或組織的應用程式運作在此作業系統環境中,因此虛擬桌面環境中仍有可能使用此作業系統。
表4 Windows XP/7虛擬資源分配
在虛擬桌面環境的規劃上,由於Windows XP 64位元版本並不普及,因此在如表4所示的虛擬資源表格中並不會考慮該版本,而Windows 7作業系統部分則分為32位元及64位元。在Windows 7 32位元版本中,因為會有記憶體支援上限的問題,所以一般在規劃上最多不會分配超過3GB的記憶體(在實體機上Windows 7的32位元版本約可抓到3.25GB記憶體,但虛擬環境中只會抓到3GB記憶體)。
Q 3:如何估算儲存設備的IOPS效能數值?
儲存設備在虛擬桌面環境中擔任非常重要的角色,所以在選購儲存設備時必須了解所選擇的儲存設備(NAS或SAN)之資料讀寫效能如何,也就是IOPS(I/O operations Per Second)數值,硬碟的IOPS計算公式如下(圖2):
|
▲ 圖2 硬碟IOPS計算公式。(圖片來源: VMware White Paper – Storage Considerations for VMware Horizon View 5.2) |
但是,在選擇儲存設備時往往常常會令人陷入兩難的局面,也就是如何在「效能(Performance)及容量(Capacity)」間進行取捨?
舉例來說,7,200 RPM SATA3(Serial ATA)的主流硬碟在容量上已經可達到304TB空間大小,並且售價通常也令人感到滿意,但在效能表現方面,亦即IOPS數值,則大約落在75左右。而15,000 RPM SAS(Serial Attached SCSI)主流硬碟容量為3000900GB,雖然採購費用是SATA硬碟的好幾倍,並且空間也小很多,但是其IOPS效能數值大約可達175左右。
如果採用的是SSD(Solid-State Disk)固態硬碟,它並不像傳統硬碟需要磁盤、讀寫頭等等零件,並使用Flash Memory如EEPROM(Electronically Erasable Programmable Read Only Memory)進行資料的讀寫,其中又可區分為SLC Flash(Single Level Cell)和MLC Flash(Multi Level Cell)兩種等級,SLC Flash儲存One Bit到每個Cell內,MLC Flash則儲存Multiple Bits於每個Cell中。所以,SLC Flash相較於MLC Flash大約多出「10倍」的資料寫入能力(當然價格也貴上許多)。
有此可見,選擇儲存設備時,如何在效能與容量之間取得平衡點相當重要。表5為目前市面上常見的硬碟其IOPS效能表現。
表5 市面上常見的硬碟種類及其IOPS效能表現
除了硬碟的類型及轉速影響IOPS效能數值外,還有磁碟陣列(Redundant Array of Independent Disks,RAID)的「處罰(Penalty)」和「快取(Cache)」部分需要考量,因為不同類型的磁碟陣列RAID模式,會影響到整體IOPS效能數值。舉例來說,建立RAID-5、RAID-6磁碟陣列類型時,因為要進行「同位元檢查(Parity Checking)」,所以雖然整體容量空間損失較少,但所帶來的影響則是在IOPS Write
I/O Penalty部分較多,如表6所示。
表6 各種磁碟陣列IOPS Write I/O Penalty比較
在大致了解硬碟種類及轉速所帶來的IOPS效能數值,以及選擇RAID磁碟陣列類型所帶來的資料寫入效能處罰之後,就可以估算出選擇儲存設備後所能得到的IOPS效能數值(圖3)。
|
▲ 圖3 儲存設備IOPS效能數值估算公式。(資料來源:VMware White Paper – Storage Considerations for VMware Horizon View 5.2) |
如果有「一台」VM虛擬主機的工作負載為25 IOPS,並且資料的讀取及寫入比例為40/60,而儲存設備的RAID磁碟陣列採用RAID-5,那麼即表示後端的儲存設備要負載這樣的一台VM虛擬主機時,必須具備「(25×0.4 + ((25×0.6)×4) = 70 IOPS」才行。
同樣的條件下,如果屆時這台儲存設備所要負載的VM虛擬主機是「500台」,那麼後端的儲存設備必須具備「(( 12,500×0.4) + ((12,500×0.6)×4)) = 35,000 IOPS」才行。
Q 4:儲存設備該採用哪種傳輸協定?
目前在虛擬化環境中皆支援儲存設備採用FCP(Fiber Channel Protocol)、FCoE(Fiber Channel Protocol over Ethernet)、iSCSI(Internet Small Computer System Interface)等儲存區域網路(Storage Area Network,SAN)環境,以及採用NFS(Network File System)的網路連接儲存(Network Attached Storage,NAS)環境。
SAN(FC、FCoE、iSCSI)儲存區域網路技術為採用Block-Level協定的Raw Storage類型,從ESX 2.0版本開始便支援FC協定,對Hypervisor來說,它就像使用本機硬碟一樣,其分享的儲存空間將由ESXi主機將所掛載的LUN空間格式化為VMFS檔案系統,且VM虛擬主機的硬碟格式可以支援Thick(Lazy、Eager),但必須注意最多只能有32台ESXi Host同時存取的限制。除此之外,Hypervisor雖然也支援RDM(Raw Disk Mapping)機制,但若使用於虛擬桌面環境的話,Windows XP/7並不支援此機制。