然而,這一新的虛擬化技術(shù)涉及許多不同的方法和問(wèn)題。在企業(yè)環(huán)境中,解決方案能否帶來(lái)最大價(jià)值架構(gòu)起著關(guān)鍵作用。
主機(jī)系統(tǒng)的存儲(chǔ)虛擬化
一種集成、管理多個(gè)SAN系統(tǒng)設(shè)備空間的解決方案已在許多最終用戶環(huán)境中得到應(yīng)用,這就是主機(jī)邏輯卷管理器(LVM)。的確,LVM正成為最先進(jìn)的服務(wù)器操作系統(tǒng)的標(biāo)準(zhǔn)部分。LVMs具有軟件功效,管理從各種存儲(chǔ)方式中產(chǎn)生的邏輯卷,配置適合某種應(yīng)用所需的空間。舉個(gè)例子,它們可以通過(guò)連接一組在陣列水平上配置的小規(guī)模空間來(lái)形成一個(gè)大空間;它們也可以把大的陣列卷分成幾個(gè)易管理的小單位;或者在維護(hù)一個(gè)應(yīng)用空間時(shí),為了正常運(yùn)行,他們可以在若干個(gè)陣列空間中提取數(shù)據(jù)。
LVMS提供了大容量、多方式虛擬化等優(yōu)點(diǎn),但也有一個(gè)內(nèi)在缺陷,由于他們是在主機(jī)系統(tǒng)上工作的,因此必須對(duì)每一臺(tái)主機(jī)單獨(dú)設(shè)置配置和應(yīng)用。如果主機(jī)數(shù)量不多,這不算個(gè)問(wèn)題。但在一個(gè)企業(yè)的系統(tǒng)設(shè)置中,通常都有幾百臺(tái)甚至上千臺(tái)主機(jī)通過(guò)SAN系統(tǒng)存儲(chǔ)數(shù)據(jù),控制分布空間很快就成為一個(gè)嚴(yán)峻的問(wèn)題。如果系統(tǒng)環(huán)境改造變化很大,需要頻繁修改配置,這個(gè)問(wèn)題就愈加嚴(yán)重。如果在不同的操作系統(tǒng)上使用不同的LVMS,易操作性也是一個(gè)問(wèn)題,要求操作員精通多種工具。使用主機(jī)系統(tǒng)方案時(shí),互操作性(確認(rèn)第三方的LVMS與修改過(guò)的操作系統(tǒng)、新的方案相兼容)和性能(密集的LVM運(yùn)行會(huì)破壞主機(jī)處理周期)也是個(gè)問(wèn)題。
網(wǎng)絡(luò)系統(tǒng)的存儲(chǔ)虛擬化
網(wǎng)絡(luò)系統(tǒng)的存儲(chǔ)虛擬化結(jié)構(gòu)試圖解決主機(jī)系統(tǒng)模式中的內(nèi)在問(wèn)題。在主機(jī)和子系統(tǒng)之間的一個(gè)層面插入虛擬化的功能,此功能主要是簡(jiǎn)化易操作性。有兩種結(jié)構(gòu)方式分別是,數(shù)據(jù)通道中和數(shù)據(jù)通道外。
數(shù)據(jù)通道中方式
數(shù)據(jù)通道中結(jié)構(gòu)是在主機(jī)和陣列之間的網(wǎng)絡(luò)數(shù)據(jù)通道(或“通道中”)中插入虛擬化手段。這些設(shè)備通常提供空間管理和其它配套功能,如數(shù)據(jù)遷移和拷貝服務(wù)。他們行使存儲(chǔ)管理器的作用,替代正在虛擬化的設(shè)備。存儲(chǔ)虛擬設(shè)備本身可以是一個(gè)專用的服務(wù)器,運(yùn)行裝在標(biāo)準(zhǔn)操作系統(tǒng)上的虛擬化軟件;也可以是一個(gè)專門(mén)的應(yīng)用程序,運(yùn)行嵌入的編碼,甚至是一個(gè)帶有能連接附加陣列框架后端的陣列管理器“前端”。這種設(shè)備的最大好處是簡(jiǎn)化 — 它是一種自有(全新)的方式,可以集中管理多種連接設(shè)備。
通道內(nèi)方式最主要的缺點(diǎn)是在網(wǎng)絡(luò)路徑上增加了一個(gè)額外的“跳”,這樣就增加了主機(jī)和物理存儲(chǔ)設(shè)備之間的延時(shí)。一些通道中設(shè)備試圖以在設(shè)備內(nèi)部使用緩存的方法解決增等待時(shí)間的問(wèn)題。和存儲(chǔ)子系統(tǒng)一樣,緩存的益處很大程度上取決于應(yīng)用和緩存算法的效率。網(wǎng)絡(luò)內(nèi)部的緩存還會(huì)產(chǎn)生更多的復(fù)雜問(wèn)題。對(duì)于需求冗余的高效環(huán)境,若要使一對(duì)通道中的緩存保持一致,就需要緩存鏡像,這又增加了一些等待時(shí)間。它還要求具有強(qiáng)大的錯(cuò)誤和故障處理邏輯,以確保經(jīng)過(guò)緩存和確認(rèn)的I/O 被安全地存儲(chǔ)到后端。
通道中虛擬化結(jié)構(gòu)的一個(gè)更為嚴(yán)重的缺點(diǎn)是限制了其擴(kuò)展性。由于所有虛擬化區(qū)域中的I/O需要通過(guò)通道中方式,這樣不是在帶寬就是在處理能力方面會(huì)形成一個(gè)瓶頸。一旦任意一種資源耗盡,就必須采取數(shù)據(jù)擴(kuò)展策略。如前面提到的由于對(duì)所有通道節(jié)點(diǎn)實(shí)行緩存鏡像,使得“橫向擴(kuò)展(scale out)”策略(其中附加了n個(gè)節(jié)點(diǎn)用于擴(kuò)展)變得不實(shí)際。取而代之的唯一可行的辦法是“向上擴(kuò)展(scale up)”策略,這要求通道中的節(jié)點(diǎn)越來(lái)越大,以實(shí)現(xiàn)通道中大規(guī)模的虛擬化。最新出現(xiàn)的大規(guī)模、高性能的通道中虛擬化設(shè)備的單片企業(yè)陣列就證明了這一點(diǎn)。在某種程度上,對(duì)于一個(gè)大的環(huán)境來(lái)說(shuō),甚至“向上擴(kuò)展(scale up)”策略也不夠,而需要采用一種新的通道中設(shè)備。每一個(gè)通道中設(shè)備對(duì)其各自的虛擬區(qū)域負(fù)責(zé),管理獨(dú)立的虛擬區(qū)域。然而,因管理分散獨(dú)立的區(qū)域費(fèi)用很大,因而通過(guò)虛擬化降低復(fù)雜性和簡(jiǎn)化管理的初衷就無(wú)法實(shí)現(xiàn)。
數(shù)據(jù)通道外方式
通道外方式的設(shè)計(jì)是通過(guò)從數(shù)據(jù)流中分割管理信息,避免通道中結(jié)構(gòu)所產(chǎn)生的內(nèi)在運(yùn)行問(wèn)題。在通道外結(jié)構(gòu)中,有一個(gè)叫做元數(shù)據(jù)服務(wù)器的單獨(dú)硬件,它存有虛擬化存儲(chǔ)的邏輯-物理關(guān)系信息,向每一個(gè)服務(wù)器傳送信息,分配I/O指令。這種數(shù)據(jù)傳送通過(guò)一個(gè)獨(dú)立的網(wǎng)絡(luò)完成,它與數(shù)據(jù)交流使用的光纖通道分開(kāi),這即是通道外模式。元數(shù)據(jù)服務(wù)器和主機(jī)之間的傳輸通常是通過(guò)裝在主機(jī)上的接口程序來(lái)實(shí)現(xiàn)的,這臺(tái)主機(jī)與修改后的、對(duì)指令重新分配的I/O驅(qū)動(dòng)器共同工作。
由于主機(jī)直接將虛擬化存儲(chǔ)指令分配到目的設(shè)備上,I/O運(yùn)行不再受到增加等待時(shí)間或帶寬的制約。這樣,通道外方式理論上更適合于高性能應(yīng)用。它還避免了通道內(nèi)自有的數(shù)據(jù)完整性問(wèn)題。任何“狀態(tài)”或版本的數(shù)據(jù)都不會(huì)滯留在網(wǎng)絡(luò)中。數(shù)據(jù)正確地存儲(chǔ)入陣列之后,主機(jī)的任務(wù)才算完成。然而,這種通道外方式又引出了一些主機(jī)系統(tǒng)方式的易操作性問(wèn)題,也就是說(shuō),需要加載、維護(hù)和修改主機(jī)系統(tǒng)軟件。
一種解決易操作性問(wèn)題的改進(jìn)后通道外方式即將產(chǎn)生。這一方式利用智能SAN交換機(jī)作為平臺(tái),構(gòu)建以網(wǎng)絡(luò)為基礎(chǔ)的存儲(chǔ)虛擬化。這些交換機(jī)帶有專門(mén)的端口級(jí)處理器(可能是被頻繁優(yōu)化的ASICs,但也可能是FPGAs或網(wǎng)絡(luò)處理器)以最快速度檢驗(yàn)并重新分配I/O指令(從邏輯地址轉(zhuǎn)換到物理地址)。把這些處理器直接匯集到現(xiàn)有的SAN系統(tǒng)結(jié)構(gòu)上,這就無(wú)需對(duì)另一層虛擬化方案進(jìn)行管理。以前的操作由主機(jī)接口程序管理的主機(jī)元數(shù)據(jù)被加載到智能端口的閃存上,不再需要主機(jī)系統(tǒng)軟件。元數(shù)據(jù)服務(wù)器不與主機(jī)交換信息,而是和智能端口交換信息,確??偰転橥ㄟ^(guò)這些端口存儲(chǔ)信息的主機(jī)提供正確的映射信息。總而言之,改進(jìn)后的通道外方式,其易操作性大大提高。
這種基于交換器的通道外方式更適應(yīng)“橫向擴(kuò)展(scale out)”策略。由于大多數(shù)的I/O運(yùn)算在智能交換機(jī)內(nèi)由端口的處理器直接處理,如果需要增加規(guī)模(scale),只需要增加更多的處理器??梢栽诮Y(jié)構(gòu)上再增加一個(gè)交換器,或在現(xiàn)有的交換器上增加一個(gè)處理葉片。增加的處理器仍由同一個(gè)元數(shù)據(jù)服務(wù)器進(jìn)行管理,無(wú)需頻繁增加規(guī)模(scale),因?yàn)樗⒉惶幚鞩/O通信,只是管理所有端口的元數(shù)據(jù)。簡(jiǎn)言之,這種結(jié)構(gòu)理論上能夠擴(kuò)展大規(guī)模的配置,大到可以支持當(dāng)前所有的大規(guī)模數(shù)據(jù)中心推廣存儲(chǔ)虛擬化的地步。
結(jié)語(yǔ)
存儲(chǔ)虛擬化的方式多種多樣,各具特色。如我們所介紹的,結(jié)構(gòu)可對(duì)存儲(chǔ)虛擬化解決方案的易操作性、規(guī)模,乃至為使用者帶來(lái)的價(jià)值起決定性作用。對(duì)任何可能采用這種技術(shù)的用戶來(lái)說(shuō),主要考慮的問(wèn)題是要全面了解該解決方案的架構(gòu)。
馬克.路易斯是美國(guó)EMC公司(馬塞諸塞州,霍普金頓)的執(zhí)行副總裁和首席開(kāi)發(fā)官員。