對話天翼雲江峯:“死磕”對象存儲的用户成本
作者 | 王德清
出品 | 雷鋒網產業組
隨着互聯網以及移動互聯網的興起,非結構化數據呈現指數級增長,存儲容量成為了大多數生成和使用大量非結構化數據的用户和企業面臨的首要挑戰。
用户或者企業必須購買更多的存儲基礎設施,並將其堆疊在現有基礎設施之上。這種方法在非結構化數據線性增長的情況下有效,但對於處理當今指數級增長的數據來説,既繁瑣又低效。
而對象存儲通過分佈式系統,將節點部署在任何需要的地方,都可以邊收集數據邊執行分析,而不必通過網絡發送所有原始的非結構化數據進行處理。這一高效而低成本的特性,使得對象存儲迅速取代了存儲區域網絡(SAN)和網絡連接存儲(NAS),成為了存儲界的新網紅。
實際上,早在1996年,美國卡內基梅隆大學就將對象存儲作為一個研究項目提出來。隨後,加州大學伯克利分校也有推出類似的項目。2002年,Filepool公司推出了基於內容可尋址技術的Centera系統,算是比較早期的對象存儲系統。
2006年,當亞馬遜推出AWS S3(Simple Storage Service)存儲服務後,正式將對象存儲作為一項雲存儲服務,引入雲計算領域,從此開啓了對象存儲的黃金時代。
但在國內,對象存儲則起步較晚,領頭者也是鳳毛麟角,作為雲計算領域的國家隊,天翼雲於2013年走上了自主研發的道路,並在2015年實現了“跨區域複製”這一業內領先的能力。
此後,更是發揮了中國電信帶寬優勢,打造了一個強一致性的國家級存儲網絡,讓用户可實現就近訪問和讀寫數據,大幅提升用户體驗,並且提高開發者的效率。並攻克“廣域網環境下如何確保穩定性”的技術難點,降低了網絡波動對存儲系統的影響,提升服務穩定性。
就在2018年6月,天翼雲和雲上貴州已於6月底正式簽署《基礎設施協議》,這標誌着自2018年2月28日中國內地的iCloud業務由雲上貴州負責運營後,中國電信天翼雲將和雲上貴州共同為iCloud提供雲存儲服務,該筆簽約是業內目前最大的雲計算存儲類訂單。
契機之下,雷鋒網與中國電信首席專家江峯進行了一次深度對話,還原天翼雲打造“國家級存儲網絡”的歷程。
從12年的路標看未來2009年,中國電信正式啓動“翼雲計劃” ,也就是天翼雲的前身。
2012年8月,中國電信對外發布了雲計算戰略及解決方案,成為國內首家發力雲計算的電信運營商。而彼時,天翼雲對外提供的雲服務還不是今天的OOS對象存儲服務。
“2012年,我們從集團調到雲計算公司的時候,大家其實還不知道什麼是對象存儲,只知道存儲就是磁盤陣列軟件系統。”
江峯對雷鋒網回憶到,雖是這樣説,站在2012年路標時的他也隱隱的感覺到,對象存儲是未來的一個發展方向。
但就在一年前,中國電信集團已經為雲計算公司集採了一批商用存儲,而這批設備使用的是CSRP規範,雖然也是S3的一種,但實際上卻是中國電信自己造的一稿規範,而基於這個規範開發的雲產品上市之後,卻發現CSRP規範沒人用。
右二為江峯
而為了給用户一個好的體驗,江峯團隊決定將上層調度先規劃好,底層引擎仍然使用各家的產品,能滿足基本的可用要求即可。
然而在實踐中發現,如果需要良好的性能,就要將它的產品拆開,要將上層的接口直接訪問底層引擎上。
“廠商知道這樣的性能好,但是他們不願意暴露底層引擎接口。但廠家在引擎之上再封裝一套接口給我,性能就不行了。”
擺在他們面前只有兩條路了,要麼維持現狀繼續下去,要麼自主研發,完全做一套自己的存儲引擎。
“那個時候我們花了很多的時間去糾結到底要不要自己做,還是拿一套開源的修改一下,因為自己做還是很難的一件事情。”
最終經過不斷論證之後,天翼雲存儲團隊決定了自己研發,而且還決定了不基於任何開源。
一行行代碼敲下來,就在2014年,一款設計最大容量為256PB的OOS V4.0版本面世了。這是第一代分佈式存儲引擎。
“當時我們認為256PB這一容量上限,可以滿足10年的需求。”江峯迴憶到。
然而,就在OOS v4.0面世沒多久,需求就已經超過了1000PB,而且要求在一個集羣裏搞定。面對這一情況,天翼雲存儲團隊從頭開始研發,將數據結構全部進行調整,對於數據容量上限,也不再去設立目標。
不久之後,OOS v5.0版本也投入使用,不僅僅做到了數據結構層面沒有了容量上限的,並且還實現了全國範圍內的異地冗餘,雖然不是強一致性的,但也是國內首個可以實現異地冗餘的對象存儲產品。
瞄準一個特性“死磕”“從我們團隊這麼多年的經驗來説,對象存儲需要瞄準一個特性一直做下去,這個特性就是:低成本。”江峯對雷鋒網説到。
為了低成本這個特性,江峯這個團隊可謂是較勁腦汁。
在OOS V4.0開發之時,為了減少用户存儲容量浪費,在保證數據穩定的前提下,他們為存儲的數據提供動態冗餘算法,會根據用户數據的具體情況,來決定是採用糾刪碼還是多副本更節省用户的存儲空間。
通過動態冗餘算法,天翼雲可以一直將用户存儲容量浪費減小到最低限度,既能保證數據的持久性還能為客户降低成本。
軟件層面將成本降低之後,江峯又將目光瞄向了硬件層面。他發現,要想增加單磁盤容量,就要增加介質的磁密度。但受限於物理工藝,再要增加磁密度會變得越來越難了。而磁盤廠商在這樣的情況下,研發了疊瓦式磁盤,將密度再次提高。
熟悉的朋友比較清楚,疊瓦式磁盤(SMR)增加了容量,降低了成本,但這種技術應用也帶來了問題與挑戰。磁道重疊後必須順序寫入,否則會對相鄰磁道的數據造成損壞。正因為如此,目前業內常用的磁盤文件系統,例如EXT/XFS等,由於需要隨機的修改數據從而無法運行在SMR磁盤上,這對SMR的應用帶來了不小的困難。
因此,SMR技術一直都被業內大多數企業“嫌棄”並不使用,而這也正是希捷和西數這兩家硬盤企業所頭疼的地方,並沒有相關的生態去支持他們這個產品,也就導致了這種磁盤並沒有文件系統可以使用。但在那時,微軟Azure等極個別國際雲計算巨頭卻規模商用SMR磁盤。
這一切都被江峯看在眼裏,因此在SMR磁盤上市的第一時間就聯繫相關服務器和磁盤供應商,開始了對SMR磁盤的測試。
經過測試後,他們發現雖然SMR磁盤的應用存在諸多技術挑戰,但通過行業領先廠商的產品趨勢可以看到未來硬盤的發展方向,SMR技術將成為主流,即使未來會有諸如HAMR等進一步提升磁密度的技術出現,只要寫數據寬度大於讀數據寬度,SMR技術就會一直存在。
因此天翼雲OOS的研發團隊從2015年起就堅定不移的對Host Managed SMR進行自主研發。在軟件層做了大量的優化、消除,解決了技術提升帶來的負面影響,突破了SMR的技術侷限性,體現疊瓦式存儲給單碟存儲容量提升帶來的優勢,既能夠提高單機存儲容量的上限,又可以避免帶來讀寫效率、讀寫性能上的瓶頸。
同時,結合OOS的特點,天翼雲設計了可以兼容SMR磁盤的一套類似文件系統的Key-Value存儲系統——KVDisker。結合對象存儲的特性,KVDisker能夠有效降低SMR技術引用帶來的問題與風險,將技術與應用完美融合,天翼雲開創了將SMR磁盤有效應用於雲存儲服務領域的先河,此舉也將天翼雲對象存儲成本降低了20%以上。
值得一提的是,KVDisker也是天翼雲存儲團隊完全自主研發,不基於任何已有文件系統(如EXT/XFS)及任何支持SMR的開源軟件,實現直接讀寫磁盤的技術。
在2015年,規模使用了SMR硬盤之後,江峯又將目光瞄向了服務器上,結合中國電信的實際情況之後,江峯向中國電信集團提出,要定製可以容納60個盤的服務器,而相比於其他廠商,大多廠商的服務器只能容納20多個盤而已。
容納60個磁盤的服務器,並只採用一路CPU,而通過這樣的方式,天翼雲存儲團隊再將採購成本降低了50%以上,在實際使用中,服務器的CPU利用率也只有20%。
“之前跟互聯網公司相比,很多人都會覺得成本方面,對於天翼雲來説是一個劣勢,通過我們不斷優化之後,我們在成本方面具備了與互聯網公司同樣的優勢。”
而在這之後,如何將自己的優勢放大,則也成為了江峯接下來考慮的重要方向。
如何做一個“國家級存儲網絡”“2015年之後,我就在想中國電信的優勢究竟是什麼?中國電信的優勢就是有網絡,別人做分佈式存儲都是建一個個資源池,看起來是把資源池連起來了,但實際上這些資源池只是在管理上連接起來了,數據平面沒有打通。”
在2016年一個知名的雲計算大會上,江峯提出,要利用中國電信的帶寬資源,將國內的所有資源池連接起來,做成一個國家級存儲網絡。
我們在前文中提到,在OOS v5.0時,中國電信就已經實現了異地冗餘,但是弱一致性的,也就是説,你在北京寫入數據之後,需要過一段時間才能備份到上海或者其他地方。
而現在,江峯所提出的國家級存儲網絡要實現的是強一致性的,用户可實現就近訪問和讀寫數據,大幅提升用户體驗,並且提高開發者的效率,不用再擔心用户在哪,要把資源建在哪裏。
“國家級存儲網絡”事實上就是把全國的雲存儲OOS資源池用高速網絡互連起來,對外呈現為一個統一的雲存儲資源池,無論用户通過哪個物理資源池訪問OOS,看到的都是同一個視圖。
“國家級存儲網絡”的核心技術在於以下三點:
一是如何高效管理數量眾多、規模巨大的資源池集羣,這本身就是一個複雜的系統工程;
二是如何讓每個用户從不同的資源池看到同一個視圖,這不僅要求資源池之間具備“高速通道”,還要求OOS本身在擴展性、效率方面有精巧的設計;
三是如何在相隔數千公里的多個資源池之間,既保證數據的一致性,又提供極低的延遲。
就在天翼雲將資源池跨廣域網部署之後,他們發現廣域網環境經常會發生網絡抖動的情況,而這一情況不解決的話,服務穩定性很難保證。此外,江峯還發現,在廣域網環境中,TCP網絡都不可靠,當數據跨越千里傳輸的時候,你可能發出123,但經過光網長距離傳輸,對方則有概率收到的是321,還不報錯。
後來經過研究發現,IPv4協議有一個弱點,校驗位不足的情況下會出現概率性的錯誤,但徹底解決這個問題並不是一件易事。
對此,內部多次開會進行了溝通,最後,中國電信雲計算分公司現任總經理胡志強,提出了一個要求:必須要自主研發。
最終,江峯帶領團隊通過不斷努力,終於攻克了“廣域網環境下如何確保穩定性”的技術難點,降低了網絡波動對存儲系統的影響,提升了服務的穩定性。同時,基於全局元數據環技術,實現了跨地域的分佈式架構“虛擬存儲網絡”和“業務場景敏感的數據交付”模型。
從那時起,中國電信的存儲網絡OOS就擁有了資源統一,就近訪問,多站點多活等功能,滿足用户在強一致性和最終一致性間進行靈活選擇。
不僅如此,天翼雲存儲團隊在此基礎之上針對部分政企客户推出了高級特性,不僅保證其數據的安全,同時也降低其存儲成本。
就在這一網絡建成之後,天翼雲存儲也獲得了當時業內最大的一筆雲存儲訂單:為雲上貴州運營的iCloud提供底層雲存儲服務。
雲上貴州項目組合影
而其所看重的,正是天翼雲可以實現全國各地都可以實現就近服務,這也使得,iCloud訪問同步速度更快,體驗大幅提升。
獨立之後,仍需苦練內功天翼雲存儲網絡上的數據早已經超過EB,在可用性上,已經實現了數十個月內每週的服務可用性超99.995%。而這也正是天翼雲不斷堅持自主研發所取得的成果。
中國電信剛剛發佈的財報顯示,2020年中國電信全網雲計算收入達138億元,不光在以市場份額駁斥了運營商做不好雲計算的理論。同時,中國電信是全球運營商中,第一家真正實現核心的IT系統去IOE的運營商,通過自主研發構建了雲網數智,全棧自研的體系,將技術能力轉化為數字化平台推向市場。
此前,一紙任命書也正式官宣,中國電信要成立天翼雲科技公司,這意味着天翼雲將開始獨立運作,擺脱國企的體制限制,將有更大的自主權,可以自主提升員工的薪酬水平,以靈活激勵機制吸引人才。
而這必然會將天翼雲的目前的劣勢進一步填補,繼續苦練“內功”,在此之下,天翼雲未來可期。