百度雲磁碟CDS、對象存儲BOS技術深度解析
在 BAT 中,百度在公有雲也有很多技術創新。比如 2013 年引起廣泛關注的 ARM 存儲伺服器就是一個很好的例子。最近兩年,百度雲開始發力,其雲存儲體系有諸多創新之處。目前百度雲存儲形成了以塊存儲、對象存儲、文件存儲為核心,VPN/ 專線、數據導入、存儲網關為支撐的產品體系。其中百度對象存儲 BOS 支撐了百度網盤上千 PB 的海量數據,在國內首推分級存儲和智能存儲概念,前者以標準、低頻、冷存儲三種存儲類型組成,後者包括了圖片處理、圖片審核、Android 批量打包等諸多處理能力。
在 6 月 24 日百度開發者中心主辦、極客邦科技承辦的 72 期百度技術沙龍活動中,百度雲計算事業部高級產品經理姜驥川、百度雲計算事業部資深工程師楊勇強、百度雲計算事業部資深工程師牛獻會,分享了當前雲存儲技術面臨的挑戰,針對這些挑戰,百度雲存儲技術推出的塊存儲、對象存儲等解決方案,以及方案背後的系統架構演進和關鍵技術實踐。
百度雲存儲產品與解決方案
百度雲計算事業部高級產品經理姜驥川做了開場演講,他講解了在人工智慧(AI)、大數據(Big Data)、雲計算(Cloud)三位一體的新時代下,雲存儲面臨了兩大重要挑戰:
數據爆髮式增長。ABC 時代最重要的一個特點就是不同應用場景的數據存儲需求的爆髮式增長,包括語音數據、LBS 數據、行業數據等。據分析,到 2020 年數據量將達到 40ZB。
數據分析與識別。數據是有價值的,如何通過分析和識別數據發現業務規律,從而產生商業價值,這是現今所有開發者和企業需要去實現重要命題,而這個命題實現的前提就是數據的高效、可靠性存儲。
姜驥川表示,雲存儲的使命一方面是助力傳統業務應對變化,滿足客戶對更高性能、更短響應時間的要求,降低成本贏得競爭力;另一方面,還需要適應新業務的需要,例如海量非結構化數據存儲、大數據分析、富媒體處理。在此情景下,百度雲提供了塊存儲、文件存儲和對象存儲等多種存儲類型以適應不同的應用場景需求。
百度雲存儲 – 雲磁碟 CDS
百度雲塊存儲主要用於滿足雲主機的持久化存儲需求,它有三大特點,一、計算和存儲解耦,比如用戶的雲主機失效,雲磁碟可以很簡單的掛載到到另外一個主機上,防止數據丟失及業務中斷。二、彈性、支持隨時擴容,用戶可對雲磁碟進行隨時擴容,最大可達 5T。三、提供快照,便於數據備份、恢復,對於存儲產品來說,數據的安全、不丟失,是客戶最在意的一點,雲磁碟提供的快照功能是對存儲數據很好的保護。
百度雲存儲 – 對象存儲 BOS
百度雲塊存儲架構解析
隨後,百度雲計算事業部資深工程師楊勇強從技術的角度,對百度雲的塊存儲架構做了詳細的解析。
如何實現這個架構?
楊勇強首先從系統設計的角度,講述塊存儲的三類 API:第一類、控制,即雲磁碟的創建刪除操作;第二個、特殊產品堆砌,包括快照、克隆、回滾功能;第三類是最核心的,就是磁碟要讀寫。接著,楊勇強從虛擬設備方案、系統架構、數據分布、讀寫流程、單機存儲引擎、混合存儲多個方面,介紹了整個系統的實踐方式。
虛擬設備方案。百度從性能、可運維性兩個角度出發做了自己的虛擬設備方案。具體實現過程為在 qemu 實現 cds 的虛擬設備方案,這個虛擬設備的請求會通過管道或者共享內存交給另外一個進程,另外一個進程 cds-agent 運行後端分布式存儲的 lib。
在這個方案里需要經常升級的是分布式存儲的 lib,主要是源於三個需求,1. 產品特性的增加,比如限速等;2. 分布式存儲的訪問優化,有些優化是需要 lib 配合的,3. 這個 lib 邏輯相對複雜,小的 fix 上線較多。cds-agent 是單獨的進程,這樣就可以做無感的升級。
系統架構。系統架構分為兩個部分,卷管理以及 block 系統。這個架構是一個複製結構,這個複製結構在業界就是比較折中的一個方式,在延遲上面達到比較優的一個折中。
這裡主要介紹了虛擬設備方案與系統架構兩個方面,具體的實現方式和架構圖可以下載 PPT 詳細了解。楊老師表示,在整個系統的設計當中,系統高可用、高可靠、latency 敏感、隨機讀寫是最重要的技術關鍵點,也是整個系統設計的基本依據。
百度超大規模對象存儲 BOS
百度雲計算事業部資深工程師牛獻會從 BOS 的軟體結構、API、產品特性、存儲引擎、硬體選型和優化等角度對百度對象存儲做了全面的分析和解讀。牛獻會介紹到,Bucket 與 Object,是 BOS 上最基本的概念,BOS 支持圖片,視頻等各種二進位數據,單文件最大 5TB 的容量具有存儲,高可用,高可靠,高擴展性。
BOS 的軟體架構
BOS 的整個軟體框架,分為 Client 客戶端、Frontend 前端、Control 控制中心、Proxy 代理層、Storage 存儲層、HardWare 硬體設備幾個部分。
百度提供了一個統一的 Proxy,主要用於解決跟存儲引擎交互的功能。整個設計從上往下,從左往右,比較好表達 BOS 軟體設計的分層。
BOS 的速度優化與安全
在數據的加速上傳方面,百度通過上傳網路優化和上傳工具優化兩個方面實現。
上傳網路優化。百度的上傳網路優化主要的三個點。1、BGP 邊界網關協議;2、CDN 內容分發網路。百度在各個地方設置了 CDN,在網路情況較差的地方,可以選擇走專屬的 CDN 網路;3、專線。對數據的安全要求比較高、不希望走公網的用戶,可以採用專線的形式。
上傳工具優化。百度提供的上傳工具包括 Multi Upload,CLI、批量上傳、Sync 以及客戶端壓縮,伺服器端自動解壓縮等,幫助數據實現快速上傳。
牛獻會表示,對於雲數據而言,最重要的是數據的安全保障,百度提供了認證鑒權,臨時授權,子賬號管理等整套完整的安全機制,對於移動分發類的場景,提供了 STS,這樣可以有效減少主 AK、SK 分髮帶來的密鑰泄漏。
用戶期望數據安全的同時,也期望加密服務不要影響到 GET、PUT 等數據功能的使用性能,針對此種情況, 百度支持的是透明加密的,與此同時,其智能網卡帶的加解密功能,可以降低對 CPU 等的開銷和成本。
硬體選型和優化
除了軟體上的優化,百度在硬體的選型和優化上也有很多:整機櫃、高密度以及藍光存儲,對機器也要求雙電雙網,最大程度減少掉電和交換機故障帶來的影響。
寫在最後
雲存儲產品的設計,很多的時候需要考慮到整個業界發展的現狀和用戶整體需求,雲存儲的開發並不是一蹴而就的,它需要一個過程,百度雲提供了多種存儲產品和實用工具,是為了讓整個過程變得更平滑。
點擊展開全文


