999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向科研領域的分布式對象存儲系統①

2020-07-25 11:35:40王錦濤張海明
計算機系統應用 2020年7期
關鍵詞:用戶

王錦濤,張海明

1(中國科學院計算機網絡信息中心,北京 100190)

2(中國科學院大學,北京 100049)

1 概述

現代科學研究中,數據密集型的科學研究產生越來越多的數據,科學大數據對數據采集、數據處理、數據保存、數據共享等提出了巨大的挑戰[1].在這種背景下,傳統的單節點數據存儲顯然無法滿足需求,其傳輸速度慢、存儲周期短、災備容錯率低、傳輸共享性差等問題制約著海量數據的高效存儲和應用.對象存儲系統以其在可伸縮性、易用性、可靠性和低成本等方面的優勢而成為應對這些挑戰的很有前途的解決方案,因而得到日益廣泛的應用[2].

在中科院戰略性先導科技專項地球大數據科學工程中,提出了實現200臺存儲服務器節點總計20 PB存儲容量的穩定、高效、安全和高可用的存儲系統需求.傳統的數據存儲主要依托于分布式的文件系統,例如Lusture[3]、GPFS[4]、PVFS[5]、Panasas[6]等,其遵循POSIX 存儲語義進行存儲空間的組織和數據訪問,功能完備,系統設計復雜[7],樹狀的目錄便于文件的查看和管理,但是當數據量不斷增大時,龐大的樹狀目錄結構會給系統帶來巨大的元數據管理的開銷,每次文件的讀取和移動操作都需要與元數據服務器進行交互,導致訪問效率低下.同時,元數據與文件內容共存于同一存儲物理結構內,導致數據形式的耦合性高,不利于存儲節點的擴展.此外,文件系統的訪問形式和傳輸工具也比較單一,通過NFS或者CIFS網絡協議掛載,認證方式單一,共享效率低下,無法滿足多種科研計算環境下的訪問和獲取需求.

對象存儲技術自2000年左右被提出來以后[8],隨著大數據行業的蓬勃發展,該技術被廣泛應用到各種存儲需求領域,開源領域有Ceph[9]、Gluster[10]和OpenStack Swift[11]等及其成熟的對象存儲底層存儲項目,這些開源項目在近些年持續高漲的火熱,也印證了該技術的可行性和科學性,同時推動了對象存儲技術的廣泛應用.在工業領域,云計算鼻祖Amazon在2006年提出S3[12]對象存儲平臺后,徹底改變了IT 存儲領域.但是在追求相對安全、擴展性和靈活性的科研存儲領域,單一地采用商業公有云存儲或開源框架明顯不能滿足需求,公有云對象存儲服務存在安全性和擴展性方面的劣勢,開源軟件則在功能服務性上過于基礎化和單一化,表1給出了兩者的優缺點對比.

表1 商業對象存儲服務和開源對象存儲框架對比

在大型科研領域中,考慮到數據的絕對的安全性和私有性,項目組一般擁有一定規模的私有物理服務器集群,因此選擇共有云對象存儲無法成為有意義的方案.針對以上需求和現狀,i-Harbor 結合兩種存儲方案的優勢,將靈活可擴展的開源對象存儲框架作為底層存儲引擎,設計獨立的元數據管理模塊,提供功能完善、可控性強的對象存儲架構,同時設計獨立的業務管理模塊、數據傳輸功能模塊、權限認證模塊等,提供符合公有云對象存儲業界標準的可定制化的服務,增強功能可交互性,提升產品用戶體驗.

綜上,i-Harbor 擁有以幾方面的下技術優勢:

(1)對象存儲的核心思路是將文件中的內容和元數據進行分離,分為控制節點+數據節點.將數據內容以對象的形式存儲到分布式的數據節點中,此外搭建若干控制節點,通過軟件管理分布式的內容數據集群,同時,控制節點也存儲元數據,元數據主要負責存儲對象的屬性(所屬數據節點、創建時間、長度大小等).元數據與對象數據存儲資源實現邏輯隔離,降低了存儲形式的耦合性,提高了物理存儲資源的利用率;

