從去年11月份到今年春節前後,華為存儲研發骨幹曹長斌幾乎每天都夜不能寐,因為他參與的FusionStorage 8.0 研發項目遇到各種棘手難題。那段時間,曹長斌甚至連吃飯、跑步都會想著如何解決研發麵臨的問題。
FusionStorage 8.0是華為存儲近年來最重要的戰略級產品。它不僅是華為存儲產品線的一次重大升級,也承載著幫助用戶實現One Data Center One Storage(一個數據中心,一套存儲)的願景。
時光荏苒,時鐘不經意間已來到5月15日。這一天,華為新一代智能分布式存儲產品FusionStorage 8.0正式對外發布。此刻,曹長斌如釋重負,連續奮戰多日帶來的疲憊並不能掩蓋住激動之情:「如果需要打分,我願意給FusionStorage 8.0打十分,它不僅在整體架構、性能、功能等方面遙遙領先,更是華為存儲研發以客戶需求為中心,通過全球化協作、率先克服業界眾多挑戰而打造出來的產品。」
FusionStorage 8.0實現了分布式存儲性能全球第一,單節點性能高端16.8萬 IOPS和1毫秒以內時延,在業界標準SPC-1測試中排名第一;首次實現在一套存儲中同時支持塊、文件、對象、HDFS協議;並且,率先將人工智慧技術融入到存儲全生命周期管理。
在這一系列靚麗數字的背後,其實是華為北京、上海、深圳、程度、波士頓、矽谷等地的研發團隊在較短時間內,設計出一套全新的存儲架構,進行了數千萬行代碼開發與移植,並先後進行了近十個版本的迭代,反覆打磨、優化的成果。
NO.1
簡而不減
「客戶經常跟我們的架構師們反饋,存儲真的太複雜了。」身為研發的曹長斌會定期與架構師交流,他介紹到,華為存儲架構師們每年會花費30%的時間與一線客戶進行交流,從而將一線業務需求儘可能地反饋給研發人員,進而精準研發出符合客戶需求的產品和解決方案。
存儲的複雜性是一直困擾著用戶的數據中心,這種複雜性主要體為,經過長期的信息化建設,用戶數據中心普遍面臨著多種類型的存儲,生產、備份、容災通常採用了不同廠商的不同存儲產品,煙囪式的存儲環境帶來了巨大的管理複雜度,還無法讓數據之間很好地流動、共享和價值挖掘。曹長斌表示:「客戶希望更加聚焦在核心業務創新上,強烈渴望數據能夠流動起來,通過一套存儲來支撐數據中心業務,實現數據之間的生產、流動、共享和價值挖掘。」
另一方面,大量行業客戶都在加快數位化轉型的步伐,對於基於數據的數位化創新和業務敏捷性更加渴求,這也要求承載數據的存儲產品,除了需要簡化管理複雜度之外,還需要的性能、擴展性、功能、智能化等方面有著質的提升。
曹長斌以電信行業為例:「4K/8K、AR/VR等新業務不斷湧現,並且充滿著不確定性,傳統存儲產品很難去滿足新業務從小到大的成長,用戶們希望不花費更多精力在存儲運維上,通過一套存儲來支撐業務的變化。」
事實上,FusionStorage 8.0研發之前,華為已經對產品醞釀了很久。最終,華為將FusionStorage 8.0定位為一個戰略級的平臺產品,在保持分布式存儲的靈活性和高擴展性之時,可以長出其他豐富的功能,包括文件系統、資料庫、數據分析、數據湖等。用戶可以通過FusionStorage 8.0來構建起自身的智能數據基礎設施,以滿足智能時代下對於數據存儲、管理、分析的訴求。
No.2
打通性能的任督二脈
分布式存儲最大的優勢在於靈活性,可以幫助用戶擺脫昂貴的高端硬體,通過普通的伺服器即可為用戶提供靈活、可擴展的存儲服務。但分布式存儲的性能通常很容易遇到瓶頸,與傳統存儲採用「專用堆棧」優化性能相比,分布式存儲隨著節點數量的增加,性能達到一定量級之後,往往會因為硬體、網絡等原因,遇到各種意想不到的「瓶頸」。因此,分布式存儲單節點穩定、出色的性能是考驗分布式存儲成色的重要因素。
在曹長斌看來,性能問題是FusionStorage 8.0研發過程中遇到的最大挑戰之一。「從立項設計時,我們就希望FusionStorage 8.0能夠達到企業級全快閃記憶體陣列的性能,單節點性能能夠達到14萬IOPS,並且時延控制在1毫秒之內,可以承載企業級關鍵應用。研發團隊為此做了很多預研究的工作。但是在實際研發過程中,的確是遇到了巨大的挑戰。」曹長斌所言的挑戰即是性能波動問題,分布式存儲節點的性能波動浮動範圍大且不穩定,從而給整個分布式存儲性能提升帶來瓶頸。
FusionStorage 8.0在開發之初,單節點性能達到10萬IOPS之後,性能始終上不去。令研發團隊更加頭疼的是,產生性能波動的「隱形瓶頸」很多,需要研發人員去逐個發現和解決。曹長斌表示:「整個性能波動問題的解決前前後後花了4個月時間,幾乎每天都討論和研究到凌晨2、3點。」
圖:華為存儲研發團隊探討研發中遇到的挑戰
為此,在這段時間裡,華為存儲研發團隊聯繫了華為全球研發體系中的作業系統調度專家、網絡專家等,從不同的角度去探索性能波動的問題所在。「我們首先發現中斷分配不均的問題,有些伺服器中斷過度,使得伺服器性能發揮不出來。因此,經過多個方案探索之後,實現了中斷均攤化,將單節點性能提升了20%。解決這個優化點之後,研發團隊再從業務幹擾、軟體堆棧、分布式鎖等方面進行優化,最終達到了最初設計的性能目標。」
經過華為研發團隊優化、落地、再優化的螺旋上升式的改進,FusionStorage 8.0打通了性能的任督二脈,對於伺服器硬體、網絡等方面的控制越來越精準,實現了非ARM節點14萬IOPS、ARM節點16.8萬IOPS的穩定性能。
No.3
鑄就強大的存儲生命線
隨著FusionStorage 8.0性能不斷提升,華為存儲研發團隊又遇到了一個大挑戰:在高性能、大並發的數據讀寫情況下如何保持數據一致性。
一直以來,確保數據可靠和一致是存儲產品的生命線。「在存儲產品中,數據一致是核心中的核心。如果寫進去的數據和讀出來的數據不一樣,那將對用戶的業務產生巨大影響。」曹長斌表示。與傳統存儲不同,分布式存儲產品由於採用了普通的伺服器硬體,必須採用不一樣的實現數據可靠和一致的方法;並且隨著集群節點的不斷擴展,分布式存儲系統的複雜性隨之提高,對於數據一致性也帶來更大的挑戰。
在FusionStorage 8.0的性能調優期間,華為存儲研發團隊就遇到了較多數據不一致的情況。「當時為了提升性能,有些數據不一定馬上寫到盤中,而是寫入內存,之前一些並發機制導致了老數據把新數據覆蓋了,出現數據不一致的情況。」經過將近一個月時間的反覆研究,華為存儲研發團隊決定設計和開發出一套新的日誌機制與工具來解決數據不一致難題。「通過新的日誌機制,在數據訪問入口和數據落盤前的出口,進行關鍵信息的列印,加上CRC校驗,來發現和解決數據不一致性的問題。」曹長斌表示,「通過對IO通道從頭到尾的追蹤,可以具體定位到整個IO通道哪個模塊、具體模塊中哪個具體函數導致的數據不一致,層層推進來解決問題。」
在解決數據不一致性的過程中,華為存儲研發團隊面臨最大的困難就是:在高性能、大並發的讀寫數據中去尋找哪個IO導致的數據不一致。「數據不一致之所以是存儲業界最難最大的挑戰,就是因為存在巨大的不確定性。在海量數據中去追蹤和查看IO異常,就像是大海撈針。」曹長斌回憶當時的場景依然歷歷在目,「整個團隊在那段時間經常需要倒班,以跨夜、跨周的方式去跟蹤和查看一個IO異常。」
最終,華為存儲研發團隊完成FusionStorage 8.0在上百個節點、幾百個節點、上千個節點等不同場景下的數據不一致情況的檢驗,解決了將近30個業務IO異常的問題,完美地鑄就了FusionStorage 8.0強大的生命線。
No.4
功能與性能的完美平衡
當解決好FusionStorage 8.0性能、數據一致性等挑戰的同時,華為存儲研發團隊又聚焦到如何解決性能與功能的平衡難題上。如果用一個比喻來形容性能與功能之間的關係,那麼魚和熊掌不可兼得就是最真實的寫照。比如,重複數據刪除和壓縮功能已經誕生多時,但是業界依然沒有在分布式存儲上對重刪壓縮功能與存儲性能之間做好平衡。
「重刪壓縮功能其實是IO通道上的一個動作,對於存儲性能影響很大。像在線重刪,對於分布式存儲的性能要求很高,而離線重刪則對存儲產品中的存儲介質壽命有著影響。」曹長斌表示。
為此,華為存儲研發團隊在FusionStorage 8.0中研發出一項在線和離線自適應的重刪壓縮功能,根據存儲系統的CPU、內存、存儲介質等資源狀況,通過加權算法來實現重刪功能的自適應調整。「團隊在開發這套加權算法時前後花費了將近兩個月時間,通過反覆的理論推導和調整,讓FusionStorage 8.0的重刪壓縮功能可以與性能之間完美平衡。」據悉,在高負載情況下,業界的重刪壓縮功能打開對性能影響可達到30%-50%;而FusionStorage 8.0重刪壓縮功能的自適應機制則可以將對主機性能的影響降到15%以內,一旦達到15%就自動切換到後端重刪。
在海量數據成為常態的情況下,分布式存儲的數據可用性也變得至關重要。分布式存儲中的冗餘功能可以提升數據可靠性和存儲系統的可用性。通常,業界採用數據複製或者糾刪碼功能(Erasure Code,簡稱EC)來實現數據冗餘。相比於數據複製對存儲空間的巨大消耗,糾刪碼技術可以在更小的存儲空間實現更優的容錯和安全性,但是對於存儲系統的性能也有著較大影響。因此,分布式存儲中的糾刪碼功能如何做到存儲空間利用率與性能二者兼得就成為業界的難題。
「EC功能有兩大難題,一個是打開功能之後對主機性能的影響,有些存儲產品在該項功能打開之後對主機性能影響可以達到30%左右;另外一個就是,如何做到大比例的EC。」曹長斌表示。為此,華為存儲研發團隊設計出多套模型和備選方案來降低EC功能對主機性能的影響,經過多次驗證之後,華為智能增強EC功能實現了性能和容量的完美平衡。
「在高並發和高負載的情況下,智能增強EC功能通過IO聚合,並利用存儲盤的特質,將隨機讀寫改成順序讀寫,來解決性能問題。另外,對於大比例EC,我們採用了追加寫的方式,這意味著修改某個數據時,不需要讀老數據和校驗,從而大幅降低對性能的影響。」
No.5
讓存儲智能起來
存儲多年以來一直被人所詬病的就是複雜性,容量怎麼規劃和分配、QoS優先級如何劃分、資源利用情況如何、何時進行擴容、故障如何發現和處理等等,這一系列問題會牽扯到用戶大量的精力和時間。如何讓存儲智能起來,這是存儲未來的發展趨勢,也是FusionStorage 8.0正在全力前進的方向。
存儲智能化是智能時代下用戶的必然訴求。為此,華為率先在FusionStorage 8.0中將人工智慧技術融入到存儲全生命周期管理,從資源規劃、業務發放、系統調優、風險預測、故障定位等方面實現智能運維管理。
根據華為介紹,FusionStorage 8.0在存儲資源規劃方面可以對性能容量趨勢進行60天預判;還擁有超過1000個應用模板,實現一鍵式的資源發放;並且可以進行個性化調優,100%滿足SLA訴求;超過2000個故障模式庫,93%的問題發現即可給出方案。
事實上,存儲是一個利用人工智慧技術非常理想的環境,擁有豐富的狀態數據和信息,以及固定的業務場景,很容易形成收集狀態數據、機器學習和訓練、預測預報、智能決策的閉環,通過不斷的學習和訓練,讓存儲的運維和管理愈發智能。
FusionStorage 8.0在智能化方面的突破還在於採用雲上訓練+本地訓練的方式,雲上擁有超過2PB的特徵數據和1000個場景,通過雲上和雲下結合和協同,可以實現本地的增強訓練和提升個性化體驗。
No.6
讓數據永存
「我們在新產品中需要盡一切可能防治數據丟失,進一步提升數據可靠性。」2018年一系列具有深遠意義的數據丟失事件,促使華為存儲高層對於數據安全性和可靠性提出的極高要求。
事實上,在數位化時代下,數據已經成為事實上的一種生產資料,數據正在成為企業與組織機構賴以生存的基礎資源。並且,相比於信息化時代,用戶在數位化時代下需要面臨的數據類型更加豐富、應用場景更加複雜化。比如,物聯網應用場景開始逐漸豐富,業務與雲之間的聯繫日漸頻繁,這也導致數據丟失的潛在因素正在變多。
為此,華為的思路在於針對各種數據丟失時間的原因和背景進行深入分析,並且提煉和總結出相應的場景可靠性方案,從根源上提供數據防丟失的保障。但是,新問題又出現了:如何在保存可靠性校驗的有限空間中容納這些場景的可靠性方案。
「這的確是一個非常具有挑戰性的難題。華為在FusionStorage 8.0中已經包含了能夠支撐30多種數據丟失場景的可靠性方案,但是可靠性校驗的空間只有64個字節。要充分利用64個字節去容納30多個場景的預防方案,極具難度。」曹長斌如是說。整個過程就猶如一場精確無比的手術,研發人員將每一個預防方案「植入」到極為可靠性交易空間中,精確到每個比特位。
更加難得的是,數據丟失場景並不是一次性收集完,它是一個持續增加的過程,研發團隊在可靠性校驗空間中每增加一個預防方案都需要在確保方案可行的前提下,儘可能地節省空間。曹長斌直言:「這是一個無比精細化的處理過程。前前後後調整四、五次之後,整個數據防丟失的預防方案實現了完美存儲到可靠性校驗空間中。」
No.7
從跟隨到差異化
「我們希望在FusionStorage 8.0中做出業界競爭對手沒有的東西,形成自己的差異化優勢。」作為華為存儲研發的一名老兵,曹長斌見證和參與了FusionStorage從1.0到8.0的全過程。
眾所周知,存儲是一個技術門檻較高、相對封閉的領域,國外存儲巨頭常年處於領先的位置,中國本土存儲品牌多年以來一直處於跟隨者的角色。曹長斌對此深有感觸:「在過去,競爭對手做什麼,我們就跟著做什麼,採用的是『Me too,But cheaper』的策略;之後隨著自身不斷成長,在技術層面迎頭趕上,則變成了『Me too,But Better』。現在則是去尋求開發出別人沒有的功能和技術,確定自身的差異化優勢。」
事實上,在FusionStorage 8.0中已經擁有眾多差異化的優勢。比如,新一代存儲介質SCM(Storage Class Memory,存儲級內存),被認為是填補內存和快閃記憶體之間的性能差異的理想介質,它不僅比快閃記憶體擁有更加出色的性能和更低的時延,還擁有比內存更大的容量。而業界當前鮮有存儲廠商能夠充分將SCM融入到存儲產品解決方案之中,大部分還是淺嘗而止的起步階段。
「FusionStorage 8.0在SCM的使用上是走在最前沿的。尤其是針對新介質帶來的新的讀寫方式變化,華為存儲充分理解了SCM介質自身的理念、架構和特點,採用了字節級寫的設計,減少了不需要的外讀寫操作,最大化發揮SCM的優點。」
除此之外,華為在容災、備份一體化方案方面進行了創新,並且利用自身在通信網絡領域的深厚積累,構建存儲+智能AI網絡的一體化解決方案,大幅提升自身的競爭力。
「FusionStorage 8.0的成功研發,背後是整個公司傾注的大量心血,不僅僅是公司的成就,也是對包括我在內的廣發研發團隊成員個人能力的提升。為此,我感到無比驕傲。」曹長斌最後表示道。
No.8
寫在最後
華為FusionStorage誕生於2012年,源自於「用普通伺服器硬體去構建出企業級存儲系統」這個想法。一路走來,FusionStorage從1.0成長到8.0,是華為存儲人堅持不懈和精益求精的精神,也是華為存儲人解決一個個業界難題、逐步實現當初想法的過程,更是中國分布式存儲的從無到有、從弱到強的真實寫照。
未來,隨著5G、物聯網、人工智慧等應用的興起,一個更加豐富、更加智能的新數據時代也將到來。華為FusionStorage 8.0不僅讓One Data Center One Storage(一個數據中心,一套存儲)願景在新數據時代走向落地,也將開啟華為智能數據戰略嶄新的一頁。
▼