劉潔 何俊林 汪曉飛
【摘要】虛擬卷VVols技術(shù)是軟件定義存儲(chǔ)SDS重要組成部分之一,本文主要通過(guò)探究傳統(tǒng)的虛擬化解決方案中缺陷和不足,以及對(duì)于虛擬卷VVols技術(shù)相關(guān)組件的研究,從而更加深入了解虛擬卷VVols技術(shù)如何解決傳統(tǒng)解決方案的缺陷。
【關(guān)鍵詞】VMware;VVol(Virtual Volume);SDS(Software Define Storage)
一、引言
面對(duì)傳統(tǒng)存儲(chǔ)管理模式的缺陷和挑戰(zhàn),例如存儲(chǔ)容量難以橫向擴(kuò)展、異構(gòu)廠商設(shè)備的互不兼容等問(wèn)題,VMware公司提供了虛擬卷VVols的解決方案。虛擬卷VVols(Virtual Volumes)是VMware公司的軟件定義存儲(chǔ)SDS框架的一部分。VVols通過(guò)將存儲(chǔ)資源,I/O資源抽象化和池化以及基于存儲(chǔ)策略的管理(SPBM)等技術(shù),使得vSphere管理員在存儲(chǔ)上創(chuàng)建虛擬機(jī)及其相關(guān)操作更方便靈活,更易于管理和實(shí)現(xiàn)。
二、傳統(tǒng)VMware存儲(chǔ)技術(shù)的缺陷
在VMware公司的虛擬卷VVols技術(shù)使用之前,也就是目前常用的部署虛擬機(jī)的流程大致如下:
(1)虛擬機(jī)管理員預(yù)先向存儲(chǔ)管理員討論虛擬機(jī)的基礎(chǔ)存儲(chǔ)要求(比如容量,內(nèi)存和性能,還有數(shù)據(jù)保護(hù)、冗余、快照之類(lèi)的數(shù)據(jù)服務(wù))。
(2)存儲(chǔ)管理員在相應(yīng)磁盤(pán)陣列上創(chuàng)建滿(mǎn)足虛擬機(jī)需求的存儲(chǔ)池。
(3)存儲(chǔ)管理員將該存儲(chǔ)池按照LUNs(塊存儲(chǔ),VMFS)或NFS方式劃分,并將其提供給ESXi主機(jī)。
(4)存儲(chǔ)管理員使用諸如vCenter或vSphere Web Client等VMware管理工具,在提供的存儲(chǔ)上部署并管理V虛擬機(jī)。
顯然,當(dāng)前在存儲(chǔ)上部署虛擬機(jī)的流程復(fù)雜且耗時(shí)。部署一個(gè)虛擬機(jī)需要存儲(chǔ)管理團(tuán)隊(duì)中不同角色之間緊密協(xié)同合作。
此外,以上過(guò)程還存在缺陷:
(1)無(wú)法預(yù)先知道需要配置多少。存儲(chǔ)管理員往往出于未來(lái)使用量增加的考慮,會(huì)預(yù)先多配置容量,從而導(dǎo)致配置過(guò)剩和性能浪費(fèi)。
(2)需要在LUN級(jí)別上進(jìn)行操作。一個(gè)存儲(chǔ)池中存放了很多虛擬機(jī),vSphere管理員很難對(duì)某個(gè)特定虛擬機(jī)進(jìn)行特定配置和操作。
(3)虛擬機(jī)相關(guān)信息的文件是直接與底層存儲(chǔ)進(jìn)行關(guān)聯(lián)的,耦合度太高。
三、虛擬卷VVols技術(shù)
隨著軟件定義存儲(chǔ)SDS技術(shù)的發(fā)展,人們對(duì)于存儲(chǔ)使用要求有了進(jìn)一步的提升。除了需要解決上述傳統(tǒng)的VMware存儲(chǔ)技術(shù)的缺陷以外,還要面對(duì)異構(gòu)的存儲(chǔ)設(shè)備、需要提供統(tǒng)一的存儲(chǔ)資源池和跨設(shè)備提供數(shù)據(jù)服務(wù)等問(wèn)題。
虛擬卷VVols是VMware公司軟件定義存儲(chǔ)SDS框架的重要組成部分之一。根據(jù)VMware官方介紹:“Virtual Volumes踐行 VMware SDS愿景的核心原則,以求在虛擬化環(huán)境中實(shí)現(xiàn)能從根本上提高效率的存儲(chǔ)運(yùn)維模式,從而集中關(guān)注虛擬機(jī)而不是物理基礎(chǔ)架構(gòu)。”,虛擬卷VVols可以從根本上提高存儲(chǔ)使用的效率。
虛擬卷VVols通過(guò)以下幾個(gè)組件構(gòu)成:(1)VVols;(2)存儲(chǔ)容器Storage Containers (SC);(3)協(xié)議端點(diǎn)Protocol Endpoints (PE);(4)vSphere存儲(chǔ)感知Sphere API for Storage Awareness(VASA);(5)存儲(chǔ)策略的管理Storage Policy Based Management (SPBM)。
以下對(duì)核心組件構(gòu)成進(jìn)行說(shuō)明:
1.VVols
Virtual Volumes(VVols)是創(chuàng)建并存儲(chǔ)在磁盤(pán)陣列上的新型虛擬機(jī)對(duì)象。傳統(tǒng)的架構(gòu)中,虛擬機(jī)在存儲(chǔ)上的表現(xiàn)形式是VMFS文件系統(tǒng)(如vmdk)。VVols架構(gòu)則去掉了原來(lái)的VMFS文件系統(tǒng)這一抽象層,取而代之是通過(guò)存儲(chǔ)容器Storage Container技術(shù)向用戶(hù)提供了一個(gè)一致統(tǒng)一的抽象層。這樣,向上一層用戶(hù)(即虛擬機(jī))封裝了底層存儲(chǔ)的細(xì)節(jié),用戶(hù)不再需要知道數(shù)據(jù)到底存儲(chǔ)在什么地方。從而實(shí)現(xiàn)存儲(chǔ)的定義和使用相互分離的目的,達(dá)到軟件定義存儲(chǔ)SDS中的存儲(chǔ)高度橫向可擴(kuò)展性的目的。
2.存儲(chǔ)容器
虛擬卷VVols則存儲(chǔ)在存儲(chǔ)容器(SC)上。存儲(chǔ)容器SC是由存儲(chǔ)管理員定義和創(chuàng)建的,是純邏輯存儲(chǔ)結(jié)構(gòu)。SC有點(diǎn)類(lèi)似于儲(chǔ)存池的概念,是底層存儲(chǔ)容量的資源池,用來(lái)分配和約束存儲(chǔ)容量。同時(shí),由于SC是邏輯實(shí)體結(jié)構(gòu),這樣理論上,SC支持實(shí)時(shí)、無(wú)中止的容量擴(kuò)展和收縮。
通過(guò)SC可以有效整合異構(gòu)磁盤(pán)組成的陣列,對(duì)外提供一個(gè)統(tǒng)一的存儲(chǔ)資源池。
SC還可以提供更大程度的靈活性,除了可以按照傳統(tǒng)的方式,即為某種類(lèi)型或配置的存儲(chǔ)池創(chuàng)建特定SC,我們還可以給包含不同配置和類(lèi)型的整個(gè)磁盤(pán)陣列創(chuàng)建一個(gè)SC。事實(shí)上,傳統(tǒng)的方式并不是最優(yōu)化的方案,因?yàn)槲覀兛梢栽诟蠈邮褂没诓呗缘姆绞浇o虛擬機(jī)指定磁盤(pán)策略(VM Storage Policy),從而達(dá)到硬件存儲(chǔ)資源的創(chuàng)建和使用分離的目的。
3.協(xié)議端點(diǎn)
存儲(chǔ)容器SC虛擬化了存儲(chǔ)陣列,讓虛擬機(jī)的相關(guān)數(shù)據(jù)文件通過(guò)虛擬卷VVols的方式存儲(chǔ)在存儲(chǔ)容器SC上,不過(guò)還需要解決vSphere(即ESXi Host主機(jī))與存儲(chǔ)陣列的I/O數(shù)據(jù)傳輸方式的問(wèn)題。協(xié)議端點(diǎn)PE(Protocol Endpoints)組就是解決ESXi主機(jī)與存儲(chǔ)陣列之間I/O數(shù)據(jù)傳輸交流的新機(jī)制。PE類(lèi)似于I/O代理,是ESXi主機(jī)和虛擬卷之間的I/O連接通道,通過(guò)在存儲(chǔ)陣列上添加并實(shí)現(xiàn)PE,ESXi主機(jī)不直接從存儲(chǔ)上的虛擬卷VVols獲取數(shù)據(jù),而是通過(guò)PE組件與虛擬卷VVols進(jìn)行通信。與傳統(tǒng)方式進(jìn)行類(lèi)比,對(duì)于塊設(shè)備陣列,那么上面的PE可以看成一個(gè)特殊的LUN;對(duì)應(yīng)NFS陣列,那么PE就可以看成一個(gè)掛載點(diǎn)(Mount point)。
PE兼容目前的主流的SAN/NAS標(biāo)準(zhǔn)協(xié)議,比如iSCSI、NFSv3、Fiber Channel (FC)和Fiber Channel over Ethernet (FCoE)。
4.vSphere存儲(chǔ)感知
存儲(chǔ)設(shè)備上協(xié)議端點(diǎn)PE提供的協(xié)議方式由存儲(chǔ)廠商決定并實(shí)現(xiàn),然后,通過(guò)vSphere API for Storage Awareness(VASA)組件實(shí)現(xiàn)vSphere自動(dòng)感知相應(yīng)的PE,并選擇相應(yīng)的PE實(shí)現(xiàn)I/O數(shù)據(jù)的傳輸通信。
其中,存儲(chǔ)感知(VASA)組件Sphere 5.0引入的一組API,是存儲(chǔ)提供者和存儲(chǔ)使用者之間新的一套標(biāo)準(zhǔn)交流方式。在沒(méi)有VASA之前,想要確認(rèn)物理LUN的特征屬性,如ID、容量、精簡(jiǎn)配置、去重、分層、RAID等等存儲(chǔ)端的信息,是無(wú)法直觀的從vSphere獲得的。使用VASA后,就可以讓vSphere直接獲取存儲(chǔ)陣列的相關(guān)信息,這樣方便存儲(chǔ)管理員管理存儲(chǔ)資源,以及根據(jù)存儲(chǔ)資源準(zhǔn)確做出決策。
5.存儲(chǔ)策略管理
通過(guò)存儲(chǔ)策略的管理(SPBM),可以實(shí)現(xiàn)軟件定義的存儲(chǔ)實(shí)現(xiàn)策略驅(qū)動(dòng)(Policy -driven)的自動(dòng)化。通過(guò)SPBM,可以定義不同存儲(chǔ)的需求(容量、性能和可用性等)策略供存儲(chǔ)使用者調(diào)用,實(shí)現(xiàn)存儲(chǔ)服務(wù)的定義和使用分離的目的,支持大規(guī)模地自動(dòng)執(zhí)行調(diào)配存儲(chǔ),并能動(dòng)態(tài)實(shí)時(shí)監(jiān)控各個(gè)虛擬機(jī)的存儲(chǔ)服務(wù)級(jí)別。
在實(shí)際VVols架構(gòu)中,SPBM 流程大致如下:vSphere管理工具定義了虛擬機(jī)的存儲(chǔ)策略(VM Storage Polices)后,會(huì)通過(guò)VASA與存儲(chǔ)端檢查指定的策略和用戶(hù)的級(jí)別(如金、銀、銅)是否符合規(guī)范。然后,在不同級(jí)別的用戶(hù)在使用存儲(chǔ)來(lái)創(chuàng)建虛擬機(jī)時(shí),會(huì)自動(dòng)根據(jù)各自的策略在底層存儲(chǔ)陣列上分配相應(yīng)的存儲(chǔ)空間和性能指標(biāo)。
由此可見(jiàn),通過(guò)策略驅(qū)動(dòng)的自動(dòng)化功能實(shí)現(xiàn)的動(dòng)態(tài)控制使您能夠靈活地控制虛擬機(jī)的存儲(chǔ)使用量,從而最終加快新應(yīng)用調(diào)配速度并簡(jiǎn)化變更管理,虛擬機(jī)管理員不再需要依賴(lài)存儲(chǔ)管理員來(lái)完成基礎(chǔ)架構(gòu)變更請(qǐng)求。虛擬機(jī)管理員可以靈活地更改策略,而所需的基礎(chǔ)架構(gòu)也可自動(dòng)更改配置??焖俑鶕?jù)業(yè)務(wù)的變化及時(shí)做出調(diào)整。
四、結(jié)論
通過(guò)VMware的新架構(gòu)虛擬卷VVols技術(shù)的實(shí)現(xiàn),可以達(dá)到避免傳統(tǒng)部署虛擬機(jī)的缺陷,可以對(duì)虛擬機(jī)的資源消耗的控制可以更精確,同時(shí)通過(guò)SPBM等策略使得部署虛擬機(jī)更方便耗時(shí)更少,虛擬機(jī)管理員可以為特定虛擬機(jī)提供更加精準(zhǔn)、靈活的存儲(chǔ)數(shù)據(jù)服務(wù)級(jí)別。
作者簡(jiǎn)介
劉潔,本科在讀;何俊林,講師,成都師范學(xué)院計(jì)算機(jī)科學(xué)學(xué)院教師; 汪曉飛,副教授,成都師范學(xué)院計(jì)算機(jī)科學(xué)學(xué)院教師;*為通訊作者.