基于主機(jī)的虛擬化也稱為基于服務(wù)器的虛擬化,是通過在服務(wù)器操作系統(tǒng)中嵌入或添加虛擬層來實(shí)現(xiàn)設(shè)備虛擬化的,該方法不需要添加特殊的硬件而只需安裝具有虛擬化功能的軟件模塊,它以驅(qū)動(dòng)程序的形式嵌入到應(yīng)用服務(wù)器的操作系統(tǒng)中,呈現(xiàn)給操作系統(tǒng)的是邏輯卷(Logic Volume Management),通過邏輯卷把分布在多機(jī)上的物理存儲(chǔ)設(shè)備映射成一個(gè)統(tǒng)一的邏輯虛擬存儲(chǔ)空間,邏輯卷管理系統(tǒng)實(shí)際上是一個(gè)從物理存儲(chǔ)設(shè)備映射到邏輯卷的虛擬化存儲(chǔ)管理層,它可實(shí)現(xiàn)系統(tǒng)級(jí)和應(yīng)用級(jí)的多機(jī)間存儲(chǔ)共享。
運(yùn)行在服務(wù)器上的虛擬化軟件需要占用服務(wù)器的CUP、內(nèi)存、帶寬等開銷,對操作系統(tǒng)的依賴性較大,使得虛擬化系統(tǒng)不能兼容不同的平臺(tái),移植性較差。但是基于主機(jī)的虛擬化最容易實(shí)現(xiàn)的,一般只需在應(yīng)用服務(wù)器端安裝卷管理驅(qū)動(dòng)模塊就可以完成存儲(chǔ)虛擬化的過程,具有成本低、同構(gòu)平臺(tái)下性能高的特點(diǎn)。
存儲(chǔ)設(shè)備的虛擬化一般在存儲(chǔ)設(shè)備的控制器中實(shí)現(xiàn),又稱為存儲(chǔ)控制器的虛擬化。由于該虛擬化的實(shí)現(xiàn)方法直接面對具體的物理設(shè)備,在性能上達(dá)到最優(yōu),由于該虛擬化邏輯被集成到設(shè)備內(nèi)部,存儲(chǔ)虛擬化的管理簡單方便而對用戶透明,但由于這種虛擬化技術(shù)沒有統(tǒng)一標(biāo)準(zhǔn),一般只適用于特定廠商的產(chǎn)品,異構(gòu)產(chǎn)品間很難實(shí)現(xiàn)存儲(chǔ)級(jí)聯(lián),所以這種存儲(chǔ)虛擬化產(chǎn)品的可擴(kuò)展性易受到限制。另外,由于廠商的限制,用戶對存儲(chǔ)設(shè)備的選擇面也很窄,如果沒有第三方的虛擬化軟件提供底層屏蔽服務(wù)從而實(shí)現(xiàn)存儲(chǔ)級(jí)聯(lián)和擴(kuò)展,則該系統(tǒng)的擴(kuò)展性就很差,但近期也有一些研究成果采用基于目錄的虛擬化方式”來克服這些不足。
網(wǎng)路的虛擬存儲(chǔ)化技術(shù)是當(dāng)前存儲(chǔ)虛擬化的主流技術(shù),它當(dāng)前在商業(yè)上具有較多的成功產(chǎn)品。典型的網(wǎng)絡(luò)虛擬存儲(chǔ)技術(shù)主要包括網(wǎng)絡(luò)附加存儲(chǔ)NAS(Network Attached Storage)和存儲(chǔ)區(qū)域網(wǎng)絡(luò)SAN(Storage Area Network)。由于這兩種系統(tǒng)的體系結(jié)構(gòu)、通信協(xié)議、數(shù)據(jù)管理的方式不同,所以NAS主要應(yīng)用于以文件共享為基礎(chǔ)的虛擬存儲(chǔ)系統(tǒng)中,而SAN主要應(yīng)用在以數(shù)據(jù)庫應(yīng)用為主的塊級(jí)別的數(shù)據(jù)共享領(lǐng)域。存儲(chǔ)區(qū)域網(wǎng)絡(luò)SAN是當(dāng)前網(wǎng)絡(luò)存儲(chǔ)的主流技術(shù)。虛擬化存儲(chǔ)的實(shí)現(xiàn)可以分布在從主機(jī)到存儲(chǔ)設(shè)備之間路徑的不同位置上,由此可把基于網(wǎng)絡(luò)的存儲(chǔ)虛擬化細(xì)分為基于交換機(jī)的虛擬化、基于路由器的虛擬化、基于存儲(chǔ)服務(wù)器端的虛擬化。
交換機(jī)的虛擬化是通過在交換機(jī)中嵌入固件化的虛擬化模塊層來實(shí)現(xiàn)的,由于在交換機(jī)中集成有交換和虛擬化功能,交換機(jī)很容易成為系統(tǒng)的瓶頸,并可能產(chǎn)生單點(diǎn)故障。不過這種結(jié)構(gòu)不需要在服務(wù)器上安裝虛擬化軟件,可以減少應(yīng)用服務(wù)器的負(fù)載,也沒有基于存儲(chǔ)設(shè)備或者主機(jī)環(huán)境的安全性問題,在異構(gòu)環(huán)境下有較好的互操作性。
路由器的虛擬化是將虛擬化模塊集成到路由器中,使存儲(chǔ)網(wǎng)絡(luò)的路由器既具有交換機(jī)的交換功能,同時(shí)具有路由器的協(xié)議轉(zhuǎn)換功能,它把存儲(chǔ)虛擬化的范圍由局域網(wǎng)范圍內(nèi)的虛擬存儲(chǔ)擴(kuò)展到了廣域虛擬存儲(chǔ)。近年來,基于路由器的虛擬化技術(shù)得到了長足的發(fā)展和廣泛的應(yīng)用,例如基于iSCSI的虛擬存儲(chǔ)技術(shù)等,它為廣域網(wǎng)下的云存儲(chǔ)夯實(shí)了底層結(jié)構(gòu)。
專用元數(shù)據(jù)的虛擬化是在存儲(chǔ)網(wǎng)絡(luò)中接入一臺(tái)專用的元數(shù)據(jù)服務(wù)器來完成存儲(chǔ)虛擬化工作,屬于帶外虛擬化方法。元數(shù)據(jù)服務(wù)器提供基于網(wǎng)絡(luò)虛擬存儲(chǔ)服務(wù),它負(fù)責(zé)映射不同的物理設(shè)備,形成整個(gè)虛擬設(shè)備存儲(chǔ)池的全局統(tǒng)一數(shù)據(jù)視圖,并負(fù)責(zé)與駐留在各個(gè)應(yīng)用服務(wù)器上的虛擬化代理軟件進(jìn)行通信,各應(yīng)用服務(wù)器上的虛擬代理軟件負(fù)責(zé)管理存儲(chǔ)訪問視圖和I/O通信并實(shí)現(xiàn)數(shù)據(jù)訪問重定向;該代理軟件具有實(shí)現(xiàn)數(shù)據(jù)高速緩存和數(shù)據(jù)預(yù)存取功能,并具有維護(hù)本地存儲(chǔ)視圖和元數(shù)據(jù)的功能,可以緩存和暫存本地存取的元數(shù)據(jù)信息,并保持與專用元數(shù)據(jù)服務(wù)器的數(shù)據(jù)一致性,通過數(shù)據(jù)訪問的局部性減少訪問元數(shù)據(jù)服務(wù)器的次數(shù)從而可以顯著的提高存儲(chǔ)吞吐率。
局域網(wǎng)的虛擬化技術(shù)也稱為基于IP存儲(chǔ)虛擬化,它是當(dāng)前在虛擬存儲(chǔ)領(lǐng)域最活躍的研究熱點(diǎn)之一。基于IP存儲(chǔ)虛擬化技術(shù)產(chǎn)生很多成功產(chǎn)品,特別是10Gb/S以太網(wǎng)的出現(xiàn),更是加速了局域網(wǎng)虛擬化的快速發(fā)展,其中支持局域網(wǎng)的協(xié)議包括FCP,iFCP,SCSI,iSCSI,vSCSI,InfiniBand等,它們都是基于TCP/IP的數(shù)據(jù)存儲(chǔ)訪問協(xié)議(如圖4所示)。
網(wǎng)絡(luò)的大規(guī)模虛擬存儲(chǔ)技術(shù)將是今后一段時(shí)間內(nèi)虛擬存儲(chǔ)化技術(shù)的主要研究熱點(diǎn),其中基于iSCSI協(xié)議的網(wǎng)絡(luò)存儲(chǔ)被認(rèn)為是繼續(xù)推動(dòng)存儲(chǔ)區(qū)域網(wǎng)(SAN)快速發(fā)展的關(guān)鍵技術(shù),該協(xié)議通過IP協(xié)議封裝SCSI命令,把大型存儲(chǔ)設(shè)備接入網(wǎng)絡(luò),使基于iSCSI的存儲(chǔ)訪問協(xié)議和互聯(lián)網(wǎng)上,從而實(shí)現(xiàn)獨(dú)立于地理位置的數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)備份和數(shù)據(jù)檢索;特別是10Gb以太網(wǎng)的迅速普及和縮短訪問延遲的遠(yuǎn)程內(nèi)存直接訪問技術(shù)(RDMA)的快速發(fā)展,將會(huì)加速基于IP的虛擬存儲(chǔ)技術(shù)的進(jìn)一步快速發(fā)展。
互聯(lián)網(wǎng)的虛擬化是存儲(chǔ)技術(shù)的最高形式。它采用集群技術(shù)、網(wǎng)格技術(shù)、覆蓋網(wǎng)技術(shù)、P2P技術(shù)以及分布式文件系統(tǒng)等技術(shù)實(shí)現(xiàn)將全球范圍內(nèi)不同類型的存儲(chǔ)設(shè)備通過虛擬化技術(shù)整合起來,向外提供統(tǒng)一的虛擬內(nèi)存和硬盤的功能。雖然基于互聯(lián)網(wǎng)的虛擬化的發(fā)展還處在起步階段,但一些研究成果已經(jīng)顯現(xiàn),如由Jun Wang,Xiaoyu Yao等人提出的基于成熟的TCP/IP協(xié)議的SAN技術(shù),采用iSCSI協(xié)議及分層緩存機(jī)制實(shí)現(xiàn)對基于廣域網(wǎng)的存儲(chǔ)服務(wù)器的高速訪問。基于互聯(lián)網(wǎng)的存儲(chǔ)虛擬化(例如存儲(chǔ)云)實(shí)際上是一種為用戶提供存儲(chǔ)服務(wù)的虛擬化技術(shù)。
實(shí)現(xiàn)存儲(chǔ)虛擬化系統(tǒng)的關(guān)鍵是實(shí)現(xiàn)眾多異構(gòu)存儲(chǔ)設(shè)備到統(tǒng)一虛擬存儲(chǔ)資源的視圖映射,通常在用戶和存儲(chǔ)設(shè)備路徑上加入存儲(chǔ)管理部件來實(shí)現(xiàn)虛擬化,它屏蔽了不同類型、不同特性的物理設(shè)備,實(shí)現(xiàn)大量異構(gòu)存儲(chǔ)資源的整合,向用戶提供方便訪問、任意劃分、在線擴(kuò)容、安全穩(wěn)定的虛擬存儲(chǔ)系統(tǒng)。.實(shí)現(xiàn)虛擬化存儲(chǔ)系統(tǒng)需要解決的一些關(guān)鍵技術(shù)包括:
異構(gòu)存儲(chǔ)介質(zhì)的互聯(lián)和統(tǒng)一管理。存儲(chǔ)虛擬化的核心任務(wù)是兼容多種屬性的存儲(chǔ)設(shè)備,屏蔽它們間不同的物理特性并向用戶提供統(tǒng)一的虛擬邏輯設(shè)備訪問方式,由網(wǎng)絡(luò)連接的各種物理存儲(chǔ)設(shè)備以虛擬卷的形式向用戶呈現(xiàn),而用戶關(guān)注的是存儲(chǔ)容量和數(shù)據(jù)安全策略,而存儲(chǔ)容量的物理分配則對用戶透明的,存儲(chǔ)虛擬化管理系統(tǒng)及其所兼容的協(xié)議屏蔽了連接到存儲(chǔ)網(wǎng)絡(luò)中的各類設(shè)備的差異性,簡化了邏輯存儲(chǔ)設(shè)備的管理、配置和分配,并向用戶提供在線劃分、擴(kuò)展、配置存儲(chǔ)和在線增加與更替存儲(chǔ)設(shè)備的虛擬化存儲(chǔ)管理技術(shù)。
數(shù)據(jù)的共享沖突與一致性。數(shù)據(jù)共享是存儲(chǔ)虛擬化的主要功能之一,基于網(wǎng)絡(luò)的虛擬存儲(chǔ)對數(shù)據(jù)共享訪問提出了很高的要求,存放在不同物理存儲(chǔ)器中的數(shù)據(jù)拷貝為操作系統(tǒng)間及操作系統(tǒng)和數(shù)據(jù)倉庫問的數(shù)據(jù)共享帶來便利,但同時(shí)必須仔細(xì)設(shè)計(jì)鎖機(jī)制算法、備份分發(fā)算法以及緩存一致性技術(shù)來保證數(shù)據(jù)的完整性。
數(shù)據(jù)的透明存儲(chǔ)和容錯(cuò)容災(zāi)策略。數(shù)據(jù)的透明訪問需要虛擬存儲(chǔ)屏蔽存儲(chǔ)設(shè)備的物理差異性,由系統(tǒng)按照資源的特性及用戶的需求自動(dòng)調(diào)度和利用存儲(chǔ)資源,便于用戶在邏輯卷的基礎(chǔ)上對數(shù)據(jù)進(jìn)行復(fù)制、鏡像、備份以及實(shí)現(xiàn)虛擬設(shè)備級(jí)的數(shù)據(jù)快照等功能。虛擬存儲(chǔ)系統(tǒng)必需按照數(shù)據(jù)的安全級(jí)別建立容錯(cuò)和容災(zāi)機(jī)制,以克服系統(tǒng)的誤操作、單點(diǎn)失效、意外災(zāi)難等因素造成的數(shù)據(jù)損失。系統(tǒng)必需對用戶透明地的實(shí)現(xiàn)多種機(jī)制下的數(shù)據(jù)備份、數(shù)據(jù)系統(tǒng)容錯(cuò)和災(zāi)難預(yù)警及自動(dòng)恢復(fù)等策略。
性能優(yōu)化和負(fù)載均衡。存儲(chǔ)系統(tǒng)應(yīng)該從全局的觀點(diǎn)并根據(jù)不同存儲(chǔ)設(shè)備的特性來優(yōu)化存儲(chǔ)系統(tǒng),應(yīng)該根據(jù)不同存儲(chǔ)的存儲(chǔ)響應(yīng)時(shí)問、吞吐率和存儲(chǔ)容量來安排多級(jí)存儲(chǔ)體系結(jié)構(gòu),實(shí)現(xiàn)數(shù)據(jù)的多級(jí)高速緩存和數(shù)據(jù)預(yù)取功能。根據(jù)用戶的需求安排不同的存儲(chǔ)策略實(shí)現(xiàn)對數(shù)據(jù)的按需存取,仔細(xì)設(shè)計(jì)I/O均衡策略,根據(jù)具體的物理設(shè)備合理分配用戶的I/O請求,使用條帶化方法、數(shù)據(jù)分塊、時(shí)空負(fù)載區(qū)分、數(shù)據(jù)主動(dòng)存取和數(shù)據(jù)的過預(yù)取策略來提高數(shù)據(jù)的訪問效率,為了進(jìn)一步提高訪問效率,也可以采用基于存儲(chǔ)對象的存儲(chǔ)主動(dòng)服務(wù)策略來提高數(shù)據(jù)的主動(dòng)預(yù)測服務(wù)。
數(shù)據(jù)的安全訪問策略。基于網(wǎng)絡(luò)的存儲(chǔ)必需對訪問加以控制,數(shù)據(jù)被越權(quán)訪問和惡意攻擊是虛擬存儲(chǔ)系統(tǒng)必需要避免的,透明的存儲(chǔ)服務(wù)所帶來的數(shù)據(jù)安全性必需由虛擬化管理軟件來實(shí)現(xiàn),其實(shí)現(xiàn)安全訪問的策略是多樣的,如基于密鑰的認(rèn)證管理及數(shù)據(jù)加密策略,以及在存儲(chǔ)體之上增加一層可信的管理層節(jié)點(diǎn)等都是可行的方法。
高可靠性和可擴(kuò)展性。高可靠和可擴(kuò)展性是虛擬存儲(chǔ)系統(tǒng)必需具備的特性,系統(tǒng)應(yīng)該采用高效的故障預(yù)測、故障檢測、故障隔離和故障恢復(fù)技術(shù)來保證系統(tǒng)的高可靠性。虛擬存儲(chǔ)系統(tǒng)應(yīng)該在不中斷正常存儲(chǔ)服務(wù)的前提下實(shí)現(xiàn)對存儲(chǔ)容量和存儲(chǔ)服務(wù)進(jìn)行任意擴(kuò)展,透明的添加和更替存儲(chǔ)設(shè)備,虛擬存儲(chǔ)系統(tǒng)還應(yīng)該具有自動(dòng)發(fā)現(xiàn)、安裝、檢測和管理不同類型存儲(chǔ)設(shè)備的能力。