iThome

在Virtual SAN(VSAN)問世之後,VMware就只差一步,便能實現vSphere平臺的完整軟體定義儲存架構,而這一步就是今年跟著vSphere 6.0一同發表的Virtual Volumes(VVol)。

vSphere平臺使用的datastore儲存空間有兩個來源,一是來自ESXi主機本身的內接磁碟機,另一是來自外接儲存設備提供的儲存空間(LUN或NFS共享儲存區)。如果要實現完整的vSphere平臺軟體定義儲存應用,便要能夠涵蓋內接儲存與外接儲存這兩個面向。

去年發表的VSAN,不僅實現了基於ESXi主機內接磁碟的軟體定義儲存應用,更重要的是提供了透過vCenter的政策統一驅動,精細到以個別VM為單位的儲存管理。

而今年推出的VVol,則把類似的政策驅動式VM儲存應用概念,推廣到第三方廠商的外接式儲存設備上。

基於政策的VM儲存應用

對於伺服器虛擬化,這種將大量運算負載匯聚於少數實體主機的應用來說,儲存I/O一直是個棘手環節,滿足效能與可用性需求只是第一步,更進一步的要求是服務品質管理(Quality of Service,QoS)。

基於政策的儲存管理(Storage Policy Based Management,SPBM),是vSphere平臺儲存管理的大躍進,可以提供精細到個別VM等級、十分彈性的儲存服務等級管理。

但儲存設備要融入VMware的SPBM架構,不是件容易的事。儲存設備必須能與vSphere緊密聯繫,與vCenter之間必須有溝通的管道,讓vCenter能夠精確評估儲存設備的效能特性,並能接受vCenter的政策管理指令。

VSAN是由VMware自身研發,又是嵌在vSphere核心中,相對容易實現融入SPBM架構的目標。不過對於第三方廠商的外接式儲存設備來說,要融入VMware的SPBM架構就不是那樣容易。

現在經過近3年的等待後,VMware與眾多協力第三方儲存廠商,終於透過VVol這套架構,實現了將外接儲存設備結合到vSphere平臺儲存政策管理中的目標。

 

Virtual Volumes的基本架構

 VMware的VVol架構由6個基本單元組成:

(1)VASA Provider: 儲存廠商提供的軟體元件,部署在vSphere平臺上或內含於儲存陣列系統韌體中,作為儲存設備與vSphere之間的通信與管理的媒介,向vCenter匯報儲存設備的規格特性與狀態。

 (2)Virtual Volume(VVol)虛擬磁碟: VM存取的儲存容器,也就是個別VM相關組態、metadata、虛擬磁碟等檔案的封裝容器。對應組成VM的不同檔案型式(.vmx、.vmdk、.vswp等),VVol虛擬磁碟也分為5種類型,一臺VM通常至少會有3個VVol虛擬磁碟,1個是設定檔VVol、1個資料VVol,與1個swap用VVol。在儲存設備上,每個VVol磁碟區,通常是對應一個Thin Provisioning模式的LUN或Volume(以區塊類型儲存設備而言)。

 (3)Storage Container: 儲存設備提供給ESXi主機的VVol儲存空間,是一種虛擬化與Thin型式的儲存池,ESXi主機直接在Storage Container中,建立供VM使用的VVol磁碟區。

 (4)Protocol EndPoint: 協定端點。ESXi主機並不直接存取儲存設備的Storage Container,而是透過協定端點這個I/O轉接介面的中介,來存取後端的Storage Container。對應不同傳輸協定,協定端點也有多種不同類型,如iSCSI與FC區塊類型的協定端點,也有NFS類型的協定端點,一個Storage Container,可透過多個不同類型的協定端點,來與前端ESXi主機連接。

 (5)Storage Capability儲存能力: VVol架構中的儲存政策設定,必須建立在個別儲存設備的物理規格與性能特性上。所以會由VASA Provider向vCenter回報儲存陣列的規格與能力特性,例如RAID的等級、磁碟機型式、是否啟用Thin Provisioning與De-Dupe功能等等,作為制定儲存政策的基準。

 (6)Storage Profile儲存政策: 一組針對不同VM需求的儲存服務品質規則。

其中VASA Provider、Virtual Volume、Storage Container、Protocol EndPoint與Storage Capability等5個部分,都是由儲存設備向ESXi主機提供,Storage Profile則是由vCenter向儲存設備下達。

 

 

