中國移動蘇州研發中心|劉鴻 張紹文
中國移動大云對象存儲BC-oNest,是一款面向非結構化數據的彈性存儲服務,可提供高可靠的海量存儲空間,支持海量文件的存儲、訪問和管理。目前,BC-oNest已經被廣泛應用在中國移動內部針對非結構化數據的存儲環節。
近年來,隨著萬物互聯、移動互聯網和人工智能等技術的興起,視頻、圖片、文件等非結構化數據的存儲難題也隨之涌現。根據IDC預測中國云存儲市場在2019年將達到19億美元,數據總量超過6ZB。而非結構化數據存儲主導未來數據存儲,云存儲將成為帶動未來公有云服務發展的核心動力。
就中國移動本身的數據而言,之前中國移動話單、圖片、視頻等非結構化數據主要使用華為/中興等文件存儲系統,采購成本高,擴容易受廠家影響。2017年上半年中國移動數據流量同期增長133.9%,達2327.9PB,成為集團第一大收入來源,同期物聯網連接規模超過8000萬,其產生數據不斷增長。隨著存儲規模的不斷增長,對存儲系統的可管理性、可擴展性和監控等提出了更高的要求,在這樣的背景下,降低存儲成本已成為中國移動首要考慮的要素之一。
同時,媒體云、影像云、直播云、監控云、云端網盤等類云平臺均呈現出對象存儲的大容量需求:一是用于滿足新增音視頻存儲,二是將原有海量對象文件遷移至云端保存,三是要求對象存儲具備異地備份、快速擴容、媒體處理等功能。
本文介紹的中國移動大云對象存儲BC-oNest,是一款面向非結構化數據(圖片、音視頻、日志文件、監控數據等)的彈性存儲服務,可提供高可靠的海量存儲空間,支持海量文件的存儲、訪問和管理,如文本、圖片、XML、HTML、音頻和視頻等,支持存儲空間的線性擴展,并提供更強的擴展能力和互聯網化的HTTP REST接口,是解決海量數據存儲問題的上上之選。

圖1 BC-oNest產品架構
目前,BC-oNest已經被廣泛應用在中國移動內部的非結構化數據的存儲,并已有銀行等集團外企業使用的案例。那么,中國移動作為電信運營商,內部開發的BC-oNest對象存儲系統是否能支持這么大的業務量?和業界主流的對象存儲系統相比,其功能點是否能滿足用戶的需求,如異地備份、媒體處理等?下文進行詳細解析。

圖2 BC-oNest產品高級特性
BC-oNest分布式對象存儲以CEPH為基礎,支持業界標準接口,并針對實際生產環境的應用進行了功能擴展,如智能部署、存儲管理功能完善、性能調優等,在一個高度靈活且統一的平臺上提供對象存儲服務。BC-oNest設計原理符合軟件定義存儲(Software Defined Storage,SDS)概念,存儲的控制工作由軟件實現。BC-oNest產品可以運行在符合工業標準的主流服務器上,目前以x86服務器為主。其擴展性好可滿足成千上萬個用戶PB級甚至是EB級的數據訪問。
BC-oNest對象存儲系統采用分層架構,由硬件層、核心層、服務層、接口層和統一平臺五部分組成。其中統一平臺相對獨立,負責集群管理、監控及告警等內容,其余四層架構相互依賴,自下而上支撐整個存儲系統并提供高級功能。
BC-oNest硬件層負責硬件的管理以及硬件故障檢查,通過智能的硬件檢查技術,可及時發現硬盤、網絡及操作系統等故障,及時告警,并嘗試修復部分常見問題。
BC-oNest核心層負責數據的分布和一致性保障等,用戶可以根據成本等需求,可以采用多副本還是糾刪碼的方式進行數據存儲。這一層存儲數據并保證數據的完整性。
BC-oNest服務層基于核心層提供的功能進行數據的平衡、隔離及遷移等處理,對上層接口屏蔽相關實現細節。數據的平衡和遷移可以靈活的進行控制,可根據系統實時信息和客戶需求來執行。比如:可指定允許的硬件恢復時間,在該時間段內不進行數據平衡和遷移,以避免硬件恢復后重復數據過多。
其接口層主要服務于對象存儲網關(Rados Gateway,RGW),RGW 給用戶提供 REST API,并且兼容AWS、S3接口和Openstack Swift接口。如果客戶認為S3/Swift接口語義過于復雜,可利用接口層暴露的原始接口進行深度定制。
統一平臺提供了自動化的集群部署、可視化的存儲管理和智能的監控告警功能,通過統一平臺,可完成對集群的管理、更新和維護。統一平臺是高可用的,充分滿足客戶對穩定性和可靠性的要求,系統簡單而強大。
BC-oNest是分布式的對象存儲系統,整個產品架構從下而上緊密結合,穩定的為用戶提供服務,其主要以下特性:
(1)服務可用性99.9%,數據可靠性99.99999999%,無單點故障,支持水平擴展;
(2)支持至少千億級對象存儲,單個對象最大5TB,可跨數據中心容災備份;
(3)支持用戶可選的客戶端數據加密存儲,整個過程對用戶透明;
(4)支持系統和存儲資源監控及告警功能,易運營可管理;
(5)提供準實時統計計量能力(容量、流量、請求次數),支持用戶按需付費;
(6)高級特性見圖2。
所以BC-oNest因其分布式的結構可以輕易管理成百上千個節點,PB級以上的存儲集群,基于計算的扁平設計,使得客戶端可以和服務端的任何節點進行通信,避免了存在訪問熱點而導致的瓶頸問題,可以大規模的進行存儲數據。BC-oNest產品除了能支持大業務量,產品提供的功能點也能滿足用戶的需求。
和業界主流的存儲產品從功能和性能上都進行對比,BC-oNest產品以移動云為例。

圖3 基礎功能對比

圖4 高級功能對比
注:其中多版本和生命周期,BC-oNest產品支持swift接口,不支持s3接口。
對比移動云(EOS),友商1和友商2在大小文件的上傳,下載和刪除性能。
友商1對128K以下的小對象有較強的性能優勢,但是從128K到1M區間(此區間帶寬小于300MB/s)的上傳和下載吞吐量圖表中可以發現EOS的優勢逐漸體現,若沿著這個趨勢并結合EOS平穩的發展趨勢,可知EOS在1M以上對象上傳和下載存在一定優勢。刪除性能方面,EOS采用的是同步刪除,而友商1和友商2采用的是異步刪除機制,整個刪除過程中,EOS和友商1性能趨向于平穩。

圖5 性能對比(灰線是友商1,藍線是友商2,橘線是EOS。)

圖6 社區排名
BC-oNest產品相比于友商1、友商2有些功能點現暫不支持,但是其中大部分的功能點在我們最新發布的版本中已經支持。性能方面,大文件的上傳和下載性能相對于友商1、友商2有一定的優勢。BC-oNest產品無論是功能還是性能都能滿足廣大客戶的需求。蘇研院不僅有好的對象存儲產品,還有好的開發團隊,就2017年,中國移動在ceph開源社區的總體排名為第六位,總合并的補丁數為100個。