用於 VMware vStorage APIs Integration (VAAI) 之 QNAP 外掛程式
技術概觀與適用場景
什麼是VAAI
VMware vStorage APIs Integration (VAAI)是vSphere提供的一組API,可讓ESXi主機卸載特定儲存相關的服務至儲存系統。ES NAS將會替代ESXi主機負責處理資料儲存的工作。
整體效益
將NAS與VMware VAAI整合,將讓客戶得以部署擁有最佳效能的虛擬化環境。除此之外,還能卸載資料處理至NAS,從而讓ESXi主機釋放更多資源。
VAAI for iSCSI支援4項功能
- 完整複製(硬體輔助複製)
- 區塊歸零(硬體輔助歸零)
- 硬體輔助鎖定
- 精簡配置和空間回收
VAAI for NAS (NFS)支援4項功能
- 完整檔案複製
- 空間保留
- 延伸統計
- 快速檔案複製
VAAI for iSCSI
VAAI iSCSI - 區塊複製
區塊複製(Block Copy)可讓QNAP儲存設備在NAS中建立完整的資料備份,無需由ESXi主機讀取和寫入資料。

未使用VAAI:
當ESXi主機在沒有VAAI的情況下複製資料,它將必須從NAS讀取資料,再將資料寫回至NAS來複製資料。這個過程會耗用ESXi主機的記憶體、網路頻寬和CPU,因此減少了可供VM使用的資源。
使用VAAI:
當ESXi主機複製資料時,會傳送一個指令至NAS,然後等待結果即可。這個過程會卸載負載至NAS,而配置給VM的資源將維持不變。複製過程會直接由NAS在NAS中完成。複製程序不會用到CPU、記憶體和網路頻寬。
區塊複製的優點:
- 減少ESXi主機的負載
- 更快複製虛擬機器
- 更快部署範本
- 更快完成Storage vMotion
VAAI iSCSI - 區塊歸零
區塊歸零(Block Zeroing)可讓NAS將大量區塊歸零,藉此加速VM的佈建。

未使用VAAI:
當ESXi主機在沒有VAAI的情況下建立並初始化虛擬磁碟,它必須將多個零寫入NAS才能建立初始化的檔案。這個過程會耗用ESXi主機的記憶體、網路頻寬和CPU,進而減少可供VM使用的資源。
使用VAAI:
當ESXi主機建立並初始化虛擬磁碟時,會傳送一個指令至NAS,然後等待結果即可。這個過程會卸載負載至NAS,而配置給VM的資源將維持不變。區塊初始化過程會由NAS直接完成。進行該作業時,不會用到CPU、記憶體和網路頻寬。
區塊歸零的優點:
- 減少ESXi主機的負載。
- 更快配置容量給虛擬機器。
使用時機:
- 建立Thick Provision Eager Zeroed虛擬磁碟。
- 建立具有Thick Provision Eager Zeroed虛擬磁碟的VM。
VAAI iSCSI - 硬體輔助鎖定
硬體輔助鎖定(Hardware Assisted Locking)藉由僅鎖定需要的區塊而不是鎖定整個LUN,可改善大量叢集的效率。從一部ESXi 伺服器進行讀/寫作業時,會保留LUN的其餘部分可供存取,以增加效率。

未使用硬體輔助鎖定:
當ESXi主機存取iSCSI LUN上的資料存放區時,iSCSI LUN會被鎖定,其他ESXi主機必須等LUN被釋放。共用資料存放區的ESXi主機越多,效能就會越低。
使用硬體輔助鎖定:
當ESXi主機存取iSCSI LUN上的資料存放區時,所需的區塊會被鎖定,iSCSI LUN仍可供其他ESXi主機使用。在可以達到更多並行作業的同時,還能維持良好的效能水準。
硬體輔助鎖定的優點:
- 允許NAS擴充更多VM
- 允許更多ESXi主機而不影響效能。
使用時機:
- 共用資料存放區的大型VMware叢集。
VAAI iSCSI - 精簡配置和空間回收
精簡配置(Thin Provisioning)可以在需要時才配置容量。您可以重新配置容量給iSCSI LUN而不需要實際使用它。只有資料、虛擬機器或虛擬磁碟儲存在LUN時,才會使用此容量。
空間回收(Space Reclaim)可在VM或虛擬磁碟被刪除或移轉至其他LUN時釋出空間。如此可在資料被移除後避免浪費容量。

未使用精簡配置和空間回收:
未使用精簡配置和空間回收時,會在建立LUN時就完成空間配置,除非刪除LUN,否則空間將不會釋出。如果有資料從LUN中刪除,NAS也不會增加可用空間,因為該空間仍然被配置中。
使用精簡配置和空間回收:
使用精簡配置和空間回收時,只在實際寫入資料時才配置空間,當資料被刪除就會釋出空間。NAS可用空間將可以隨著VM建立和刪除而動態增減。儲存管理更有彈性,需要的實體空間(硬碟)也可減少。可增加效率並降低儲存成本。
精簡配置和空間回收的優點:
- 更準確報告實際的磁碟空間使用情況
- 更好更有效率的儲存管理
- 降低儲存成本
- 只在需要時才使用容量
- 需要時才需要購買硬碟
使用時機:
- 建立/刪除VM
- 建立/刪除快照
VAAI for NAS (NFS)
VAAI NAS - 完整檔案複製
與VAAI iSCSI的「完整複製」功能類似,這項工具可在NAS中建立完整的資料備份,而不需要使ESXi主機讀取和寫入資料。