※技術漫談:如何用經濟學原理打造團隊領導力與軟技能?
※2017百度AI開發者大會 一場5000名開發者的分享盛宴
※微信後台基於時間序的海量數據冷熱分級架構設計實踐
※Java依然是十五年來的摯愛,框架是業界最佳實踐的沉澱
※華為開發者大賽招募:你跟百萬元獎金就差動動手指來報名
TAG:InfoQ |
※NVMe與SATA的存儲技術比較
※七牛雲CDN鏡像存儲加快圖片/CSS/JS文件訪問速度,支持申請免費SSL
※便攜高效的移動存儲解決方案:西數M P SSD深度測評
※高效存儲體驗 西部數據Black 3D NVMe SSD榮獲最佳遊戲性能SSD獎
※東芝存儲器株式會社將推出面向SATA應用的Value SAS SSD
※DAS,NAS,SAN和ISCSI存儲架構介紹
※性能媲美M.2 SSD固態硬碟:東芝 發布 XFMEXPRESS 超便攜 存儲卡
※常見三種存儲方式DAS、NAS、SAN的架構及比較
※MySQL存儲引擎、MyISAM、InnoDB
※AMD EPYC助力全新的HPE Gen10單路伺服器重新詮釋虛擬化和軟體定義存儲
※把USB設備作為ESXI的數據存儲
※奧睿科NVME M.2 SSD硬碟盒評測:性能爆表的便攜存儲
※慧榮科技發布全球首款擁有企業級數據保護功能的PCIe NVMe單晶元 SSD存儲解決方案
※SIMATIC S7系列PLC的存儲卡有哪些種類?
※微軟為OCP計算項目推出雲SSD存儲新規範
※揭秘三星NGSFF SSD新型數據中心存儲解決方案
※東芝推出XFMEXPRESS可拆卸結構NVMe存儲設備:體型小巧但傳輸速率高
※英特爾:「標尺」SSD密度世界最大,1U伺服器可塞入1PB存儲
※技嘉首次涉足存儲市場,推出UD PRO系列SSD
※傲騰SSD和雲存儲取代之 Intel:機械硬碟將在PC領域消失