在企業級存儲界,Nimble和Nutanix雖說比起EMC、IBM、NetApp來說是十足的新秀,但在國內的名氣卻一點也不小。而這背后的原因,在于有著軟件定義存儲越來越受到企業數據中心的重視。同樣是初創,但有著完全國產化血統的凱翔科技,卻將Nutanix和Nimble的合體作為自己的核心競爭力。
Nimble + Nutanix等于什么?
也許,若不是軟件定義存儲開始成為企業存儲的頂梁柱,Nimble和 Nutanix之類的公司依舊會籍籍無名。軟件定義存儲旨在倡導通過將存儲設備的數據平面和控制平面解耦,讓用戶的存儲控制策略可以無視下面具體的存儲差異,通過軟件將不同硬件提供存儲空間建立統一的存儲池,實現靈活的資源調用。顯然,軟件定義存儲的踐行思路非常好地迎合了云計算、大數據時代當下企業存儲需求,也讓Nimble和 Nutanix之類的公司可以有機會搶食傳統存儲巨頭的飯碗。
推動軟件定義存儲的兩個主要趨勢是橫向擴展和閃存。由于軟件定義存儲會提供統一的存儲空間池,就需要存儲性能的提升將會更多地依靠存儲軟件對硬件資源的更好優化,也意味著硬件存儲空間的拓展與性能提升呈同比態勢。而閃存的利用則是軟件定義存儲里通過介質特性改變存儲架構的典型玩兒法,例如考慮用SeverSAN方案替代傳統陣列方案、數據庫加速等等,甚至HDD時代的在線壓縮、重刪等功能也可夢想照進現實。
Nimble和 Nutanix正是推動軟件定義存儲領域里的激進主義者。前者注重用戶從傳統存儲架構向軟件定義存儲架構的過渡,不強求用戶的冒進,如幫助用戶實現在HDD+SSD的混合環境部署軟件定義存儲。畢竟,對有些企業來說一次性上馬全項目的閃存環境成本上還是吃不消的。而Nutanix注重在數據中心領域的存儲性能的現行拓展,并強調 “隱形數據中心”,即用戶對于存儲架構的調整優化無需感知。
在通往軟件定義存儲的大路上,Nimble干著路上的事兒,Nutanix做著到達終點的活兒。而這一切,凱翔科技就能全包了,也許算得上是國內第一家軟件定義存儲端(路上的事兒)到端(終點的活兒)服務商。
那么,凱翔有什么技術傍身?
橫向擴展:虛擬機熱遷算啥,容器的熱遷移更不是事兒
虛擬機熱遷移功能允許IT專業人員將運行中的虛擬機從一臺主機遷移到另一臺主機,不再需要暫停時間。雖說三大主流供應商都提供了各自虛擬機熱遷移功能,但彼此在過程上存在不小的差異。為此,凱翔提供了為異構環境搭建的統一的虛擬機的熱遷移平臺。
如果說異構平臺的虛擬機熱遷移技術已經不算新鮮,畢竟如華為、華三的國產化代表早已有大量案例。但容器的熱遷移技術可是鮮見,即使在整個業界也是如此。據上海凱翔信息科技有限公司高級副總裁董晟介紹,凱翔同時提供了容器的熱遷移技術。“容器原來是無狀態的,接卷的話,就會產生網絡上的一些問題,此前VMware或者OpenStack的熱遷移也是主要解決類似問題,凱翔做了能夠做自動熱遷移容器的技術。”
SSD使用的優化
1、比磨損均衡更加智能高效的彈性糾刪碼
糾刪碼技術是繼多副本之后出現的兼顧數據可靠性和節省存儲空間的存儲技術。傳統的三副本技術需要一個文件同時又兩個副本,若是做集群的冗余,副本還會更多,如此前TFS需要6個副本。這在大數據時代,顯然是無法接受的。同時,閃存提供的遠甚于HDD的快速存取也在推動傳統存儲方式的改變。
糾刪碼技術通過對提取一定數量的數據分塊,計算校驗產生校驗塊,并與原始數據塊共同存儲,即用N個原始數據塊+K個校驗塊共同存儲。在部分數據塊或校驗塊丟失的情況下,可以通過計算恢復原始數據。如總數10塊磁盤可以容忍4塊磁盤損壞,系統仍然可用。雖說糾刪碼的特別之處在于容錯率可設定,但卻往往缺乏靈活的可變機制,
董晟介紹,凱翔的彈性糾刪碼技術有一些更靈活的地方。“當開始用全新盤陣的時候,K的值會比較小,隨著讀寫次數的增多,我們會自動擴大K的值,從而可以把數據分散到更多的地方存儲,從而更有效地保證SSD的使用壽命。”
聽上去,這有點類似于閃存控制器提供的磨損均衡操作,但控制器是通過保留名單記錄被移動的數據位置。顯然,凱翔的彈性糾刪碼技術會比磨損均衡操作在提升閃存平均壽命上更加簡單、高效。
2 、引用AVX指令集加速糾刪碼運算,糾刪碼落地變容易
糾刪碼技術雖說比多副本技術有著諸多優勢,但推廣起來卻不易。糾刪碼技術在存儲領域還較新,理論上可以達到的效果較好,但實際產品中還缺乏大量應用。例如,糾刪碼技術需要通過源數據塊計算校驗塊,為此有著較大的計算負擔。糾刪碼的實時編/解碼運算對于服務器CPU來說將是一個比較大的占用,在分布式應用架構中,這意味著將影響應用本身的性能在解決這方面的問題時。糾刪碼在引出使用問題的同時,業界也有著兩個比較大的突破方向。
一個是CAPI技術的引入。以往用于專用計算的協處理器都是以IO掛載的方式與CPU協同計算,由于無法與CPU共享內存,導致協處理器無法發揮本應強大的計算力。OpenPOWER聯盟提供的CAPI技術很好地解決了這一問題。為此,很多廠商都投入到了CAPI+FPGA的加速卡設計中。通過CAPI技術,引入FPGA加強糾刪碼的計算能力成為可能。但是CAPI技術基于OpenPOWER處理器,,成本上對于糾刪碼的推廣不利。
另一個,就是利用x86架構下的AVX技術,凱翔正是這一領域的代表。AVX指令集的出現對于原有的X86指令集進行了優化與重新組合--這主要源于AVX指令集新的操作碼編碼方式。AVX指令集的編碼方式叫做VEX(Vector Extension),其主要用途是縮短指令長度,降低無謂的代碼冗余,并且也降低了對解碼器的壓力,實現的方式也很特別--壓縮各式各樣的Prefix前綴,集中到一個比較固定的字段中,從而達到了精簡指令集的目的。傳統存儲的功能由于相對簡單,不需要x86的CPU,但在軟件定義存儲時代,Intel CPU在存儲端才有了更好的用武之地。
另外,凱翔也將AVX指令集提供的計算加速優勢用于可變長的在線數據重刪。
3、獨創的差額的計算編碼,比糾刪碼更省時間,遠程讀盤者的福音
董晟介紹,考慮的遠程用戶的讀取需求,現有糾刪碼措施還是有優化空間的,而這就是凱翔提供了獨創的差額的計算編碼方式。
“還有一個我們有自己的叫做差額的計算編碼方式,能夠減少很大程度的減少這個讀取的時間。利用差額算法來算,無需像糾刪碼那樣需要讀取所有的數據,自然減少了大量時間。在一些場合的話,提高率30%-50%的性能都有可能的。”
4、為何要將HDD元數據遷移至SSD
畢竟,全閃存的門檻還是太高,否則Nimble也不會緊抓住混合存儲的空間不放。隨著時間的推移,新老存儲巨頭都有了混合存儲的文章。但是,在HDD與SSD的使用上,無外乎兩種,或是將SSD作為率先的熱數據存儲(比如DELL、HPE、華為),或是將SSD作為事后的熱數據存儲(比如同有)。其中,戴爾提供的在不同閃存間的流動存儲更是在此基礎上的微創新。或許,在混合存儲上做冷熱數據文章留給凱翔的機會已經不多了。
但是,凱翔卻率先實現了將HDD元數據遷移至SSD的混合存儲的新型應用道路。這是怎樣的一種創新呢?
上海凱翔信息科技有限公司CEO張濤介紹:“由于大家知道每次訪問都是率先要訪問元數據,但磁盤消耗時間比起SSD是有更大的消耗。由于元數據通常很小,為此,我們把它全部搬遷到SSD盤以后,通過在SSD上讀取HDD上的元數據,可以明天提升HDD的讀取性能。”另外,張濤介紹這項技術牽涉到了針對Linux內核的更改,“通過這樣的優化以后,你就發現對于讀BI、經營分析類這種小文件,有時候會提到50%以上。
舉個例子,我們便不難發現這種創新的實際需求所在。例如,我們去圖書館借書,原有方式是在一個大的卡片架子上檢索書目--在磁盤上讀取元數據,然后再去找到所需要的書--在磁盤上取需要的數據。如今檢索書目是在電腦上了--元數據遷移至SSD,找到所需要的書的過程依舊。顯然,將HDD元數據遷移至SSD還是有其實際意義的。
支持研發和測試環境 Docker和CloudFoundry
對于在研發和測試環境的應用,張濤介紹凱翔支持Docker和CloudFoundry的應用。作為開源領域的兩大利器,凱翔將堅持二者的持續集成和持續發布。“例如容器,因為它本身有一個訪問卷這一層的功能,我在卷這一層的功能來進行支持它。我們并不是去比較深入的改造它的CloudFoundry里面的代碼,我們盡可能在他的接口層這一塊來支持它,這樣的話就是說將來它升級,對我的影響會很好。”
總結
軟件定義存儲存儲的市場蛋糕正在越來越大,國際知名研究機構Wikibon2014年預測,十年后,全球企業級領域軟件定義存儲市場將達到400億美金,未來十年復合增長率將達到41.5%當軟件定義存儲趨勢已經不可逆,凱翔有幸成為了趨勢的一部分。
軟件定義存儲的趨勢不僅是國產化存儲趁勢崛起的一次很好契機,更是對自己創新方面的明確指導。放在應用場景下,我們還期待著凱翔在SDD上的優化、擴展性的支持、虛擬化發面的集成的更多努力,以及更多的落地。