未使用完整檔案複製:
當ESXi主機在沒有VAAI的情況下複製資料,它將必須從NAS讀取資料,再將資料寫回至NAS來複製資料。這個過程會耗用ESXi主機的記憶體、網路頻寬和CPU,進而減少可供VM使用的資源。
使用完整檔案複製:
當ESXi主機複製資料時,會傳送一個指令至NAS,然後等待結果即可。這個過程會卸載負載至NAS,而配置給VM的資源將維持不變。複製過程會直接在NAS中完成。進行該作業時,不會用到CPU、記憶體和網路頻寬。
完整檔案複製的優點:
- 減少ESXi主機的負載
使用時機:
- 複製vCenter
- Storage vMotion(冷複製)
- 從範本部署VM
VAAI NAS - 空間保留
過去vSphere僅支援在NFS上建立精簡配置的虛擬磁碟。藉由支援保留空間功能,將可以透過卸載檔案建立至NAS,在NFS資料存放區建立空間預先配置虛擬磁碟(Thick Provision Eager Zeroed磁碟)。

未使用空間保留:
未使用空間保留時,使用者無法在NFS資料存放區上建立完整佈建虛擬磁碟,只能使用精簡配置。
使用空間保留:
使用空間保留時,使用者可以在NFS資料存放區上建立完整佈建虛擬磁碟。
空間保留的優點:
- 更好的虛擬磁碟讀寫效能(精簡配置磁碟相對於完整佈建磁碟)
VAAI NAS - 延伸統計
延伸統計(Extended Statistic)可讓vSphere查詢QNAP NFS資料存放區上虛擬磁碟的空間利用詳細資料。包括虛擬磁碟的大小,以及虛擬磁碟的實際空間耗用。
VMware在執行某些特定作業時會使用延伸統計,例如空間保留和複製等作業。
此外,從ESXi主機使用命令行(command line)也可以擷取這些資料:
安裝和驗證
VAAI for iSCSI
VAAI iSCSI不需要進行任何安裝,在VMware中已預設啟用這項功能。
驗證支援VAAI for iSCSI
- 使用GUI模式進行驗證:
在vSphere Client中的Datastores設定頁面,檢視[硬體加速]欄顯示是否為[支援]。

- 使用ESXi命令列模式進行驗證:
輸入以下指令:
# esxcli storage core device vaai status get以下範例圖顯示VAAI已被一個QMAP iSCSI LUN支援:

在VMware停用VAAI
請參閱VMware文件來瞭解這項作業: Disabling the VAAI functionality in ESXi/ESX (1033665).
VAAI for NAS (NFS)
您需要在每個ESXi主機上安裝QNAP VAAI NFS Plugin。請在此處下載QNAP VAAI NFS Plugin: http://www.qnap.com/download.
將Plugin程式安裝到ESXi 5.x/6.x主機
以下步驟是參考此VMware官方KB文件內容: http://kb.vmware.com/kb/2008939.
- 將QNAP VAAI NFS Plugin上傳至ESXi主機的datastore。您可以使用vCenter中的datastore瀏覽器,或者使用vSphere client直接連接至ESXi主機。

- 選擇vib檔或者offline bundle檔。

QNAP VAAI NFS Plugin已被上傳至datastore。

- 移轉或關閉執行於主機的虛擬機器。
- 利用以下指令駛ESXi主機進入維護模式:
# vim-cmd hostsvc/maintenance_mode_enter
- 瀏覽至datastore上含有QNAP VAAI NFS Plugin檔案的目錄。
- 驗證QNAP VAAI NFS Plugin檔案是否存在於目錄中。
# ls -l以下為輸出結果範例。

- 使用以下方法在ESXi主機上安裝或更新QNAP VAAI NFS Plugin。請依據您的環境自行修改以下範例中的Plugin檔案名稱與datastore路徑。
- 安裝vib檔。
# esxcli software vib install -v"/vmfs/volumes/Datastore/PluginName.vib" - 更新vib檔。
# esxcli software vib update -v "/vmfs/volumes/Datastore/PluginName.vib"
- 安裝offline bundle檔。
# esxcli software vib install -d "/vmfs/volumes/Datastore/Offline_Bundle.zip"
- 更新offline bundle檔。
# esxcli software vib update -d "/vmfs/volumes/Datastore/Offline_Bundle.zip"
- 安裝vib檔。
- 重新啟動ESXi主機。
# reboot
- 等待主機重新啟動,然後再連接。
- 退出維護模式。
# vim-cmd hostsvc/maintenance_mode_exit
- 啟動虛擬機器。
- 驗證QNAP VAAI NFS Plugin VIB已被安裝至ESXi主機。
# esxcli software vib list
以下為輸出結果範例。

驗證支援VAAI for NAS (NFS)
在vSphere Client中的Datastores設定頁面,檢視[硬體加速]欄顯示是否為[支援]。