將外接儲存融入VMware政策管理架構

由於先天上的架構不同,VM的虛擬磁碟管理,與底層儲存設備的管理是彼此脫鉤的。

儲存設備的基本管理單元是LUN,而vSphere的VM則是以VMDK格式的虛擬磁碟(Virtual Disk)作為儲存容器,所以VM是以間接的型式,來使用儲存設備提供的空間。儲存設備先將LUN掛載給ESXi主機,然後再由ESXi主機將LUN格式化為VMFS datastore後,再於VMFS datastore上建立VM的VMDK磁碟。

雖然VMware也提供了RDM(Raw Device Mapping)模式,可讓VM直接連接底層儲存設備LUN,讓VM與儲存設備的LUN直接一一對應,不僅可以免除VMFS檔案系統的中介,也便於儲存設備透過個別的LUN來調節存取效能等級,並適合以LUN為單位運作的儲存設備端進階資料服務功能。

但問題是,RDM模式必須預先在儲存設備上建立好LUN,缺乏隨需建立與調整的彈性,當環境較為複雜時,連帶的RDM相關建置設定程序也會變得相當繁瑣,也會增加vSphere平臺的儲存架構的複雜性,還無法運行許多vSphere平臺上的進階功能(如快照、Clone與備份等)。

由於管理的對象與粒度完全不同,以致vSphere的管理政策也難以套用到外接儲存設備上。所以要將外接儲存設備融入vSphere的管理機制,便須在儲存設備與vSphere之間建立緊密的聯繫。

首先,是要讓儲存熱備能夠相容於vSphere的儲存政策管理工具,也就是VM Storage Policies,必須依循標準規範,將儲存設備的基本規格與效能特性映射給vSphere,如此才有實施政策管理的可能。

其次,必須讓VM與儲存設備的管理對象與粒度彼此一致,以便進行精細到VM層級的儲存管理。

VVol這套框架的重點,也是在這兩個面向。透過讓儲存設備支援VMware新的2.0版VASA(vStorage API for Storage Awareness),讓vCenter能夠識別與評估儲存設備的特性,利用SPBM架構管理儲存設備。並透過虛擬化與Thin的技術,以稱為Storage Container的虛擬化儲存容器,來運用外接儲存設備的空間。

在VVol這套架構下,儲存設備首先必須能夠支援跟著vSphere 6.0一同推出的VASA 2.0 API;另外vSphere也不再是以傳統建立在LUN上的datastore來使用儲存空間,而是改用稱作Storage Container的虛擬化儲存容器。

對於建立在傳統LUN上的datastore來說,LUN是由儲存設備預先建立與設定,大小也是固定的,必須格式化為VMFS檔案系統後,才能作為datastore使用,而且對於位於同一個LUN的所有VM,LUN都是提供同等的服務,沒辦法做差異化的調整。

而Storage Container則是在儲存設備空間上的一種虛擬化、可擴展的datastore,不需在儲存設備端預先建立,每臺儲存設備最少會有1個Storage Container(最大數量視個別儲存設備而定),vSphere會直接在Storage Container上,建立直接對應VM本體的VVol虛擬磁碟。Storage Container可以個別VVol虛擬磁碟為單位,提供異質的存取服務等級,而且不需要檔案系統格式化,VM的物件便能原生直接儲存在VVol虛擬磁碟上。

為VM量身打造儲存區

透過VVol架構,可以取得過去只有透過RDM模式才能取得的特性,例如讓VM的虛擬磁碟管理,與儲存設備的儲存區管理,都以相同的粒度(即個別VM)為單位來進行,VM存取的物件是VVol磁碟區,不需要VMFS檔案系統的中介,儲存設備管理與產生的物件也是VVol磁碟區。

透過VVol架構,也便於將快照(snapshot)等資料服務作業,卸載給外接儲存設備來執行,vSphere下達對某個VM執行快照的指令後,實際作業將交由外接儲存設備的控制器來執行,藉此可減輕ESXi主機的負擔。

而且VVol又沒有RDM的弊病,可以把VVol看作是一種Thin模式的RDM,不需要預先在儲存設備上,規畫並建立好LUN,而可直接從vSphere的Web Client介面,視需要彈性的產生VVol虛擬磁碟,管理上遠比RDM簡單許多。並且VVol能與vSphere平臺各式各樣的進階功能相容,也不像RDM存在不相容於vSphere平臺許多內含功能的問題。

