linux Python 开源 Firefox centos 程序员 mysql Android 云计算 google wordpress 编程 shell apache nginx php 微软 java Ubuntu Windows

《私有雲計算整合、虛擬化和面向服務的基礎設施》一2.4存儲虛擬化

2.4存儲虛擬化

存儲虛擬化是存儲模塊的主要焦點(參見圖2-2),它抽象了服務器應用訪問數據時的邏輯表現與數據的物理位置,實現了位置無關性(雲計算的基本特征之一)。虛擬系統負責管理卷到實際物理位置的映射過程,使邏輯實體以卷的形式展現給用戶。虛擬化軟件或虛擬化設備負責維護映射表,它也是元數據的一部分。映射粒度小至物理磁盤的一部分,大至整個物理磁盤,在這樣的環境中,單個信息塊由其LUN,也即物理磁盤,以及LUN內的偏移地址一起確定,這一偏移地址也稱為邏輯塊地址(Logical Block Address,LBA)[16]。邏輯實體通常指虛擬磁盤,物理磁盤之間的地址空間映射由它們各自的LUN確定。
說明:物理磁盤也可以僅為存儲的一部分,例如從底層磁盤子系統中的RAID陣列切出來的一塊。
從另一個角度來看,傳統存儲管理通常采用到主機系統的DAS方式,主機擁有對DAS的唯一控制。SAN出現後,DAS被存儲網絡而替代,不過依然主要在RAID系統級別創建並維護存儲,虛擬化是傳統存儲管理模型的下一邏輯步驟,虛擬化實現了集中的磁盤創建及維護的集中控制中心。
未進行虛擬化時,不同的主機系統擁有各自的煙囪式數據庫或存儲(參見圖2-3),造成了資源的浪費,存儲虛擬化實現了按需供應—資源池(而非特定的煙囪式數據庫),使得無論應用來自哪個附加系統,需要多大量的資源,都能夠獲得滿足。池式存儲由各廠商的不同後端存儲混合而成,能夠實現對各類遺留及異構存儲資源的整合和充分利用。
虛擬化也有助於調節可得資源的數量,而不再需要通過啟用周期存儲設備實現容量的增加或減少。主機系統也不用再負責卷的管理以及關註存儲的變化,包括數據遷移或存儲升級等。數據保護技術,諸如快照和復制,也被簡化了,為不同應用分配不同類別的存儲也變得簡單了。此外,SAN存儲虛擬化是對服務器虛擬化的補充,SAN存儲虛擬化簡化了VM在不同物理平臺間遷移數據鏈路的關聯。最後但也同樣重要的是:存儲虛擬化也簡化了存儲管理,降低了管理異構存儲資源的成本,這也是現代DC的常見問題。

2.4.1塊匯聚

到目前為止,在這一章我們已經討論了塊級別的虛擬技術,通過對不同物理磁盤整合使得它們看起來就像一個邏輯設備一樣。這樣的技術通常也稱為塊匯聚,它與全球網絡存儲工業協會(Storage Networking Industry Association,SNIA)提出的L2共享存儲模型有關。為什麽在塊一級進行虛擬化?最主要的原因是希望無須增加額外的智能應用,就能夠克服個體設備的物理局限性,在應用看來是擁有了更大的磁盤,而實際上是通過增加一個虛擬磁盤來實現LBA容量擴展。
塊匯聚是在主機(服務器)內部的存儲設備(智能設備控制器)或在存儲網絡(基於網絡的設備或fc交換機)上實現的,以下是三種常見的塊一級虛擬化解決方案,它們各有利弊:
基於主機的虛擬化。
利:軟件解決方案與存儲平臺或開發商無關,也與底層SAN技術、FC、iSCSI等無關。
弊:基於主機的虛擬化通常需要為每個主機購買一個許可,因而整體成本比較高,虛擬化軟件也有可能十分復雜,而且需要在訪問到存儲目標之前,必須對每一個幀都進行攔截及重定向處理。由於每個主機都需要獨立控制,因此需要為每個主機都安裝一個軟件驅動程序。因為實際主機是基於VM的(更多細節請參考本章“虛擬數據存儲概念”的相關內容),所以使用VMware VMFS能夠解決其中一部分問題。
基於設備的虛擬化。
利:存儲設備或子系統與主機平臺及OS都無關,虛擬化是由與物理磁盤驅動器非常接近的設備控制器完成的,該解決方案能夠提供更好的響應能力。
弊:通常設備來自不同廠商,因而對異構存儲資源的SAN環境進行管理十分困難,數據存儲設備廠商通過將大量不同的物理存儲技術,包括NFS、CIFS、iSCSI、FC以及FCoE,放在一起組成統一的存儲體系架構來克服此問題。NetApp數據ONTAP 7G以及8.0,以及EMC公司的Celerra/CLARiiON,都是基於統一存儲體系架構。
基於網絡的虛擬化。
利:通過虛擬化設備或在FC交換機內可以實現基於網絡的虛擬化,該解決方案完全獨立於存儲平臺、主機平臺以及OS。當連接到SAN後,基於網絡的虛擬化可以訪問所有相連的主機以及存儲設備,並具備高性能及可擴展性。
弊:基於網絡的虛擬化技術通常與廠商相關,如果將虛擬設備以界內方式部署在數據路徑上,它們往往會變成瓶頸,同樣,基於網絡的虛擬化技術也面臨著可擴展性難題,需要采用聚集處理,以防止單點失效。通過基於交換機的虛擬化技術,可以訪問到高性能的基架,從而增強了系統的可擴展性。這樣的強化效果受制於用戶所選擇的特定類型的交換機及硬件,也有可能在未來系統升級時不得不全盤更新。因此,我們需要采用獨立供應商的標準,例如使用光纖架構應用接口標準(Fabric Application Interface Standard,FAIS)來克服基於專有性交換機虛擬化的缺點。
說明:FAIS基於INCITS T11標準,其目標是為光纖應用創建一個與底層硬件平臺無關的通用API,來幫助開發人員將存儲和數據管理問題與應用、主機以及存儲設備分離並集中到一個基於光纖的智能存儲平臺上。