(2)對象存儲結合塊存儲和文件存儲各自的優勢,同時克服共同的缺陷.塊存儲讀寫快,不利于共享,文件存儲讀寫慢,利于共享.因此將數據切分為二,元數據軟件控制節點避免了樹狀目錄在傳輸中的效率低的問題,對象形式的扁平化數據內容存儲提高了數據的讀寫效率;

(3)科研數據不僅僅需要靜態穩定的存儲,也需要動態的分享和下載,通過元數據服務器中對每個對象位置和目錄結構的記錄,分散地到分布式中讀取數據內容,直接將分片好的數據內容以字節流的形式通過HTTP或FTP網絡傳輸協議等方式獲取,極大地提高了數據的共享效率和便捷性;

(4)系統采用硬盤陣列的raid多副本技術[13]、Ceph集群的糾刪碼[14]恢復技術和元數據數據庫MongoDB的副本集[15]策略,避免了集群單點故障,提高了數據存儲的安全性,在實現分布式集群可擴展性的同時,提高了集群的容災性能.

2 系統設計

i-Harbor是一個對象存儲為核心功能的分布式存儲系統,主要包含數據對象存儲集群Ceph、元數據存儲集群MongoDB、Web數據管理系統、FTP和HTTP傳輸接口、Zabbix[16]集群參數監控系統等模塊,圖1為系統整體架構設計.

圖1 i--Harbor系統架構圖

2.1 業務管理系統

該模塊主要負責為用戶提供管理數據的主要入口,包含用戶管理、數據上傳和下載、文件權限管理、數據共享等主要功能,通過高效率的MVC 開發框架Django 實現.功能邏輯上,以bucket作為數據在物理資源的唯一劃分單位,同時也是數據上傳、下載、共享的邏輯單元,在每一個bucket 內部,用戶可以創建不限量的文件夾和上傳數據文件,以此模擬出文件系統的樹狀目錄結構,方便用戶管理和共享.此外,該模塊實現了用戶對API和FTP數據接口的權限認證和密鑰獲取,方便用戶在大規模批量地上傳和獲取數據場景下擁有穩定、高效的數據讀寫接口.

2.2 元數據管理

在i-Harbor系統中,元數據負責記錄用戶存儲的數據的具體信息,包含名稱、大小、創建時間、修改時間、所在目錄等信息.只有元數據分配更加平均,才能使得集群資源得到充分利用,元數據服務器之間的負載達到均衡,從而提高系統的性能[17].因此采用開源數據庫MongoDB,它是一個高性能、面向文檔式的分布式架構數據庫,適用于大尺寸海量數據存儲場景,擁有高度擴展和伸縮、低容災性的特點,非常適合該系統.

在元數據管理模型中,每個存儲桶bucket作為一個collection,上述具體信息作為field,每一個document為用戶上傳的一個文件記錄,利用系統的ObjectId作為數據庫主鍵,也是該條數據在對象數據管理模型中的唯一標識,通過它來尋找數據對象內容的具體存儲地址.

i-Harbor 充分利用MongoDB 原生的分布式性能,搭建主+從+仲裁節點的副本集存儲集群,避免了存儲集群的單點故障,同時,利用sharding 分片機制,根據field 特點選擇對id字段進行Hash 分片,使所有document隨機、均勻地分布在所有的mongod 存儲節點,實現了負載均衡,同時在增加節點時通過內部的數據遷移機制,實現了高度擴展的分布式特點,大大提高了存儲效率.

2.3 對象數據管理

作為i-Harbor的存儲核心,對象數據存儲管理依賴于開源的分布式對象存儲系統Ceph.Ceph是在存儲領域應用最廣泛的可持續化存儲系統,主要包含對象網關RWG、塊存儲RBD和文件存儲CephFS 三大功能模塊,其底層依賴rados 對象作為數據的基本存儲單元,通過每一個數據文件的唯一標識符uuid,經過原生的crush數據尋址算法計算出所在的存儲池和存儲設備,充分利用了存儲節點的計算能力,實現了高度可擴展的對象數據存儲策略.