更重要的是,透過VVol架構,可讓外接儲存設備相容於VMware的SPBM管理架構,實現以VM為粒度、彈性的儲存資源管理,ESXi主機不再只是被動的接受後端儲存設備建立的LUN,而可反過來,依照個別VM的需求,透過vCenter的政策向後端儲存設備「量身訂做」VM需要VVol磁碟區,從而在外接儲存設備上,建立由vCenter政策統一驅動、粒度更精細、管理更靈活的「VM導向」儲存,讓儲存設備進入「VM感知(VM-Aware)」的層次。

 

Virtual Volumes的支援層次

目前已經有超過20家儲存設備供應商支援了VVol,不過,由於個別廠商的儲存設備規格特性與技術能力互有差異,對VVol的支援程度也有所不同。

對於VVol的不同應用與支援程度,研究機構Taneja Group分為3個層級(Type),十分值得使用者參考:

 ●    Type 1:基本的VVol支援。 提供協定端點(PE)、Storage Container與儲存政策/規則組等3項VVol基本功能,可以提供VM層級的自動化儲存配置與資源管理。

 ●    Type 2:在Type 1的基礎上,再加上設定I/O效能計量的能力,可以設定最低或最高效能參數目標(如要求提供一定IOPS的效能等),更精細地調節儲存效能。

 ●    Type 3:在Type 1與Type 2的基礎上,增加負載優先等級的設定,以便在遭遇資源競爭的時候,系統可以判斷應哪個VVol可以優先得到效能,藉此確保關鍵應用能得到保證的效能,最好再提供預先定義好的效能策略,便於使用者套用。

目前支援VVol的20多家廠商中,只有NexGen可以提供Type 3等級的支援,其餘廠商則是提供Type 1與Type 2層次的支援各占一半。當然這只是VVol架構才剛發表幾個月的現況,預期再過一段時間以後,各廠商間的差距便會縮小,最終應該都能達到Type 2或Type 3層次的支援。

 

 

未來儲存設備的新標準

有鑒於VMware的龐大影響力,支援vSphere平臺已經是當前企業級儲存設備必備要求之一。另一方面,隨著VVol問世,外接儲存設備必須透過支援VVol,才能完整融入新一代vSphere平臺的儲存架構,獲得最大的運用彈性。所以,除了今年初第一波宣布支援VVol的20多家廠商外,可預期VVol成為未來企業級儲存設備必須支援的新標準。

在目前宣布支援VVol的家廠商中,由於各家廠商的產品特性與發展規劃不同,對VVol的支援情況也有異,我們將比較重要廠商的支援情況簡介如下:

傳統儲存大廠

一線大廠中,包括EMC、HP、IBM、HDS、Dell與NEC、Fujitsu等幾乎全部都宣布將支援VVol架構。

HP 3PAR:支援VVol基本功能,VASA Provider部署在儲存系統韌體中,透過vCenter Plug-in管理。

NetApp:除VVol基本功能外還提供I/O效能目標設定,VASA Provider為部署在vSphere中的VM,透過vCenter Plug-in管理。

HDS:除VVol基本功能外還提供I/O效能目標設定,VASA Provider為部署在vSphere中的VM,透過儲存陣列介面管理。

IBM:XIV系列已支援VVol基本功能,VASA Provider為部署在vSphere中的VM,透過vCenter Plug-in管理。IBM其餘產品預定2015年下半年支援。

Dell:Equallogic系列已支援VVol基本功能,VASA Provider為部署在vSphere中的VM,透過vCenter Plug-in管理。

新創廠商

新創儲存廠商中,包括提供混合式陣列的Nimble Storage、NexGen與Tintri,以及提供全快閃陣列的Pure Storage與SolidFire都支援了VVol。

Nimble Storage:2015年下半年支援,提供VVol基本功能,VASA Provider部署在儲存系統韌體中,透過儲存陣列介面管理。

Pure Storage:2015年下半年支援,提供VVol基本功能,VASA Provider部署在儲存系統韌體中,透過vCenter Plug-in管理。

SolidFire:2015年下半年支援,提供VVol基本功能,VASA Provider部署在儲存系統韌體中,透過vCenter Plug-in管理。