2.4.2同步及異步存儲虛擬化

同步虛擬化屬於基於網絡的帶內虛擬化部署方式,此時,數據及控制消息使用相同的路徑,由一個集中的虛擬存儲管理器負責所有的I/O及元數據路由。虛擬引擎通常為一個單獨的網絡設備,不過也可以將該設備作為特殊的模塊嵌入到FC交換機中,或直接運行在服務器上。所有I/O都需要經過虛擬設備,這樣會對能夠利用的SAN拓撲有所限制,有可能產生瓶頸。利用緩存最大化虛擬引擎性能可以解決這一瓶頸問題。IBM SAN卷控制器(SAN Volume Controller,SVC)是基於網絡的帶內設備的樣例。
圖2-10給出了一個同步虛擬化的樣例。在這個樣例中,所有服務器端口都劃分到虛擬設備的虛擬目標端口T區域,所有的存儲端口均劃分到虛擬設備的虛擬發起端口I1。所有來自主機(發起者I)的數據及控制幀都將送往虛擬目標T,並在虛擬目標終止。SCSI CDB[17](命令描述塊)以及LUN都將被重新映射,發起者(例如I1)作為虛擬設備代理將發給物理目標T1一個新幀。

screenshot

異步虛擬化方法屬於基於網絡的帶外虛擬化部署,可以將I/O操作分成如下3個階段:
1)服務器攔截下I/O請求塊。
2)服務器要求元數據管理器確定數據的物理位置。
3)服務器存儲或重新檢索那些直接經過SAN的數據。
FC SAN上的元數據以帶內方式進行傳輸,以太網鏈路上的元數據以帶外方式傳輸。在SAN中,每個使用虛擬存儲的服務器都必須使用特定接口或安裝的代理與元數據管理器進行通信,完成從邏輯的數據訪問到物理訪問的轉換,因此推薦使用帶外以太網鏈路,因為它能夠避免SAN中由於ip元數據傳輸產生的擁塞。
圖2-11向我們揭示了異步虛擬化的原理,此時每一個服務器上都運行了一個虛擬化主機代理,負責攔截I/O請求塊,並將元數據(CDB以及LUN)發送給帶外LAN上的虛擬(元)管理器。虛擬管理器將對CDB以及LUN進行重映射,並將它們返回給服務器。服務器將修改後的幀發送到存儲目標端口,所有之後的數據及響應幀都可以在發起者(I)以及目標端口(T)之間直接移動。

screenshot

兩種部署方式擁有各自的優缺點:
同步虛擬化。

優點:帶內部署復雜性較低,因為它使用單點管理模式,整體結構更簡單,也不需要主機代理。
缺點:同步虛擬化增加了每一幀的時延,因為所有的幀都先被終止,然後再被設備重映射,最後才被轉發到目標地點。所有的網絡傳輸都經過設備,將增加潛在的單點故障以及性能瓶頸,借助集群解決方案以及大容量緩存解決這些問題,只是執行虛擬操作的集群虛擬化設備又會因元數據庫同步產生新的一致性問題。
異步虛擬化。

優點:異步虛擬化的主要優勢在於低時延。
缺點:異步虛擬化屬於帶外操作,要求主機能夠攔截控制幀,此外,虛擬(元數據)管理器有可能形成單點故障。
對基於網絡的虛擬化而言,到底應選用哪一種部署方案:是帶內部署還是帶外部署?是否存在一種體系結構能夠結合二者的優勢,卻又可以避免同步虛擬的瓶頸,也不需要異步虛擬中的主機代理呢?基於智能交換機的分離路徑架構有可能是一種最佳方案。換句話說,也就是使用基於交換機的混合(分離路徑)方法,控制路徑采用效率更高的帶外部署,而數據路徑采用帶內部署,這種方案從本質上避免性能瓶頸,也不需要使用主機代理。
在分離路徑體系架構中,元數據管理器通常為一個控制路徑處理器(Control Path Processor,CCP),嵌入在智能交換機中的特定刀片上,或者位於某個外部帶外控制器(設備)上。CPP支持FAIS,負責設備恢復、卷配置(例如,管理LBA元數據、將主機映射到存儲LUN上)以及I/O錯誤或意外處理。這些操作不要求CCP處在界內,也不要求CPP位於數據路徑上。當卷信息(主機到存儲的映射)確定後,將被委托給數據路徑控制器(Data Path Controller,DPC)。DPC包含了高性能的I/O處理ASIC[18],也駐留在特定刀片上,負責復制等帶內操作。當接收到來自CPP的卷信息後,DPC將獨立開始工作,完成從虛擬到物理的I/O轉換,並且將數據轉發到正確的目的地。例如,MDS 9000系列上的Cisco存儲設備服務模塊(Storage Services Module,SSM[19])能夠支持分離路徑架構。SSM支持FAIS,允許集成第三方虛擬引擎(例如EMC Invista[20])將虛擬化控制數據轉移給MDS交換機。

延伸阅读

评论