北京2018年3月2日電 /美通社/ --移動互聯(lián)網與人工智能時代,非結構化數據呈海量增長態(tài)勢,數據存儲平臺在彈性與性能上面臨巨大挑戰(zhàn)。浪潮軟件定義存儲通過提供元數據存儲與管理方案,給海量數據提供彈性空間,讓用戶自由馳騁于數據智能世界。
智能時代產生海量非結構化數據
信息技術的飛速發(fā)展,特別是移動互聯(lián)網應用、數據智能挖掘技術的快速發(fā)展,使眾多相關行業(yè)面臨業(yè)務數據量指數級增長的趨勢。例如:智能手機的普及,使移動手機用戶可以隨心所欲拍攝高清照片、視頻以記錄自己生活的點滴,并可以方便地把影音資料存儲在云端,這類新的生活習慣必然產生大量數據。再如,中國公共安全領域的“雪亮工程”等關系國計民生視頻監(jiān)控項目的開展,使得公共安全視頻監(jiān)控覆蓋范圍從原來的城市中心地帶擴展到了鄉(xiāng)村,這也將產生大量的數據。而在互聯(lián)網+商業(yè)領域,對用戶信息的掌握,更成為互聯(lián)網企業(yè)生存的根本,之前大量不需要存儲的用戶網絡瀏覽軌跡等中間信息,如今由于成為大數據分析的數據來源,也需要進行數據存儲。
面對各種海量數據、尤其是海量非結構化數據的存儲需求,傳統(tǒng)數據存儲方式在成本和性能兩個維度均已無法滿足。
傳統(tǒng)存儲方式之一是使用本地文件系統(tǒng)存儲數據,而由于其架構所限制,控制器一般為一臺,即本地操作系統(tǒng)主機和生產業(yè)務共用CPU及內存等系統(tǒng)資源,所以在實際操作中大多僅僅能擴展至幾個TB的可用容量,這和“海量”存儲的需求相差甚遠。
另外一種把計算和存儲分離的集中式存儲方案 -- NAS方案亦差強人意。NAS屬于外部集中式存儲方案,架構擴展性相比本地文件系統(tǒng)有較明顯優(yōu)勢。其控制器一般為兩臺至多臺,在數據規(guī)模稍微“大”一點的業(yè)務場景,用戶往往使用NAS存儲方案。但NAS在海量數據時代到來之前已經存在,當初設計時重點考慮的并非是“海量”非結構化數據的存儲,所以在大多數生產環(huán)境中都是采用雙控設備,如果數據量增大,一般做法是再配置一套而已。這樣的處理方式使得用戶的生產環(huán)境形成大量數據孤島,且單套NAS由于其軟硬件設計架構的局限性,在實際項目中的容量擴展往往不超過100~200TB,即使雙控系統(tǒng),一般對外最多也只能提供4GB/s帶寬,因此其容量與性能均無法匹配海量數據時代的存儲要求。
浪潮軟件定義存儲:EB級彈性空間
于是,在滿足互聯(lián)網、云計算、大數據應用的需求下,浪潮軟件定義存儲系統(tǒng)隨之產生,以滿足海量數據時代的存儲需求。
根據其基本軟硬件設計思想,浪潮軟件定義存儲系統(tǒng)基于通用x86平臺開發(fā)“控制+存儲”節(jié)點,采用以太網絡交換技術把整套系統(tǒng)硬件互聯(lián)起來,然后在其上部署浪潮軟件定義存儲軟件,形成對外提供統(tǒng)一服務接口,對內協(xié)調數據交換的存儲系統(tǒng)。在組網層面,以太網絡并不是其唯一的選擇,目前業(yè)界還有InfiniBand等其他組網方式;在服務層面,浪潮軟件定義存儲系統(tǒng)的對外服務類型包括NAS文件存儲、對象存儲、塊存儲,并支持RESTful接口,可以靈活滿足用戶定制化的服務需求。與此同時,浪潮軟件定義存儲節(jié)點的選擇更加靈活,可以使用利舊的x86服務器,也可以選擇專業(yè)廠商專為浪潮軟件定義存儲設計的高密度設備。
在技術實現上,目前浪潮軟件定義存儲系統(tǒng)Scale-out(橫向擴展)方式的存儲節(jié)點擴展能力非常強大,單系統(tǒng)存儲節(jié)點可擴展至數千個,可以形成EB級海量存儲空間、百億數據文件管理、千萬級IOPS和百GB帶寬,加上不斷進步的數據自動修復和自動運維機制,使之廣泛適用于海量數據存儲場景。
浪潮軟件定義存儲系統(tǒng)的容量、性能可以隨著存儲系統(tǒng)節(jié)點的橫向擴展呈線性增長,這一特性從根本上解決了本地文件系統(tǒng)和集中式外部存儲的在擴展性方面的劣勢,大大提高了IT投入的回報率,這就是浪潮軟件定義存儲今天備受青睞的原因。
優(yōu)化的元數據索引服務
那么,為什么浪潮軟件定義存儲能很好地管理海量數據呢?下面以文件服務類型為例來進行闡述說明。
對于傳統(tǒng)的本地文件系統(tǒng),當查找一個文件時,先由元數據區(qū)找到索引,再定位到數據區(qū),存在深度目錄的時候,可能需要在兩種區(qū)域做多次查詢和數據定向,最后才能定位到所需要的文件。對于這種低效率的模式,很多成熟的文件系統(tǒng)大多使用類B樹的方式來組織目錄,以避免線性方式查找目錄項來降低文件索引冗余度;此外還有多種技術(如HASH,元數據緩存,C-FFS等)在傳統(tǒng)架構上都可以不同程度地給文件索引性能加速,但是在海量數據存儲場景下,以上所有努力都會失靈。
究其原因其實也很明確:存儲海量數據的時候,一定會有大量的元數據需要存儲。在傳統(tǒng)文件系統(tǒng)的軟件架構(包括集中式NAS存儲)中,元數據為集中式存儲方式,處理元數據的服務(控制器)也為集中式。由于元數據被存儲在了少量固定的磁盤上面,不能隨整體容量的增加而任意擴展,使得這塊區(qū)域對外提供的讀寫性能因被固化而變得十分有限。與此同時,數據文件在訪問IO頻繁的時候,元數據索引服務需要消耗大量CPU和內存的資源,而本地文件系統(tǒng)所能依靠的只是本地操作系統(tǒng)上的資源,即使是NAS存儲一般也僅僅可以使用兩個控制器上的資源。當數據量達到數PB級時對于IO性能的需求會高出很多,讀寫帶寬基本上需要在幾十GB以上。因此,傳統(tǒng)的集中式元數據部署架構不管在軟件算法上如何優(yōu)化,面對海量數據也于事無補。
此時,再來看看浪潮軟件定義存儲是如何應對這一難題的:首先,浪潮軟件定義存儲系統(tǒng)具有良好的Scale-out擴展性能:隨著物理節(jié)點的擴展,性能、容量也隨之呈線性擴展;其次,全局融合的分布式結構設計使得擴展過程中突破了傳統(tǒng)NAS元數據瓶頸制約。
浪潮軟件定義存儲之所以能做到這一點,在于打破了傳統(tǒng)文件系統(tǒng)(也包括集中式NAS存儲)的元數據集中式存儲和管理這一限制,對浪潮軟件定義存儲集群系統(tǒng)的目錄實行分而治之,讓集群中所有服務器來一起存儲和管理元數據及數據,從而實現負荷分擔、負載均衡。目前其實現方式主要有三種,各類浪潮軟件定義存儲會根據自身交付的場景不同,選擇不同的方式:
第一種,靜態(tài)子樹分區(qū)。以目錄為單位,把各個目錄或子目錄手工分配給不同節(jié)點去存儲,并指定不同的元數據服務節(jié)點/程序去管理。當某個目錄出現訪問過熱的情況下,再由管理員手工進行遷移。這種處理方式邏輯最為簡單,也容易實現,但如果數據目錄需要頻繁擴容,就需要管理員人為頻繁干預。老一點的網絡共享文件系統(tǒng)一般采用的是這種方式。
第二種,HASH分區(qū)。通過計算來分配數據、元數據存儲的位置。這種方式可以把數據和元數據自動均勻地分布在各個節(jié)點上,但是突發(fā)性熱點區(qū)域的數據訪問可能造成整個系統(tǒng)內部某些元數據服務節(jié)點資源吃緊,從而成為整個系統(tǒng)的性能瓶頸。這種方式在一些分布式文件系統(tǒng)里得到了應用,并在IO均勻分布的業(yè)務環(huán)境中很適用,如Lustre分布式文件系統(tǒng)。
第三種,動態(tài)子樹分區(qū)。大體結構類似上面兩種方式,但它可以通過實時監(jiān)控和分析,把熱度數據單位動態(tài)地調整到不同的元數據服務節(jié)點,從而實現數據索引的動態(tài)負載均衡。
一招制敵:破解元數據存儲與管理難題
當理解了以上幾種模式,就可以明白浪潮軟件定義存儲是如何來管理數據與元數據的了。簡單來說,元數據的處理性能是決定整個存儲系統(tǒng)文件服務能力(容量規(guī)模,文件數目)的重要因素。如果元數據索引效率低下,即使強制擴充存儲容量,也會造成數據訪問過慢甚至不可用的情況頻頻發(fā)生。浪潮軟件定義存儲系統(tǒng)架構則通過把元數據均勻分布在集群內各個節(jié)點的磁盤之上解決了這一難題,其元數據服務引擎(控制器)的數目更是突破了傳統(tǒng)文件系統(tǒng)(1個)和NAS存儲(2~16個)的限制。由于浪潮軟件定義存儲擁有更為強大的計算資源和存儲資源來快速索引文件,所以其容量規(guī)模、管理文件數目的能力要遠遠優(yōu)于傳統(tǒng)架構存儲。
此外,多活元數據服務集群技術更是讓浪潮軟件定義存儲如虎添翼。在上文的動態(tài)子樹圖劃分圖中可以看出,一個浪潮軟件定義存儲集群中存在不止一個元數據服務,這也是浪潮軟件定義存儲的顯著優(yōu)勢:多個元數據服務形成集群,共同對外提供文件索引服務,并且通過元數據副本、緩存加速、熱點目錄分片、動態(tài)子樹分區(qū)等技術,來實現負載均衡及元數據服務故障高可用等一系列功能。
從根本上破解元數據存儲與管理難題,是浪潮軟件定義存儲馳騁海量數據時代的關鍵。