i-Harbor 利用Ceph 中的核心庫librados,通過內存的字節流讀寫,將數據寫入rados 對象且從中獲取數據實現文件的上傳和下載.在該模塊中,用戶通過業務管理模塊中的數據目錄和元數據記錄獲取數據的唯一標識符uuid,通過Ceph的monitor發送給OSD,經過crush的數據尋址算法找到對應的rados 存儲位置,獲取對應數據并經過對應接口返回給客戶端,以此來完成數據讀寫的主要IO.

在該模塊中,為了保證對象數據存儲的安全性,設計了糾刪碼的冗余技術,在測試實驗環境中采取16+4的糾刪碼策略,即在不超過五分之一的數據丟失損壞后可以利用其他完好的數據通過對應的矩陣算法恢復出丟失數據,這種策略在保證數據安全性的同時極大的提高了資源的利用率,同時配合實際物理環境中的raid多副本備份技術,最大程度避免了單一故障,提高了集群的容災性.

2.4 數據接口管理

在業務管理系統中,用戶可以通過Web界面在線上傳文件、刪除文件、下載文件以及共享文件,非常方便快捷,但是在大規模的數據上傳和下載場景下,這種模式顯然效率極低,在科研環境中大部分的數據讀寫都是大批量進行的,為此設計了API和FTP 兩種數據接口形式.API為RESTFul 形式接口,遵循基于HTTP協議的接口標準形式,用戶通過Token、JWT或密鑰對等多種認證形式連接到i-Harbor,進行數據的上傳下載.FTP 工具是基于開源的Pyftplib庫實現,用戶以每個存儲桶為操作單位,通過對應的密碼連接到bucket文件目錄,從而實現客戶端與服務端文件同步顯示的功能,方便用戶上傳和下載.

2.5 其他模塊

為滿足整體系統健壯性,配合以上主要模塊穩定運行,設計以下其他模塊:

(1)Nginx 反向代理:將用戶通過HTTP的請求按照輪詢機制反向代理到集群中的django 業務管理系統節點,實現訪問負載均衡;

(2)Zabbix集群監控體系:監控所有物理節點CPU、內存運行情況和網絡負載等參數,以及MongoDB和Ceph集群各節點數據讀寫速率,保證系統平臺高可用性;

(3)數據歸檔備份:對于超過一定年限的數據,定時備份歸檔到存儲成本更低的磁帶庫集群,保證物理資源中高速讀寫硬盤的有效利用.

3 關鍵技術

3.1 MongoDB 副本+分片集群

在2.2 元數據管理模塊中,利用MongoDB分布式數據庫作為元數據的存儲引擎,并依賴副本集合分片機制保證數據的安全性和均勻分布.在i-Harbor集群環境中,搭建了一個30個物理節點的分片鍵+副本集的MongoDB集群.本節將其約分為3個節點,介紹其中關鍵技術.

共3個節點,分為3個shard,3個節點分別為mongo01、mongo02和mongo03,mongo01和mongo02節點上包含入口服務mongos,在mongo03節點上包含配置服務config.由于物理磁盤已做raid多副本備份,考慮到存儲效率,主需要一個MongoDB 備服務器,所以采用1 主+1 備+1 仲裁的集群節點分布策略(仲裁節點負責在主服務器宕機情況下通過心跳機制將備服務器升級為主服務器),表2給出了集群具體各個節點服務分布.

表2 MongoDB集群節點規劃表

表3給出了各服務端口分配情況.

表3 MongoDB集群各服務端口分配表

在3臺節點的配置文件conf 中配置好3臺服務器的地址、數據目錄等參數之后,登錄任意節點,初始化副本集:

初始化成功之后,需要啟用分片機制.MongoDB的分片機制共有Hash和range 兩種,Hash方法為隨機分片,按照分片鍵的值在副本集中隨機分配,利于數據均勻分布,但是在按區間獲取數據時會訪問較多節點;range方法根據分片鍵的值按照一定的范圍分布,在分區域獲取數據時可以較少地訪問不同節點,但是無法做到數據足夠均衡.考慮到在i-Harbor中,海量數據主要以批量上傳為主,較少有大規模按范圍獲取,因此選擇將主鍵ObjectId作為分片鍵,Hash方法作為分片策略:

