- 重復數據刪除技術:面向大數據管理的縮減技術
- 付印金 肖儂編著
- 2649字
- 2022-07-29 14:41:31
1.2.1 存儲虛擬化
存儲虛擬化是通過從應用、主機或通用網絡資源中抽象、隱藏或隔離存儲系統或服務的內部功能,使存儲或數據的管理獨立于應用和網絡[6]。對存儲服務和設備進行虛擬化,能夠在對下一層存儲資源進行擴展時進行資源合并,降低實現的復雜度。將存儲資源虛擬成一個“存儲池”,這樣做的好處是把許多零散的存儲資源整合起來,從而提高整體利用率,同時降低系統管理成本。特別是虛擬磁帶庫,對于提升備份、恢復和歸檔等應用服務水平起到了非常顯著的作用,極大地節省了企業的時間和成本。除了時間和成本方面的好處,存儲虛擬化還可以在單一的控制界面動態地管理和分配存儲資源,提升存儲環境的整體性能和可用性水平。通過虛擬化,許多既消耗時間又多次重復的工作,如備份/恢復、數據歸檔和存儲資源分配等,可以通過自動化的方式來進行,大大減少了人工作業。
存儲虛擬化可以按不同的標準進行分類。存儲網絡工業協會SNIA提供的存儲虛擬化模型如圖1-4所示,包括三種分類標準。根據資源類型的差異,我們可以分為磁盤虛擬化、磁帶/磁帶庫虛擬化、文件系統虛擬化、文件/記錄虛擬化、塊虛擬化等。

