了解 VMware vSphere 6.7 和 7.0 中的虛擬卷 (vVols)
儲存是每台電腦、伺服器及資料中心(包括虛擬環境)的關鍵組件。適當的儲存配置能確保最佳的效能與可靠性。當資料中心規模擴大並處理大量資料時,自動化與可擴展性便成為必要條件。VMware 提供的 vVols 特點,徹底改變了將資料儲存於共用儲存裝置的傳統概念。本文將探討 VMware vVols(VMware Virtual Volumes),內容涵蓋使用情境及運作原理。
背景故事
VMware vSphere 用於將 IT 基礎架構虛擬化,並建置完全由軟體定義的虛擬資料中心,在此環境中,管理員可透過 VMware vSphere 配置所有元件,並將其與硬體解耦。
当 VMware 發布 ESX 的首個版本時, VMware 工作站, 這些虛擬管理程式採用軟體模擬來執行虛擬機器。隨著虛擬化技術日益普及,VMware 成功說服合作夥伴及其他供應商,讓他們認同虛擬化在現代世界中不可或缺。因此,虛擬化特點被整合至 Intel 和 AMD 處理器中,分別以 Intel VT-x 和 AMD-V 指令集的形式實現。相較於僅透過虛擬管理程式軟體實現的虛擬化,在 CPU 層級支援的硬體虛擬化顯著提升了虛擬機器的效能。雖然 ESXi 叢集 除了能從 CPU 的角度進行抽象化,ESXi 叢集還允許您對運行虛擬機的底層 ESXi 主機進行抽象化。
虛擬機的普及度持續攀升。由於在擁有大量虛擬機的複雜虛擬環境中使用傳統硬體網路設備相當不便,因此下一步便是網路虛擬化。現在,我們可以使用 VMware 虛擬交換器(一種標準 vSwitch 以及 分散式 vSwitch (在 VMKernel 層級運作)將虛擬機器(VM)的虛擬網路介面卡連接到不同的網路和裝置。VMware 也開發了 NSX,這是一個專用的軟體定義網路平台,可與 VMware vSphere 整合。隨後,供應商們決定可在網路介面卡的硬體層級上實作虛擬交換器,SR-IOV 技術便應運而生。當 VLAN 的網路隔離功能已無法滿足需求時,特別是對於基礎架構即服務(IaaS)供應商而言,供應商們便開發了需要硬體支援的 VXLAN 技術。 網路虛擬化的優勢在於,網路設備之間的實體線纜連接數量減少,且網路得以集中管理。
下一階段則是儲存虛擬化。VMware 開發了 VMware vSAN 這項技術讓您能夠透過軟體定義儲存和抽象化實體硬碟,建置超融合虛擬基礎架構。VMware 並未止步於此,更開發了 vVols,將軟體定義儲存推向更高層次。VMware vVols 特點是隨 VMware vSphere 6.0 一起推出的。
使用 vVol 的理由
多年前傳統儲存陣列問世時,儲存設備供應商與軟體供應商決定採用 LUN(邏輯單元號)來映射儲存單元,這就像您會將硬碟的磁碟分割區進行映射一樣。最初的構想是,作業系統通常會將 LUN 視為單一磁碟,或是叢集中的共用磁碟。 當 VMware 開發其專屬的 VMware vSphere 產品時,該公司採用 LUN 透過網路將共用儲存裝置連接至 ESXi 主機,並使用 VMFS(由 VMware 開發的叢集檔案系統)來格式化 LUN。VMFS 是一個深受使用者信賴的可靠檔案系統。傳統上,系統管理員(儲存管理員)會在所需的儲存陣列上建立 LUN,並將此 LUN 掛載至 ESXi 主機,並透過建立 VMFS 檔案系統,利用已連接的 LUN 建立資料存放區。
不同的儲存類型
當虛擬基礎架構擴展,且儲存陣列上存在不同類型的磁碟、RAID 及重複資料刪除配置時,可能需要更頻繁地進行儲存資源配置。根據不同的政策,不同的虛擬機器需要不同等級的服務。 假設您的儲存陣列裝置上的磁碟陣列具有以下特性:冗餘(RAID 1/RAID 0)、磁碟介面/技術(快閃記憶體/SSD、SAS 硬碟、SATA 硬碟)以及重複資料刪除(啟用/停用)。在此情況下,我們共有 12 種可能的儲存配置組合。

採用傳統方法時,我們應針對每種儲存類型建立一個 LUN/資料存放區,以滿足各種可能的需求。 然而,某種儲存類型可能比其他類型更常被用來為虛擬機器配置儲存空間。當您擁有數百或數千台虛擬機器時,在大型虛擬基礎架構中,很難記住哪台虛擬機器必須使用哪種儲存類型。此外,當最快且最可靠的儲存空間已滿時,可能會引發問題,因為通常大家都希望將虛擬機器儲存於最佳的儲存空間上。人為錯誤也是潛在的問題。儲存 vMotion 此時應使用儲存 DRS,將虛擬機器檔案遷移至可用儲存類別中尚有空閒的資料存放區。在此情況下,VMware vVols 能讓操作更加簡便。
VMware vVols 與儲存政策
VMware vVols 這是一項創新技術,可將部分儲存相關的操作委派給儲存硬體端處理,例如 SAN(儲存區域網路)和 NAS(網路附加儲存)。在此情況下,儲存陣列系統的供應商必須為其儲存裝置實作對 vStorage API for Array Integration(VAAI)的支援。使用 VAAI 可將儲存相關的任務從 ESXi 伺服器大幅卸載至儲存陣列硬體,從而提升效能。
系統管理員應根據需求,在建立虛擬機器時定義一套適用於不同虛擬機器的政策。例如,您可以定義不同的 政策 並為它們設定名稱,例如"頂級"、"中級"和"低級":
頂級 – 快閃記憶體/SSD,RAID 1,已啟用資料去重
中級 – SAS 硬碟,RAID 1,已啟用資料去重功能
低級 – SATA 硬碟,RAID 0,已停用重複資料刪除。
若您具備適當的儲存硬體配置,亦可建立更多儲存策略,以涵蓋所有可能的組合(本範例中共有 12 種組合)。

在建立新虛擬機器時,管理員應為虛擬機器儲存選取一項政策。政策會針對使用 vVols 的虛擬機器物件,以每台虛擬機器為單位進行套用。接著,系統會在適當的儲存陣列上為每個虛擬機器物件建立一個 LUN,例如虛擬磁碟、暫存檔、設定檔、虛擬記憶體檔或其他特定的虛擬機器檔案。儲存特點與設定已從儲存使用者端進行抽象化。
在大型虛擬環境中,基於政策的管理可為 vSphere 管理員節省時間,因為管理員無需在具備可用空間的儲存陣列中,手動搜尋適合虛擬機器的儲存目標。VMware vVol 儲存政策是在虛擬機器的虛擬磁碟層級進行管理的。
LUN 與複製
一個 VMFS 資料存放區是建立在單一 LUN 上的。通常,在大型虛擬基礎架構中,會於已分配的 LUN 上建立數百個 VMFS 資料存放區。 儲存硬體無法識別儲存於這些 LUN 上的虛擬機器檔案。若您在儲存陣列系統的硬體層級使用基於儲存的同步複製,儲存硬體會對整個 LUN 進行資料複製,包含該 LUN 上儲存的所有虛擬機器;在此情況下,您無法僅複製單一虛擬機器。
請閱讀關於 VM 備份與複製優勢的相關資訊 主機層級.
為每台虛擬機器建立一個 LUN 並非良策,因為這會使 VMFS 卷的管理變得複雜。VMware Virtual Volumes (vVols) 旨在解決這些問題,使虛擬機器儲存的管理更加細緻,並避免使用 LUN > VMFS volume > Datastore 為虛擬機器配置儲存空間的方案。
連接與負載
如果您使用 N ESXi 主機以及 M 儲存陣列上的 LUN,然後 NxM 當使用傳統儲存配置為虛擬機器時,網路連線用於虛擬機器與資料存放區之間的通訊。如果存在大量精簡磁碟(精簡配置磁碟) 在資料存放區上,例如在 虛擬桌面基礎架構 (VDI),儲存硬體的負載便會增加。擴展精簡虛擬磁碟並在此磁碟上新增區塊,會影響其他位於同一資料存放區中的虛擬機器(VM)的虛擬磁碟效能。這也是另一個可透過使用 vVols 來解決的問題。

更多詳細資訊將於下文的"協定端點"章節中說明。
使用 vVols 的優勢
以下列出使用 VMware vVols 的部分優勢:
- 簡化大型虛擬環境的儲存管理
- 在虛擬機器層級上進行靈活且細粒度的儲存管理
- 最佳化資源利用,即時動態調整
- 避免過度配置
- 基於政策的自動化與集中式儲存資源配置
- 儲存端無需預先配置 LUN
- 將快照、克隆、資料加密及 Storage DRS 等操作從 ESXi 主機移轉至儲存硬體
- 能夠更有效地滿足虛擬機器儲存的需求
- 以裝置為中心的管理已改為以虛擬機器為中心
工作原理
VMware vVols 的概念在於,虛擬機器(VM)和虛擬磁碟是儲存管理的基礎單位,這與 LUN 不同——LUN 代表整個資料存放區,其中存放著多個虛擬機器的檔案。 對於擁有大量虛擬機的大型資料中心而言,使用 VMware vVols 來組織資料非常方便。
VMware vVols 是虛擬機的低階儲存解決方案,支援在儲存陣列層級進行操作,這與用於建立資料存放區的傳統 LUN 類似。與其使用傳統的 VMFS 檔案系統,儲存陣列會定義如何透過該陣列為虛擬機提供存取權限並組織資料。
vVols 的另一項特點在於虛擬機器磁碟不使用檔案系統,這與將 VMDK 虛擬磁碟檔案儲存於 LUN 上的 VMFS 資料存放區不同。檔案系統是在客體作業系統中建立的,就像您將一個新的空硬碟掛載供作業系統使用一樣。
VMFS 檔案系統建立在虛擬機器配置 vVols 上,VMX 檔案即儲存於此。ATS (Atomic Test & 在此情況下,系統支援集合運算。ATS 是一組用於管理儲存陣列裝置上檔案系統鎖定的指令集。
當您建立新的虛擬機器、建立虛擬機器快照、複製虛擬機器或複製虛擬機器時,系統會自動在儲存陣列上建立新的 VMware 虛擬卷 (vVols)。
建立新的虛擬機器時,系統會建立多個 vVols:
- 1 個用於儲存虛擬機器 VMX 設定檔的 vVol
- 每個虛擬磁碟都會建立一個 vVol
- 如有需求,將為暫存檔(分割區)建立 1 vVol
- 每個磁碟快照和記憶體快照都會建立一個 vVol
您可以將 VMware vVols 視為虛擬磁碟以及上述其他虛擬機器檔案的封裝。
ESXi 最多支援連接 256 個 LUN。若要讓 VMware vVols 突破此限制,必須在儲存陣列中使用一種稱為"I/O 解複用器"(IO Demultiplexer 或 IO Demux)的特殊邏輯裝置。 該裝置是一個邏輯輸入/輸出通道,為所有必須存取儲存陣列上虛擬磁碟的虛擬機器提供存取管道。透過 VMware vVols,您可以抽象化基於區塊的共享協定(如 iSCSI 或 FC(光纖通道))以及基於檔案的協定(如 NFS)。系統支援所有受支援的協定,並提供統一的儲存架構。
讓我們進一步探索 vVols 的其他特點。
- 在虛擬機器上刪除檔案後,可用空間會自動釋出,無需執行
UNMAP指令 (精簡配置區塊空間回收)。 - 在 SAN 上建立容量池,用以定義池中可用的儲存容量水準,以及限制池內低階操作的政策。
- 建立 QoS(服務品質)設定檔,旨在滿足虛擬機器(VM)的儲存效能需求。請設定將套用至 vVol 層級或容量池層級的效能參數與資料政策。
vVols 是 VAAI 的後繼技術。若無法執行 vVols 操作,系統將切換為使用 VAAI 原始指令。VAAI(陣列整合用 vStorage API)旨在將部分儲存操作從 ESXi 主機卸載至儲存陣列系統。

儲存供應商(VASA 供應商) 這是由儲存陣列硬體製造商提供的軟體層,旨在確保 vSphere 元件能與將 VMware vVols 作為儲存容器所包含的儲存硬體進行互動。儲存提供者可實作為儲存陣列(硬體)元件,亦可實作為 VA (virtual appliance)(在 vSphere 中的 ESXi 主機上運行的虛擬機器)。ESXi 主機和 vCenter 會連線至儲存提供者。
VASA(vSphere 儲存感知 API) 是一種用於確保 VMware vSphere 具備儲存感知能力的軟體元件。VASA 是一種 API(應用程式介面),用於將儲存陣列與 vCenter 整合,並允許透過 vCenter 進行管理。
儲存容器 是一種用於依類型彙整 VMware vVols 以便進行管理的邏輯實體。儲存容器建立於儲存陣列硬體上。該容器的容量可進行調整。單一儲存容器可透過多個協定端點同時存取。
協定終點 是一種用於在 ESXi 主機上運行的虛擬機器與 VMware 虛擬卷(vVol)之間進行互動的邏輯 I/O 裝置(代理)(請參閱上方的 NxM 連線與負載圖示)。所有虛擬機器皆連接到該協定端點,以存取其虛擬卷。使用 vVol 時,建立的是 M 個連線,而非在使用 VMFS 資料存放區上的傳統 VMDK 磁碟時建立的 MxN 個連線。 ESXi 主機無法直接存取儲存端面的 vVols。
協定終端的佇列深度為 128,高於 LUN(32)。雖然可以建立無限數量的協定終端,但實際上沒有此必要,因為一個協定終端即可服務數千個 VMware vVols。虛擬機器的 vVols 可在 VMware vCenter 中與協定終端建立連結。 iSCSI、NFS v3、FC 及 FCoE 均為受支援的協定,這些是 SAN 與 NAS設備的業界標準。端點會接收 SCSI 或 NFS 指令。該協定端點可視為 Linux 系統中掛載點的對應概念。
需求與限制
在開始使用 VMware vVols 之前,請先閱讀系統需求與限制事項。
- 自 vSphere 6.0 起,VMware vSphere 的所有版本均支援 VMware 虛擬卷 (vVols)(若使用 VMware vSphere 7.0,則需採用 Enterprise Plus 或 Standard 版本)。系統需安裝 VMware ESXi 6.0 及 vCenter 6.0 或更高版本。由於 VMware vVols 需要 vCenter 支援,因此無法在獨立的 ESXi 主機上使用 vVols。此外,系統不支援原始裝置映射 (RDM)。
- 伺服器硬體必須支援 vSphere 6.0 或更高版本。請參閱 VMware 相容性指南。
- 儲存陣列系統必須透過 VASA(VMware 儲存感知 API)來支援 VMware vVols。儲存陣列可能採用特定供應商的 vVols 實作方案,這可能需要對儲存陣列系統的韌體進行升級。
- 必須在 ESXi 主機和所有儲存元件上同步時間。建議使用 NTP(網路時間協定)進行時間同步。
工作流程(概覽)
讓我們概述配置 VMware vVols 的主要步驟。系統管理員應遵循以下說明的工作流程,以使用 VMware vSphere 虛擬卷。
同步所有裝置(ESXi 主機、vCenter Server、儲存陣列系統)的時間。
使用 VMware vSphere Client 在 vCenter 中註冊儲存供應者(VASA Provider)。您可以透過 vSphere Web Client 外掛程式或儲存系統的使用者介面來註冊儲存供應者。一旦註冊完成,vCenter 與儲存供應者之間便會建立安全的 SSL 連線。
為 VMware vVols 建立虛擬資料存放區。vVol 資料存放區會建立在連接至儲存供應商的儲存容器上。資料存放區建立後,您將無法擴充或升級 vVol 資料存放區,因為儲存陣列系統完全控制該 vVol 資料存放區。建立 vVol 資料存放區後,請將其掛載至其他 ESXi 主機。
將儲存功能映射至虛擬機器儲存政策(在設定虛擬機器儲存政策之前,必須先在儲存系統上配置儲存功能)。在 vCenter 中建立儲存政策以滿足虛擬機器的儲存需求,並提供適當的服務等級,包括儲存效能、冗餘等。
您應選擇一個儲存供應商(例如支援 vVols 的 NetApp、Dell EMC 或 HP 3PAR),並為政策選取所需的特點。
建立虛擬機器,並在接下來的儲存配置步驟中,選取虛擬機器儲存政策。系統會自動選擇合適的儲存陣列,並建立 vVols 來儲存虛擬機器資料。
您可以透過 Storage vMotion,將虛擬機器磁碟從 VMFS、NFS 和 vSAN 資料存放區遷移至 vVols 資料存放區。 您可以在 vSphere CLI 中管理 VMware vVols。
在切換至使用 vVols 取代傳統的 vMFS 資料存放區之前,請確保您的備份軟體支援 VMware vVols,並且能夠備份儲存於 vVols 上的虛擬機器。VMware Virtual Volumes (vVols) 支援使用 vSphere APIs for Data Protection (VADP) 的備份軟體。 NAKIVO Backup & Replication 支援 VMware vVols 來執行 VMware 資料備份. 若您將 VASA 提供者部署為 VA (virtual appliance)(即 ESXi 主機上的 VMware 虛擬機器),請務必備份 VASA 提供者。若缺少 VASA 提供者,vVols 結構可能會遺失。在大多數情況下,您可以利用災難還原或高可用性特點,在儲存供應商的 vApp 上執行 VASA 提供者。
下載免費版本 NAKIVO Backup & Replication 以完整使用 Pro 版本的各項功能性,包括 VMware 備份與還原。免費版本的 NAKIVO Backup & Replication 包含 10 台電腦的授權,且首年完全免費,請務必把握這個難得的機會。
結論
VMware Virtual Volumes (vVols) 是一項提供虛擬機器儲存資源配置新方法的特點。此方法具備更細緻的控制層級與更高的自動化程度,對於擁有數千台虛擬機器的龐大及超大型虛擬環境而言極具實用價值。vVols 的核心概念在於,其基本管理單位是虛擬機器(VM),而非資料存放區或 LUN。
透過建立定義儲存陣列特性的政策,並選取所需政策為虛擬機器配置正確類型的儲存空間,管理員不僅能避免無意間的錯誤,更能更合理地運用硬體資源。藉由 VMware API(VASA、VAAI),快照、複製、克隆和加密等儲存操作已從 ESXi 伺服器卸載至儲存陣列系統;然而,虛擬機器的儲存管理仍是在 vCenter 中進行。
協定終端點提供統一介面,有助於減少連線數量,並在為儲存虛擬機器檔案而配置儲存空間時,免除在區塊式與檔案式共用儲存之間進行選擇的必要。VMware vVols 讓您更接近建構軟體定義資料中心的目標。