NexGen:2015年中支援,除VVol基本功能外,還提供I/O效能目標與工作負載優先等級設定,VASA Provider部署在儲存系統韌體中,透過vCenter Plug-in管理

 

Virtual Volumes的設定與操作

VVol是一套讓外接儲存設備與vSphere平臺彼此協力運作的架構,操作設定上雖然牽涉到外接儲存設備與ESXi主機兩個環節,不過只需從vCenter進行設定即可,基本設定可分為三階段:

 (1)準備階段: 匯入VASA Porvider元件,讓vCenter識別與抓取VVol儲存設備,並掛載VVol儲存設備的Storage Container。

 (2)建立VVol datastore: 選擇使用VVol儲存設備的Storage Container作為datastore。

 (3)建立儲存政策: 利用VM Storage Policies功能,基於VVol儲存設備匯入的儲存設備效能規格資訊,建立各式各樣的儲存政策規則。

完成設定後,接下來在新增或遷移VM時,便能從VM Storage Policies選項,點選通用於個別VM的儲存政策套用,接下來系統便會自動在datastore上,建立供VM使用的VVol磁碟區。

1. 匯入VASA Provider元件

首先,得將儲存廠商提供的VASA Provider軟體元件匯入vCenter,以便vCenter能夠透過VASA API去識別與評估儲存設備。在vCenter的Manage選單的Storage Provider項目,新增並輸入VASA Provider元件的位址即可。

2. 識別VVol儲存設備

匯入VASA Provider軟體元件後,我們在vCenter Manage選單的Storage Provider項目清單中,可以看到已經新增登錄了1個VVol Storage Provider,以及這個Provider的3臺設備,我們準備使用其中的iSCSI Array。

3. 掛載VVol儲存設備

我們準備使用VVol Storage Provider提供的iSCSI Array,所以得先為ESXi主機新增軟體式的iSCSI HBA卡,然後輸入Target端網址,接下來執行rescan,便能抓到與掛載iSCSI Array的磁碟區,接下來ESXi主機便能透過iSCSI型式的協定端點(PE),去存取iSCSI Array。

4. 建立VVol的datastore之1

掛載上外接儲存設備提供的Storage Container後,接下來便能為ESXi叢集新增datastore,點選要建立VVol型式的datastore。在VVol架構下,vSphere並不是去「建立」datastore,而是透過登錄的VVol Storage Provider,去「搜尋與抓取」儲存設備提供的Storage Container空間。

5. 建立VVol的datastore之2

點選要新增VVol型式的datastore後,接下來系統便會列出能用於建立這種datastore的VVol Storage Container,可以看到有1個稱作iSCSI-VVol、2TB的Storage Container可用。

6. 建立VVol儲存政策之1

完成Storage Container設定後,接下來回到Web Client介面的Home頁面,點選VM Storage Policies功能的圖示,準備設定儲存政策。

7. 建立VVol儲存政策之2

在VM Storage Policies頁面中新增1個新政策。由於不同廠商儲存設備的規格特性互有差異,對VVol的支援程度也不同,所以儲存政策必須建立在個別廠商儲存設備規格與能力的基礎上,在建立儲存政策時,需在Rules based on vendor-specific capabilities項目的下拉選單中,選擇特定儲存廠商的儲存政策規則,在這裡會出現先前匯入的VASA Provider廠商名稱(如Nimble Storage、NetApp等)。

8. 建立VVol儲存政策之3

前一步驟點選了特定儲存廠商提供的儲存政策選項後,依個別廠商的儲存設備不同,映射給vCenter的儲存效能規格選項內容也有所差異,我們這裡的VMware VVol示範環境,提供了針對不同應用情境的選項,還能設定最大與最小IOPS。管理者可以預先建立多個適用於不同服務等級或應用情境的儲存政策規則,以便日後給VM套用。

9. 為VM套用儲存政策之1

在新增或遷移VM時,在Storage選項便可選擇套用儲存政策,選擇某個儲存政策後,系統會列出符合這個政策要求的datastore,選擇其中的iSCSI VVol datastore。

10. 為VM套用儲存政策之2

我們這裡選擇讓VM使用iSCSI VVol的datastore,並選擇稱為Gold的儲存政策,接下來,系統便會自動在指定的datastore上,創建對應於VM的VVol磁碟區。

 

【相關報導請參考「VMware虛擬儲存大轉型」】


Advertisement

更多 iThome相關內容