什么是存儲(chǔ)虛擬化?它與軟件定義存儲(chǔ)有何區(qū)別?
從廣義來(lái)看,其實(shí)拿物理盤(pán)做 RAID,然后在其之上劃 LUN,呈現(xiàn)給 OS,這也是一種存儲(chǔ)虛擬化。
存儲(chǔ)虛擬化往前還可以溯源到 IBM AIX LVM(邏輯卷管理器),和 HP EVA 的 vDisk 技術(shù)。HP 的 EVA 技術(shù),準(zhǔn)確說(shuō)是源于 Compaq,甚至是 DEC 的 VA,在當(dāng)時(shí)的存儲(chǔ)界,非常厲害和前瞻的技術(shù)。
大約在 2004、2005 年左右,新興的存儲(chǔ)廠(chǎng)商 Compellent 和 EqualLogic(這兩個(gè)公司后來(lái)被 DELL 收購(gòu))、3PAR 和 LeftHand(這兩個(gè)公司后來(lái)被 HP 收購(gòu))、XIV(后來(lái)被 IBM 收購(gòu))、Pillar(后來(lái)被 Oracle 收購(gòu))的塊級(jí)存儲(chǔ)虛擬化,打破了以往 RAID Group 的限制,支持精簡(jiǎn)配置(Thin Provisioning)的功能,無(wú)需預(yù)先分配物理空間,實(shí)現(xiàn)寫(xiě)多少分配多少空間的機(jī)制。
下面我們系統(tǒng)、全面地介紹一下存儲(chǔ)虛擬化,以 SNIA 的闡述為主。
SNIA 對(duì)存儲(chǔ)虛擬化的解釋
SNIA 認(rèn)為,存儲(chǔ)虛擬化通過(guò)對(duì)存儲(chǔ)(子)系統(tǒng)或存儲(chǔ)服務(wù)的內(nèi)部功能進(jìn)行抽象、隱藏或隔離,使存儲(chǔ)或數(shù)據(jù)的管理與應(yīng)用、服務(wù)器、網(wǎng)絡(luò)資源的管理分離,從而實(shí)現(xiàn)應(yīng)用和網(wǎng)絡(luò)的獨(dú)立管理。對(duì)存儲(chǔ)服務(wù)和設(shè)備進(jìn)行虛擬化,能夠在對(duì)下一層存儲(chǔ)資源進(jìn)行擴(kuò)展時(shí)進(jìn)行資源合并、降低實(shí)現(xiàn)的復(fù)雜度。存儲(chǔ)虛擬化可以在系統(tǒng)的多個(gè)層面實(shí)現(xiàn)。
SNIA 提供的存儲(chǔ)虛擬化模型(如下圖),包括三部分:
SNIA 存儲(chǔ)虛擬化模型
一、虛擬化什么
針對(duì)不同的存儲(chǔ)設(shè)備和數(shù)據(jù)形態(tài),有多種形式的虛擬化資源:虛擬數(shù)據(jù)塊、虛擬磁盤(pán)、虛擬磁帶或磁帶庫(kù)、虛擬文件系統(tǒng)或者其他虛擬設(shè)備。
二、在哪里虛擬化
存儲(chǔ)虛擬化可以在不同的層面上進(jìn)行。
(1)基于主機(jī)/服務(wù)器的虛擬化
主要用途:使服務(wù)器的存儲(chǔ)空間可以跨越多個(gè)異構(gòu)的磁盤(pán)陣列,常用于在不同磁盤(pán)陣列之間做數(shù)據(jù)鏡像保護(hù)。
實(shí)現(xiàn)方式:一般由操作系統(tǒng)下的邏輯卷管理軟件完成(安裝客戶(hù)端軟件),不同操作系統(tǒng)的邏輯卷管理軟件也不相同。
常見(jiàn)產(chǎn)品:IBM AIX LVM,Linux LVM,VeritasVolume Manager 等
(2)基于網(wǎng)絡(luò)的虛擬化
主要用途:異構(gòu)存儲(chǔ)系統(tǒng)整合和統(tǒng)一數(shù)據(jù)管理。
實(shí)現(xiàn)方式:通過(guò)在存儲(chǔ)域網(wǎng)(SAN)中添加虛擬化引擎實(shí)現(xiàn)。
常見(jiàn)產(chǎn)品: EMC VPLEX、IBM SVC、飛康 FreeStor
(3)存儲(chǔ)子系統(tǒng)虛擬化
主要用途:在磁盤(pán)陣列內(nèi)部實(shí)現(xiàn)靈活調(diào)用存儲(chǔ)資源。
實(shí)現(xiàn)方式:塊級(jí)虛擬化,精簡(jiǎn)配置等。
常見(jiàn)產(chǎn)品:DELL EqualLogic、DELL Compellent、HP 3PAR、HP LeftHand、IBM V 系列等。
三、如何進(jìn)行虛擬化
根據(jù)數(shù)據(jù)流與虛擬化引擎的相對(duì)關(guān)系,可以分為以下兩種。
(1) 帶內(nèi) In-Band
是目前使用最多的方式,它可以在存儲(chǔ)系統(tǒng)、網(wǎng)絡(luò)、主機(jī)、文件系統(tǒng)上實(shí)現(xiàn)。
(2) 帶外 Out-of-Band
需要在存儲(chǔ)網(wǎng)絡(luò)(SAN)上實(shí)現(xiàn)。
SNIA 之存儲(chǔ)標(biāo)準(zhǔn)化建議:SMI-S
有些朋友會(huì)誤以為軟件定義存儲(chǔ)就是類(lèi)似 IBM SVC、EMC VPLEX 這類(lèi)基于網(wǎng)絡(luò)的存儲(chǔ)虛擬化,而實(shí)際上它是存儲(chǔ)虛擬化的一部分,是軟件定義存儲(chǔ)非常小的一部分。
基于網(wǎng)絡(luò)的存儲(chǔ)虛擬化,能夠跨越異構(gòu)的磁盤(pán)陣列,在更大的范圍,如數(shù)據(jù)中心內(nèi),形成一個(gè)大的存儲(chǔ)資源池,統(tǒng)一分配和監(jiān)控來(lái)自不同存儲(chǔ)廠(chǎng)商的存儲(chǔ)資源。
當(dāng)我們討論池化,也即異構(gòu)存儲(chǔ)之間的管理的時(shí)候,一定會(huì)涉及到存儲(chǔ)標(biāo)準(zhǔn)化,只有當(dāng)大家開(kāi)放的接口遵循共同的標(biāo)準(zhǔn)(也即規(guī)范)的時(shí)候,也就是用相同的“語(yǔ)言”對(duì)話(huà)時(shí),才有可能被調(diào)用、被管理。
隨著用戶(hù)的數(shù)據(jù)不斷增加,為了不被單一廠(chǎng)商鎖定,規(guī)模較大的用戶(hù)的存儲(chǔ)網(wǎng)絡(luò)往往包含了來(lái)自多個(gè)存儲(chǔ)廠(chǎng)商的外置磁盤(pán)陣列,每個(gè)陣列都有自己的存儲(chǔ)管理軟件,這些陣列之間缺乏互聯(lián)互通,管理復(fù)雜度增加。為了解決這一個(gè)問(wèn)題,十五年前(也就是 2002 年),SNIA(全球網(wǎng)絡(luò)存儲(chǔ)工業(yè)協(xié)會(huì))就提出了存儲(chǔ)管理建議規(guī)范 SMI-S(Storage Management Initiative Specification),希望在存儲(chǔ)網(wǎng)絡(luò)中的存儲(chǔ)設(shè)備和管理軟件之間提供標(biāo)準(zhǔn)化的通信方式,從而使存儲(chǔ)管理實(shí)現(xiàn)廠(chǎng)商無(wú)關(guān)性,使得存儲(chǔ)管理系統(tǒng)能夠?qū)崿F(xiàn)鑒別、分類(lèi)、監(jiān)控和控制物理及邏輯資源的能力,提高管理效率、降低管理成本,促進(jìn)存儲(chǔ)的發(fā)展。
SMI-S 是一種中間件性質(zhì)的規(guī)范,定義了存儲(chǔ)管理軟件和受管對(duì)象之間的交互機(jī)制。它提供了多種特性以簡(jiǎn)化 SAN 的管理。首先,在 SMI-S 標(biāo)準(zhǔn)中定義了統(tǒng)一的數(shù)據(jù)模型,使用基于 Web 的企業(yè)管理(Web-Based Enterprise Management,WBEM)技術(shù)和公共信息模型規(guī)范(Common Information Model, CIM),SMI-S 的代理可以與交換機(jī)、磁盤(pán)陣列等各種支持 CIM 的設(shè)備進(jìn)行交互,獲取其管理相關(guān)的數(shù)據(jù)并返回給請(qǐng)求方。使用 SMI-S 可以免除設(shè)計(jì)管理數(shù)據(jù)傳輸機(jī)制的麻煩,對(duì)各種設(shè)備和組件直接進(jìn)行帶內(nèi)或帶外的管理,甚至兩者并用。SMI-S 還提供了基于 HTTP 的 CMI-XML 傳輸機(jī)制,以增強(qiáng)適用性。
SNIA 對(duì)于 SMI-S 標(biāo)準(zhǔn)寄予了很高的期望,跨越的版圖非常宏偉。從下圖(摘自《Storage Management from SMI-S to Management Frameworks》),可以看出來(lái),它希望做到,存儲(chǔ)管理軟件能夠識(shí)別磁盤(pán)陣列、光纖交換機(jī)、IP 交換機(jī)、磁帶庫(kù)、FC HBA 卡、iSCSI HBA 卡等各種各樣與存儲(chǔ)相關(guān)的設(shè)備,并通過(guò)存儲(chǔ)管理服務(wù),自動(dòng)發(fā)現(xiàn)、部署和配置存儲(chǔ)資源。
SNIA SMI-S 標(biāo)準(zhǔn)
SMI- S 標(biāo)準(zhǔn)發(fā)布以后,得到了大多數(shù)主要存儲(chǔ)供應(yīng)商的支持,截止 2016 年,已經(jīng) 1000 多個(gè)存儲(chǔ)產(chǎn)品支持 SMI-S 標(biāo)準(zhǔn)。最新的標(biāo)準(zhǔn)是在 2016 年 3 月 8 日公布的 SMI-S v1.7.0,在 SNIA 官網(wǎng)能夠下載到詳細(xì)的規(guī)范,規(guī)范包括 8 篇文章,其中的一篇《Storage Management Technical Specification, Part 4 Block Devices , Version 1.7.0, Revision 5》,長(zhǎng)達(dá) 958 頁(yè)。僅僅關(guān)于 Automated Storage Tiering 的描述就長(zhǎng)達(dá) 82 頁(yè)。
在推行這一標(biāo)準(zhǔn)的過(guò)程中,SNIA 也曾直言不諱地提到了它面臨的問(wèn)題:
1、SMI-S 標(biāo)準(zhǔn)走向市場(chǎng)的時(shí)間漫長(zhǎng);
2、存儲(chǔ)廠(chǎng)商研發(fā)新特性的過(guò)程中,規(guī)范的確立花費(fèi) 1 年,廠(chǎng)商實(shí)施再需要 6 個(gè)月(筆者持懷疑態(tài)度,認(rèn)為需要更長(zhǎng)時(shí)間),用戶(hù)方接受并實(shí)施需要 2 年甚至遙遙無(wú)期;
3、需要加速標(biāo)準(zhǔn)走向用戶(hù)的過(guò)程;
存儲(chǔ)虛擬化實(shí)例剖析
下面我們以基于網(wǎng)絡(luò)的存儲(chǔ)虛擬化為例,詳細(xì)剖析一下它是如何實(shí)現(xiàn)存儲(chǔ)虛擬化的。
從市場(chǎng)上看,基于網(wǎng)絡(luò)的存儲(chǔ)虛擬化比較知名的有:EMC VPLEX、IBM SVC、HDS VSP、Symantec Storage Foundation 等。他們都能或多或少的將其他廠(chǎng)商的存儲(chǔ)納入自己的存儲(chǔ)平臺(tái)之下進(jìn)行管理。但這種管理,也只是將異構(gòu)存儲(chǔ)的邏輯卷做為一個(gè)外來(lái)設(shè)備使用,把它視為一個(gè)普通的存儲(chǔ)容器,不知道它能提供多大的性能,也喪失了異構(gòu)存儲(chǔ)內(nèi)嵌的豐富的軟件特性,例如自動(dòng)分級(jí)、快照、容災(zāi)等。
以 IBM SVC 為例,如下圖,IBM SVC 針對(duì)其內(nèi)部盤(pán),按照 RAID 方式(如 8 塊盤(pán))創(chuàng)建出 Mdisk,再將多個(gè) Mdisk 形成存儲(chǔ)池,在池上創(chuàng)建邏輯卷 VDisk(Virtual Disk,現(xiàn)更名為 Volume)。
IBM SVC 中物理盤(pán)、邏輯卷、Mdisk、extent 的關(guān)系
在 IBM SVC 這個(gè)存儲(chǔ)管理體系下,也能管理異構(gòu)存儲(chǔ),支持對(duì)HP(MSA, EVA, XP), EMC(CX, DMX),NetApp(FAS),Hitachi(AMS,WMS,99xx系列)和 DELL(Compellent)等異構(gòu)存儲(chǔ)的虛擬化。以 DELL Compellent 為例,將 Compellent 邏輯卷納入 SVC 之下,需要經(jīng)過(guò)如下步驟:
1、業(yè)務(wù)停機(jī);
2、在 Compellent 圖形管理界面中,去掉卷與主機(jī)的映射關(guān)系(un-mapping);
3、在 Compellent 圖形管理界面中,創(chuàng)建新的服務(wù)器對(duì)象:SVC Cluster;
4、在 SVC 圖形管理界面中,執(zhí)行 MDisk 發(fā)現(xiàn)操作;
5、將新發(fā)現(xiàn)的 MDisk(其實(shí)就是 Compellent 邏輯卷)以 Image Mode MDisk 方式導(dǎo)入;
6、將這個(gè) Image Mode MDisk 映射到原主機(jī)上;
無(wú)論是內(nèi)部盤(pán)還是外部盤(pán),IBM SVC 都可以按照 VDisk 為單位,實(shí)施本地的數(shù)據(jù)復(fù)制服務(wù)(快照、克隆、鏡像)。利用 SVC,可以將被其虛擬化的低端存儲(chǔ),增加一些高級(jí)功能。不過(guò),存儲(chǔ)發(fā)展到現(xiàn)在,高端存儲(chǔ)和中端存儲(chǔ)的豐富的軟件功能都已經(jīng)逐漸下移到低端存儲(chǔ),SVC 的這部分作用就意義不大了。
對(duì)于用戶(hù)而言,基于網(wǎng)絡(luò)的存儲(chǔ)虛擬化,利舊,方便管理(只是少部分程度的),仍有一定的現(xiàn)實(shí)意義。
存儲(chǔ)標(biāo)準(zhǔn)化之互操作性
十幾年前,存儲(chǔ)行業(yè)里,有一個(gè)經(jīng)常被提及的概念是互操作性,正是因?yàn)楦骷覐S(chǎng)商的存儲(chǔ)管理各自為政,缺乏互聯(lián)互通,使得用戶(hù)面臨存儲(chǔ)管理的巨大挑戰(zhàn),用戶(hù)一直希望存儲(chǔ)廠(chǎng)商解決互操作性:各家的存儲(chǔ)管理軟件都能管理并靈活調(diào)用其他異構(gòu)存儲(chǔ)的資源。
實(shí)際上,早在 SMI-S v1.6.1 的標(biāo)準(zhǔn)《Storage Management Technical Specification,Part 4 Block Devices》中,就已經(jīng)包含了對(duì)鏡像、快照、克隆、容災(zāi)的描述,如下圖所示。但時(shí)至今日,極少存儲(chǔ)廠(chǎng)商的存儲(chǔ)虛擬化平臺(tái)可以驅(qū)動(dòng)受管對(duì)象的這些高級(jí)軟件功能。
SMI-S v1.6.1 標(biāo)準(zhǔn)中對(duì)鏡像、快照和克隆的描述
截止2015年底,逐漸有更多的存儲(chǔ)廠(chǎng)商適配Hypervisor(VMware)或 DCOS(OpenStack),越來(lái)越多地支持SMI-S標(biāo)準(zhǔn)。
不過(guò),十五年時(shí)間并不短暫。但是,基于網(wǎng)絡(luò)的存儲(chǔ)虛擬化(異構(gòu)存儲(chǔ)的管理)并未在用戶(hù)實(shí)際環(huán)境中廣泛的部署。原因在于存儲(chǔ)廠(chǎng)商根本不可能投入足夠的精力和財(cái)力去遵循這一標(biāo)準(zhǔn)。從經(jīng)濟(jì)利益、投入產(chǎn)出比來(lái)看,存儲(chǔ)廠(chǎng)商能獲益的機(jī)會(huì)很少。存儲(chǔ)廠(chǎng)商投入精力去改造自己,開(kāi)放 API 出去,適配其他存儲(chǔ)廠(chǎng)商的存儲(chǔ)虛擬化平臺(tái),回報(bào)明顯不大。而且,當(dāng)存儲(chǔ)廠(chǎng)商變成受管對(duì)象,也即被虛化后,它對(duì)于用戶(hù)的重要性就下降了。所以單純靠存儲(chǔ)廠(chǎng)商與存儲(chǔ)廠(chǎng)商之間,是很難解決互操作性的。
那么,這個(gè)互操作性誰(shuí)來(lái)解決更合適呢?
答案是 Hypervisor 廠(chǎng)商、操作系統(tǒng)(OS)廠(chǎng)商,或者數(shù)據(jù)中心操作系統(tǒng)(Data Center Operating System,簡(jiǎn)稱(chēng)DCOS),或者云計(jì)算(Cloud)提供商、云管理軟件提供商。用戶(hù)只要構(gòu)建軟件定義的數(shù)據(jù)中心,必不可免的是,大多數(shù)存儲(chǔ)資源都必須納入到 Hypervisor/OS/DCOS/Cloud 的版圖之內(nèi)。在云計(jì)算、軟件定義數(shù)據(jù)中心的日益興盛的背景下,存儲(chǔ)資源被虛機(jī)使用的規(guī)模將遠(yuǎn)大于被物理機(jī)使用。因此,存儲(chǔ)廠(chǎng)商可以考慮與 VMware 等 Hypervisor 廠(chǎng)商,以及其他 DCOS 軟件的互操作性。我們也看到 Hypervisor 廠(chǎng)商也在努力實(shí)現(xiàn)與存儲(chǔ)的互聯(lián)互通,例如 VMware vROps 云管理軟件利用 SMI-S 等協(xié)議進(jìn)行存儲(chǔ)分析。
VMware vROps 利用 SNIA SMI-S 協(xié)議進(jìn)行存儲(chǔ)分析