1.sh.addShard("localhost:27 001")

2.sh.enableSharding("i-harbor")

3.sh.shardCollection("i-harbor.bucket01",{ObjectId:"hashed" })

經過上述的關鍵步驟配置,完成搭建一個副本集+分片鍵的MongoDB分布式高可用集群,為元數據存儲模塊提供穩定的數據存儲引擎.

3.2 Rados數據對象讀寫

在2.3 對象數據管理模塊中,采用Ceph作為底層對象存儲引擎,此模塊的關鍵在于數據從數據接口如何寫入到Ceph 中的OSD (Object Storage Device),因此需要設計合理的rados 對象讀寫IO方法.在Ceph 中有原生的對象網關協議RGW 支持Amazon S3和Swift的對象存儲接口,但是其認證方法和讀寫策略無法滿足i-Harbor 需求,因此選擇直接利用librados庫實現對rados的讀寫的中間件.

在業務管理模塊中,數據接口和Web系統由Python 開發實現,但是在官方社區中對librados的Python版本支持較為滯后,無法與當前版本兼容,因此該中間件基于官方社區中的go-ceph (對librados的go語言封裝),采用執行效率和開發效率更高的go語言,實現對rados 讀寫方法的封裝,編譯為動態鏈接庫.so,為業務管理模塊提供數據讀寫方法,圖2給出了該中間件結構設計.

圖2 rados 讀寫中間件結構圖

在該中間件中,對rados的操作主要為push、get、delete和list 四種方法,主要功能為創建并寫入對象、獲取對象內容、刪除對象、獲取對象列表,方法介紹如下:

(1)Push:根據oid 寫入rados 對象,從offset位置起,寫入長度為len,數據內容為data;

(2)Get:獲取oid的rados 對象內容,起始位置為offset,獲取數據的長度為block;

(3)Delete:刪除oid的rados 對象;

(4)List:獲取指定pool 中的所有rados 對象oid列表.

表4給出了其所需參數.

表4 Rados 讀寫參數表

經過上述設計,實現Ceph 底層對象到業務系統中的數據讀寫的中間件.作為一個關鍵數據中轉站,其在i-Harbor 中承擔著非常重要的角色.

4 成果總結

4.1 系統環境

在地球科學大數據先導項目課題需求下,搭建一套完整的計算+存儲+網絡系統環境.共有200臺對象存儲服務器,每臺服務器100 TB 硬盤,部署Ceph分布式存儲系統,承擔對象數據存儲任務;20臺元數據服務器,每臺服務器10 TB 高速SSD 固態硬盤,部署分布式的副本集+分片制的MongoDB集群;10臺業務系統服務器,包含Web 服務、API接口服務、FTP 服務和nginx 反向代理服務器;3臺Zabbix監控服務.節點間通信全部使用萬兆以太網光纖.

4.2 系統成果

用戶通過Web界面、API或FTP接口,創建存儲桶,在存儲桶內創建任意數量的文件夾,然后以存儲桶為單位進行數據上傳,通過Web界面,用戶可以管理FTP和API數據接口認證.圖3給出了系統Web界面效果,用戶通過Web系統,創建和刪除存儲桶,實現文件夾和文件的創建、刪除和下載,同時管理FTP和API接口的認證方式.

用戶通過RESTful API的調用接口,將數據通過成熟的HTTP協議進行上傳下載,方便在各種在線數據處理系統中調用存儲桶中的數據,圖4給出API 管理界面.

圖3 業務模塊Web界面功能圖

圖4 API數據接口功能圖

用戶在業務管理系統中,以存儲桶為單位,開啟FTP連接,管理FTP 讀寫權限賬戶,圖5給出Windows下FTP數據接口映射說明,用戶通過網絡驅動映射將某個存儲桶通過FTP協議映射到本地,實現本地瀏覽與線上系統同步,方便用戶進行數據上傳下載.

