◆楊永周
(云南電網有限責任公司保山供電局 云南 678000)
分布式存儲關鍵技術及優勢分析研究
◆楊永周
(云南電網有限責任公司保山供電局 云南 678000)
隨著信息技術的飛速發展,計算機系統需要處理的數據大量增加。同時,這些數據還需要有效地保存在存儲系統中,為數據分析和處理提供保障和便利。隨著網絡技術的不斷發展和創新,分布式存儲技術本身也在飛速地發展。毫無疑問,各個大型網站也都存儲著海量的數據,這些海量的數據如何有效存儲,是每個大型網站的架構師必須要解決的問題。分布式存儲技術就是為了解決這個問題而發展起來的技術。
分布式存儲;關鍵技術;分布式存儲應用
與目前常見的集中式存儲技術不同,分布式存儲技術并不是將數據存儲在某個或多個特定的節點上,而是通過網絡使用企業中的每臺機器上的磁盤空間,并將這些分散的存儲資源構成一個虛擬的存儲設備,數據分散的存儲在企業的各個角落。
傳統存儲陣列發展的幾十年里,確實給數據中心的建設帶來了巨大的發展,但是隨著虛擬化的普及以及大數據、云計算、互聯網+等等概念的落實,傳統存儲陣列的疲態凸顯,在處理能力、擴展性、可維護性、可靠性方面,以及成本考量都呈現出更多的劣勢。存儲廠商一味在增強、擴大這個“鐵盒子”,維護傳統領域“蛋糕”的同時,也在加緊研究著另一種背道而馳的存儲技術,這就是分布式存儲技術。
分布式存儲系統,是將數據分散存儲在多臺獨立的設備上。傳統的網絡存儲系統采用集中的存儲服務器存放所有數據,存儲服務器成為系統性能的瓶頸,也是可靠性和安全性的焦點,不能滿足大規模存儲應用的需要。分布式網絡存儲系統采用可擴展的系統結構,利用多臺存儲服務器分擔存儲負荷,利用位置服務器定位存儲信息,它不但提高了系統的可靠性、可用性和存取效率,還易于擴展。
常見的元數據管理可以分為集中式和分布式元數據管理架構,在大數據環境下,元數據的體量也非常大,元數據的存取性能是整個分布式文件系統性能的關鍵。
實現存儲系統的高可擴展性首先要解決兩個方面的重要問題,包含元數據的分配和數據的透明遷移;在大數據環境下,數據規模和復雜度的增加往往非常迅速,對系統的擴展性能要求較高。
構建存儲系統時,需要基于成本和性能來考慮,因此存儲系統通常采用多層不同性價比的存儲器件組成存儲層次結構。大數據的規模大,因此構建高效合理的存儲層次結構,可以在保證系統性能的前提下,降低系統能耗和構建成本,利用數據訪問局部性原理,可以從兩個方面對存儲層次結構進行優化。從提高性能的角度,可以通過分析應用特征,識別熱點數據并對其進行緩存或預取,通過高效的緩存預取算法和合理的緩存容量配比,以提高訪問性能。從降低成本的角度,采用信息生命周期管理方法,將訪問頻率低的冷數據遷移到低速廉價存儲設備上,可以在小幅犧牲系統整體性能的基礎上,大幅降低系統的構建成本和能耗。
傳統數據存儲模型需要支持盡可能多的應用,因此需要具備較好的通用性。大數據具有大規模、高動態及快速處理等特性,通用的數據存儲模型通常并不是最能提高應用性能的模型。而大數據存儲系統對上層應用性能的關注遠遠超過對通用性的追求。針對應用和負載來優化存儲,就是將數據存儲與應用耦合。簡化或擴展分布式文件系統的功能,根據特定應用、特定負載、特定的計算模型對文件系統進行定制和深度優化,使應用達到最佳性能。這類優化技術在谷歌、Facebook等互聯網公司的內部存儲系統上,管理超過千萬億字節級別的大數據,能夠達到非常高的性能。
傳統存儲陣列需要一臺昂貴的硬件,以及相應的存儲交換機、HBA等專用配件,對于存儲陣列的配置需要專業的人員進行管理,甚至受制于存儲廠商。而VMware分布式存儲技術,直接利用了服務器的磁盤,服務器本身就是控制器,在數據中心的架構中,減少了整整一個存儲硬件層面,大大簡化了數據中心建設的復雜程度。
傳統存儲的優勢是性能,但是這一點已經被顛覆,對于絕大部分中低端存儲來說,性能反而一直是一個“雞肋”,在虛擬化環境中,由于集中化了 I/O處理,而且 I/O處理是共享式的,因此很可能造成對于某些虛擬機的影響,或者干脆由于整體性能不行拖累了虛擬化平臺。分布式存儲技術的性能,取決于高速緩存的處理能力和大小,而它采用的是固態盤技術(SSD),單塊SSD的性能可達上萬IOPS,如果組建集群的話,性能可以線性擴充,這大大緩解了性能瓶頸。
分布式存儲的優勢就是“分布式”,所謂的“分布式”就是能夠將多個物理節點整合在一起形成共享的存儲池,節點可以線性擴充,這樣可以源源不斷地通過擴充節點提升性能和擴大容量,這是傳統存儲陣列無法做到的。
這里所提到的“對象”,是虛擬機,傳統存儲陣列都是“塊”一級的操作,存儲規則的定義與虛擬機、應用無任何關聯性,這就造成存儲與應用、業務系統的脫節,而新一代的分布式存儲技術,所有的存儲規則都可以定義到虛擬機級別,每個虛擬機都可以有自己的個性化的存儲規則,比如“副本的多少、條帶化、存儲格式”等等,這才真正做到存儲層面與應用的互動,“存儲感知應用”,及時為業務系統創造合適的存儲環境。
由于分布式存儲的架構是分散式的,數據的存放也是分散在不同的節點之上,因此如果個別節點損壞,對于整體架構沒有任何影響。“單點故障”是一直是困擾傳統存儲陣列最大的問題,而配置多臺存儲陣列做鏡像的意義不大,同時成本不菲,而分布式存儲技術輕松地解決了這個問題。尤其是跨站點的VSAN技術出來之后,使得這種可靠性擴展到了容災級別。
這里所提到的維護,指的是維護硬件。傳統存儲架構中,如果出現了故障,我們要逐層排查故障點,其中比較復雜的層面就是存儲陣列和存儲網絡,因為這是專業的領域,需要專業技術人員來配合解決,而分布式存儲技術,由于與虛擬化內核緊密耦合,服務器層就是存儲層,并且通過虛擬化管理軟件可以一覽無余的看到分布式存儲的狀態,因此對于整體維護來說非常方便。
分布式存儲的優勢就是“更快更省更簡單”,分布式存儲發展不會一步登天,會有一個過程。首先分布式存儲會蠶食增量存儲市場,然后隨著用戶對于技術理解的不斷加深,最終將一統江湖。分布式存儲稱雄市場是早晚的事情。“當務之急是團結合作,打敗共同的敵人--傳統存儲。”這是超融合產業聯盟倡導的產業情懷和志向。
總而言之,分布式系統是大數據時代企業級應用的首選平臺,它有良好的可擴展性,尤其是橫向可擴展性(Scale Out),使得分布式系統非常靈活,能應對千變萬化的企業級需求,而且降低了企業客戶對服務器硬件的要求,真正能做到應用服務層面的彈性擴展(auto-scaling)。
[1]ChinaByte.專家博客:分布式存儲系統的實現[EB/OL].http://storage.chinabyte.com/89/11678089.shtml.
[2]于廣軍,楊佳泓主編.醫療大數據[M].上海:上海科學技術出版社,2015.
[3]盧益陽.分布式存儲系統調查[J].企業科技與發展,2011.
[4]陳敏,張東,張引,亓開元編著.大數據-大數據整體解決方案及關鍵技術探索[M].湖北:華中科技大學出版社,2015.