圖1-4 存儲虛擬化分類
· 磁盤虛擬化,是指磁盤固件通過虛擬化屏蔽磁盤的物理特性,邏輯塊尋址方法將CHS地址轉換為連續編號的邏輯塊給上層的操作系統和應用使用,簡單地通過邏輯塊數用戶就知道磁盤容量;此外,磁盤固件能夠將有缺陷的塊重映射到一個空的無缺陷磁盤塊存儲池,使用戶看起來仍然是一塊很好的無缺陷磁盤。
· 磁帶/磁帶庫虛擬化,使用在線的磁盤存儲作為高速緩存來模擬物理磁帶上的數據讀寫,這樣不僅能夠改進磁帶的備份性能和服務壽命,還能改進存儲容量的利用率;磁帶驅動虛擬化是在磁帶庫里讓盡可能多的主機系統共享物理磁帶驅動,節省大量的硬件資源。此外,磁帶驅動虛擬化使得壞磁帶替換不會影響備份過程;類似于RAID技術在磁盤上的使用,獨立冗余磁帶RAIT和獨立冗余磁帶庫RAIL都是磁帶驅動虛擬化技術的應用。
· 文件系統虛擬化,最簡單的形式就是網絡附屬文件系統NAS,如NFS和CIFS,有專門的文件服務器管理共享網絡訪問文件系統內的文件;文件系統虛擬化還可以用在數據庫環境來結合裸設備訪問和文件系統訪問的優勢。
· 文件/記錄虛擬化,最廣泛使用的一個例子就是分層存儲管理,很少被使用的數據會被自動遷移到廉價的二級存儲媒介,如光盤、磁帶或低價高密度的SATA磁盤陣列;并且,這種遷移對上層的用戶和應用是位置透明的。
· 塊虛擬化,是磁盤虛擬化的延伸,也是存儲虛擬化的核心內容。它通過控制物理存儲設備來提供具有足夠容量、性能和可靠性的邏輯卷,以滿足存儲消費者不必關心底層細節的需要;虛擬層負責將I/O請求映射到底層物理存儲上的邏輯卷,并且按用戶需要創建足夠大、快速和可用的虛擬存儲設備。
為了更好地理解存儲虛擬化各種實現背后的原因,我們來看看I/O請求從應用到存儲的執行鏈。首先,上層應用發送讀/寫請求到操作系統;其次,該請求通過文件系統或者直接發送到硬盤,并將請求轉化為邏輯塊地址;再次,將邏輯塊地址轉換為實際物理硬盤CHS地址,這一轉換可以在主機端、網絡或存儲端實現;最后,在硬盤對應的物理地址上完成訪問操作,將結果按原路反饋。根據虛擬化的處理位置不同,可以分為基于主機/服務器的虛擬化、基于存儲子系統的虛擬化、基于網絡的虛擬化。
· 基于主機/服務器的虛擬化一般由操作系統下的邏輯卷管理器(Logical Volume Manager,LVM)完成,不同操作系統的邏輯卷管理器也不相同。它是最流行的一種存儲虛擬化方式,特別是直連式存儲(Direct Attached Storage,DAS)廣泛使用。主機邏輯卷管理器最常用的功能包括:將物理存儲從多個邏輯單元號LUN合并為單一的超級LUN,使主機操作系統看起來像單一硬盤驅動;實現軟RAID和快照及遠程復制等先進功能;在操作系統的控制下管理硬盤資源的健康狀況。基于主機/服務器的虛擬化主要用途是使服務器的存儲空間可以跨越多個異構的磁盤陣列,常用于不同磁盤陣列之間做數據鏡像保護。常見產品有IBM公司的AIX LVM、Linux LVM和Veritas Volume Manager等。
· 基于存儲子系統的虛擬化不依賴于特定類型的主機,允許磁盤陣列支持具有不同操作系統或應用的異構主機。存儲陣列RAID、快照、LUN屏蔽和映射等都屬于塊級存儲子系統虛擬化。RAID系統能提供與其硬件相關的最優性能,但單個的陣列在硬件失效時會讓快照等數據保護措施失效,需要存儲子系統虛擬化來實現跨多個陣列的虛擬化。通常地,基于主機的虛擬化和基于存儲子系統的虛擬化是結合使用的,不僅具有硬件輔助的RAID性能,還能提供基于主機LVM的彈性。代表性的產品有DELL公司的EqualLogic和Compellent系統、HP公司的3PAR和LeftHand系列以及IBM V系列等。
· 基于網絡的虛擬化支持數據中心范圍的存儲管理,能夠適應一種真正的異構存儲區域網絡SAN,提供存儲容量爆炸式增長所需的自動存儲管理。它的功能是異構存儲系統整合和統一數據管理,包括:將幾個LUN從一個或多個陣列合并成單個LUN給主機使用;將單個LUN分割為多個小的虛擬LUN給不同的主機;在SAN內部或廣域網上進行同步和異步復制;讓設備被特定的主機安全地訪問LUN。在路由器固件上截取網絡中任何一個從主機到存儲系統的命令也可以實現存儲虛擬化功能,供應商通常也提供運行在主機上的附加軟件來進一步增強存儲管理能力。典型基于網絡的存儲虛擬化產品有EMC公司的VPLEX、IBM公司的SVC和飛康FreeStor系列。
根據系統實現方式的區別,存儲虛擬化又可以分為帶內(In-band)虛擬化和帶外(Out-of-band)虛擬化兩種,早期業界也稱其為對稱虛擬化和非對稱虛擬化。帶內虛擬化設備放置在主機和存儲之間的數據路徑上,類似存儲轉發過程,所有的控制信息和數據必須經過帶內設備。對于主機而言,帶內設備像是能提供邏輯卷的存儲陣列;對于存儲而言,帶內設備像是一個主機,發送不區分主機的讀寫請求。這樣,帶內虛擬化可以支持數據中心范圍內管理的異構存儲和異構主機資源。帶內虛擬化可以在存儲系統、網絡、主機、文件系統上實現,但容易引起性能瓶頸,每個帶內設備往往在一定程度上限制了主機數目,根據吞吐量需求有時需要多個帶內設備。
帶外虛擬化設備放置在從主機到存儲的數據路徑之外,實際的I/O可以直接發送到存儲設備,主要在存儲區域網絡SAN上實現。帶外設備負責管理存儲池和卷的配置及控制信息,主機用這些信息來定位SAN存儲系統內的物理塊位置。由于不在數據流的路徑上操作,在SAN環境中增加數據流虛擬化并不會直接影響帶外設備,對硬件平臺的技術要求也比較低。由于有更低的系統要求,帶外虛擬化設備可以在SAN系統內的應用服務器集群上作為純軟件功能實現,避免增加額外的硬件設備要求。相比于帶內方式,它雖然增加了更多復雜的交互,但是縮短了數據I/O路徑,并且在全卷管理上更輕量級。
- 數據庫基礎與應用:Access 2010
- Architects of Intelligence
- 分布式數據庫系統:大數據時代新型數據庫技術(第3版)
- 數據庫應用基礎教程(Visual FoxPro 9.0)
- Learn Unity ML-Agents:Fundamentals of Unity Machine Learning
- 基于OPAC日志的高校圖書館用戶信息需求與檢索行為研究
- 金融商業算法建模:基于Python和SAS
- 數據科學工程實踐:用戶行為分析與建模、A/B實驗、SQLFlow
- Power BI智能數據分析與可視化從入門到精通
- Oracle數據庫管理、開發與實踐
- Artificial Intelligence for Big Data
- 社交網站的數據挖掘與分析(原書第2版)
- 算力芯片:高性能CPU/GPU/NPU微架構分析
- SQL必知必會(第四版)
- Visual Studio 2010(C#)Web數據庫項目開發