圖5 FTP數據接口映射

5 結束語

針對在科研場景中海量級數據的高效率存儲和數據共享需求,本文設計并實現了i-Harbor分布式對象存儲系統.該系統以開源框架Ceph和MongoDB為對象數據和元數據存儲引擎,將整體底層架構合理解耦,通過分布式技術實現彈性可擴展存儲集群,利用糾刪碼多分本等技術避免了單點故障,保證了系統容災性.同時,深度結合公有云對象存儲服務,提供豐富的多種數據讀寫接口,方便用戶在各種場景完成數據的批量上傳下載,同時設計合理數據共享策略,方便用戶在復雜的科研場景之下更高效的利用數據,提升科研工作效率.

下一步將繼續研究在科研場景中如何解決大數據量同時高并發上傳瓶頸,如何優化海量小文件上傳這樣的IO密集型任務[18].同時,為更廣泛利用i-Harbor存儲系統的高效服務,需要調研在數據處理場景下對于存儲平臺的需求,實現對科研數據處理任務的支持.

猜你喜歡
用戶
雅閣國內用戶交付突破300萬輛
車主之友(2022年4期)2022-08-27 00:58:26
您撥打的用戶已戀愛,請稍后再哭
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年5期)2016-11-28 09:55:15
兩新黨建新媒體用戶與全網新媒體用戶之間有何差別
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
挖掘用戶需求尖端科技應用
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
主站蜘蛛池模板: 国产亚洲精品yxsp| 九九热这里只有国产精品| 亚洲电影天堂在线国语对白| 国产簧片免费在线播放| 又黄又湿又爽的视频| 国产成人喷潮在线观看| 一级福利视频| 久久国产精品麻豆系列| 精品超清无码视频在线观看| 十八禁美女裸体网站| 四虎精品黑人视频| 香蕉视频在线观看www| 免费看的一级毛片| 乱人伦中文视频在线观看免费| 久久久久中文字幕精品视频| 亚洲永久精品ww47国产| 一级黄色片网| 高清欧美性猛交XXXX黑人猛交 | 日韩在线网址| 91偷拍一区| 一区二区午夜| 亚洲综合第一页| 国产精品视频猛进猛出| 成人看片欧美一区二区| 日韩无码视频网站| 国产亚洲一区二区三区在线| 免费无码又爽又黄又刺激网站| 一本大道在线一本久道| 91伊人国产| 国产在线观看第二页| 欧美色图第一页| 亚洲男人在线天堂| 欧美a在线看| 在线观看的黄网| 26uuu国产精品视频| 日韩在线观看网站| 黄色福利在线| 欧美日一级片| 久久精品66| 国产视频大全| 久久国产黑丝袜视频| 日本不卡在线播放| 999精品免费视频| 国产成人毛片| 99久久精品视香蕉蕉| 亚洲综合日韩精品| 亚洲最大福利视频网| 最新国语自产精品视频在| 狠狠色丁香婷婷综合| 婷婷色狠狠干| 日本高清有码人妻| 在线播放真实国产乱子伦| 日本影院一区| 青青国产视频| 亚洲精品无码久久毛片波多野吉| 欧美第二区| 扒开粉嫩的小缝隙喷白浆视频| 国产精品亚洲а∨天堂免下载| 免费无码又爽又黄又刺激网站| 国产日本一区二区三区| 看国产一级毛片| av在线5g无码天天| 亚洲女人在线| 97se亚洲| 欧美日韩免费在线视频| 无码aaa视频| 欧美日韩国产精品综合| 亚洲网综合| 亚洲国产综合精品中文第一| 国产簧片免费在线播放| 国产精品美乳| 欧美日韩国产综合视频在线观看| 美女内射视频WWW网站午夜| 亚洲成人播放| 国产精品思思热在线| 国产精品久久久久久久久久久久| 红杏AV在线无码| 亚洲av中文无码乱人伦在线r| 国产一区在线视频观看| 国内精品久久久久久久久久影视| 久久精品无码中文字幕| 久久免费视频6|