云存儲是實現云計算服務能力的不可或缺的關鍵要素。從狹義上來說,云存儲是指通過虛擬化、分布式技術、集群應用、網格技術、負載均衡等技術,將網絡中大量的存儲設備通過軟件集合起來高效協同工作,共同對外提供低成本、高擴展性的數據存儲服務。從廣義上來講,云存儲可以理解為按需提供的虛擬存儲資源,如同云計算的Paas、Iaas服務一樣,可稱為數據存儲即服務(Data Storage As a Service,DaaS),即基于指定的服務水平請求,通過網絡提供適當的虛擬存儲和相關數據服務。
云存儲技術的發展,是因為傳統的盤陣存儲由于高成本和系統的高負載性,已經難以適應云計算服務對存儲的需求。傳統盤陣雖然利用專有的、定制設計的硬件組件和互連接口設計集成在一起,保障了的存儲的性能和可靠性,但是其單點擴展存在容量上限和接口帶寬等限制,面對PB級的海量存儲需求,無論是SAN或NAS在容量和性能的擴展上均無法滿足應用的需要;且盤陣造價昂貴,標準化程度較低,組件的更換常常導致系統故障或者硬件的升級,從而導致存儲成本居高不下。
由此,為實現存儲的低成本、高可擴展與資源池化,云存儲技術應運而生,這其中最關鍵的是存儲虛擬化技術與分布式存儲技術的應用。從短期來看,存儲化技術可以充分提升現有存儲資源的應用水平,實現資源池化,提升設備使用率,降低管理成本。從長遠發展來看,分布式存儲技術則是未來云存儲的發展趨勢,分布式存儲底層可構建在標準X86服務器集群之上,通過分布式文件系統對外提供彈性存儲資源,可選擇SATA作為存儲實現方式,根據應用需要提供豐富的服務接口,從而大大降低了存儲成本。同時基于X86的分布式存儲的集群架構也實現了較強的Scale-out擴展能力。
該文的第二章對現有的三種類型的存儲虛擬化技術原理及應用進行了詳細分析,第三章對分布式云存儲的技術發展和應用進行了分析和研究,第四章給出了研究結論。
1 存儲虛擬化
存儲虛擬化技術主要指通過在物理存儲系統和服務器之間增加一個虛擬層,使服務器的存儲空間可以跨越多個異構的磁盤陣列,實現從物理存儲到邏輯存儲的轉變。從而能夠把不同品牌、架構甚至不在統一物理居址的存儲設備統一到一個(若干個)虛擬的存儲資源池,實現存儲資源的統一調度、管理和使用。存儲虛擬化技術是傳統存儲向云存儲過渡的重要中間技術,在實現存儲資源管理統一、高效的同時,使得存儲資源的調度、增減對用戶完全透明,使存儲資源具備了支撐云計算服務的能力。
1.1主要存儲虛擬化技術
存儲虛擬化技術雖然不同設備與廠商之間略有區別,但從總體來說,可概括為基于主機虛擬化、基于存儲設備虛擬化和基于存儲網絡虛擬化三種技術。
1)基于主機的虛擬化存儲的實現,其核心技術是通過增加一個運行在操作系統下的邏輯卷管理軟件將磁盤上的物理塊號映射成邏輯卷號,并以此實現把多個物理磁盤陣列映射成一個統一的虛擬的邏輯存儲空間(邏輯塊)實現存儲虛擬化的控制和管理。從技術實施層面看,基于主機的虛擬化存儲不需要額外的硬件支持,便于部署,只通過軟件即可實現對不同存儲資源的存儲管理。但是,虛擬化控制軟件也導致了此項技術的主要缺點:首先,軟件的部署和應用影響了主機性能;其次,各種與存儲相關的應用通過同一個主機,存在越權訪問的數據安全隱患;最后,通過軟件控制不同廠家的存儲設備存在額外的資源開銷,進而降低系統的可操作性與靈活性。
2)存儲設備虛擬化技術依賴于提供相關功能的存儲設備的陣列控制器模塊,常見于高端存儲設備,其主要應用針對異構的SAN存儲構架。此類技術的主要優點是不占主機資源,技術成熟度高,容易實施;缺點是核心存儲設備必須具有此類功能,且消耗存儲控制器的資源,同時由于異構廠家磁盤陣列設備的控制功能被主控設備的存儲控制器接管導致其高級存儲功能將不能使用。
3)基于存儲網絡虛擬化的技術的核心是在存儲區域網中增加虛擬化引擎實現存儲資源的集中管理,其具體實施一般是通過具有虛擬化支持能力的路由器或交換機實現。在此基礎上,存儲網絡虛擬化又可以分為帶內虛擬化與帶外虛擬化兩類,二者主要的區別在于:帶內虛擬化使用同一數據通道傳送存儲數據和控制信號,而帶外虛擬化使用不同的通道傳送數據和命令信息;诖鎯W絡的存儲虛擬化技術架構合理,不占用主機和設備資源;但是其存儲陣列中設備的兼容性需要嚴格驗證,與基于設備的虛擬化技術一樣,由于網絡中存儲設備的控制功能被虛擬化引擎所接管,導致存儲設備自帶的高級存儲功能將不能使用。
1.2存儲虛擬化技術對比
被節用表格的方式對三種存儲虛擬化技術的技術優點與缺點、適應場景等進行了分析對比,結果見表1。
表1存儲虛擬化技術對比
2 分布式存儲
分布式存儲相比傳統的集中陣列存儲設備,其技術和解決方案,還處于發展初期,總體來看只具備部分場景下的存儲需求實現能力。但是從發展趨勢來看,通過一個可擴展的網絡進行連接各離散的處理單元的分布式存儲系統,其高可擴展性、低成本、無接入限制等優點是現有存儲系統所無法比擬的。該文的分析研究將以目前發展的分布式塊存儲、分布式文件系統存儲、分布式對象存儲和分布式表存儲這四種分布式存儲技術為對象進行。
1)分布式塊存儲:塊存儲就是服務器直接通過讀寫存儲空間中的一個或一段地址來存取數據。由于采用直接讀寫磁盤空間來訪問數據,相對于其他數據讀取方式,塊存儲的讀取效率最高,一些大型數據庫應用只能運行在塊存儲設備上。分布式塊存儲系統目前以標準的Intel/Linux硬件組件作為基本存儲單元,組件之間通過千兆以太網采用任意點對點拓撲技術相互連接,共同工作,構成大型網格存儲,網格內采用分布式算法管理存儲資源。此類技術比較典型的代表是IBM XIV存儲系統,其核心數據組件為基于Intel內核的磁盤系統,卷數據分布到所有磁盤上,從而具有良好的并行處理能力;放棄RAID技術,采用冗余數據塊方式進行數據保護,統一采用SATA盤,從而降低了存儲成本。
2)分布式文件系統存儲:文件存儲系統可提供通用的文件訪問接口,如POSIX、NFS、CIFS、FTP等,實現文件與目錄操作、文件訪問、文件訪問控制等功能。目前的分布式文件系統存儲的實現有軟硬件一體和軟硬件分離兩種方式。主要通過NAS虛擬化,或者基于X86硬件集群和分布式文件系統集成在一起,以實現海量非結構化數據處理能力。
軟硬件一體方式的實現基于X86硬件,利用專有的、定制設計的硬件組件,與分布式文件系統集成在一起,以實現目標設計的性能和可靠性目標;產品代表Isilon,IBM SONAS GPFS。軟硬件分離方式的實現基于開源分布式文件系統對外提供彈性存儲資源,軟硬件分離方式,可采用標準PC服務器硬件;典型開源分布式文件系統有GFS[3]、HDFS。
3)分布式對象存儲:對象存儲是為海量數據提供Key-Value這種通過鍵值查找數據文件的存儲模式;對象存儲引入對象元數據來描述對象特征,對象元數據具有豐富的語義;引入容器概念作為存儲對象的集合。對象存儲系統底層基于分布式存儲系統來實現數據的存取,其存儲方式對外部應用透明。這樣的存儲系統架構具有高可擴展性,支持數據的并發讀寫,一般不支持數據的隨機寫操作。最典型的應用實例就是亞馬遜的S3(Amazon Simple Storage Service)。對象存儲技術相對成熟,對底層硬件要求不高,存儲系統可靠性和容錯通過軟件實現,同時其訪問接口簡單,適合處理海量、小數據的非結構化數據,如:郵箱、網盤、相冊、音頻視頻存儲等。
4)分布式表存儲:表結構存儲是一種結構化數據存儲,與傳統數據庫相比,它提供的表空間訪問功能受限,但更強調系統的可擴展性。大多數表存儲的數據可靠性依賴于表存儲底層采用的文件存儲,對底層硬件要求不高,一般常采用開源軟件和通用PC,具有低成本的特性。提供分布式表存儲的云存儲系統的特征就是同時提供高并發的數據訪問性能和可伸縮的存儲、計算架構,適合存儲海量結構化或半結構化數據。其典型產品代表有Greenplum和谷歌的Bigtable[4]。以Greenplum為例,一般采用MPP(Massive Parallel Processing)架構實現海量數據存儲和處理、以及高并發數據讀寫能力,它實現了SQL到MapReduce的翻譯、優化、執行和結果收集,具有良好的擴展能力。
3 結論
綜上所述,從目前云存儲主要技術和解決方案的發展來看,已經具備從傳統存儲架構向云存儲架構演進的條件。具體到技術選擇和方案實施層面,首先需要關注存儲系統的應用需求,特別是其數據需求量與數據結構特點,從而確定選擇的存儲技術與方案類型;其次需要考慮是否需要利用現有存儲設備,分布式存儲技術多數應用了全新的存儲架構,一般無法和現有存儲設備整合;最后需要從性能實現和存儲成本等方面對技術方案進行比較。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:基于虛擬化與分布式技術的云存儲研究