可以看到,在廣域網(wǎng)環(huán)境下,都是通過REST接口接入進(jìn)來的。廣域環(huán)境下也可以使用NFS,但是性能應(yīng)該很差;局域網(wǎng)環(huán)境下,用戶可以通過NFS、CIFS、安裝客戶端(FUSE)方式,最終以Native API進(jìn)行訪問。無論什么方式,都可以訪問到整個(gè)系統(tǒng)的巨大存儲(chǔ)資源池。
3.2部署結(jié)構(gòu)
System:一個(gè)Atmos系統(tǒng)由分散在廣域環(huán)境中的若干個(gè)Site組成。
Site: Site也稱為RMG,資源管理組。每個(gè)Site由若干個(gè)IS組成,所有IS都位于同一個(gè)子網(wǎng)當(dāng)中。Site統(tǒng)一管理和監(jiān)控內(nèi)部的所有節(jié)點(diǎn)。
Install Segment:每個(gè)IS由若干個(gè)Node和DAE組成,通常是一個(gè)機(jī)架
Node:物理或者虛擬節(jié)點(diǎn),保存數(shù)據(jù)和元數(shù)據(jù)。在內(nèi)部會(huì)分配為每個(gè)Node一個(gè)編號(hào),Node之間以千兆網(wǎng)或者萬兆網(wǎng)連接。
DAE:物理的或者虛擬機(jī)存儲(chǔ),每個(gè)node可以接最多4個(gè)DAE,每個(gè)DAE可以包含15個(gè)1或2T的空間,與node以SAS方式連接。
下圖是集中可選的物理設(shè)備:
3.3元數(shù)據(jù)
以對(duì)象為基礎(chǔ)的存儲(chǔ)結(jié)構(gòu),為每個(gè)數(shù)據(jù)分配一個(gè)唯一的對(duì)象ID,用戶根本不需要關(guān)心文件的位置和任何映射關(guān)系。每個(gè)對(duì)象包括元數(shù)據(jù):
系統(tǒng)元數(shù)據(jù):文件信息、長(zhǎng)度等常見的文件屬性
用戶元數(shù)據(jù):文件更偏向于專有應(yīng)用的屬性,如歌曲對(duì)應(yīng)的藝術(shù)家、唱片等,也可對(duì)文件添加制定的標(biāo)簽。
根據(jù)這兩類元數(shù)據(jù),可以將文件分成不同的對(duì)象組。在分類之后,對(duì)不同的對(duì)象組實(shí)施不同的管理策略,非常靈活。
元數(shù)據(jù)在Node內(nèi)部有多個(gè)存儲(chǔ)副本,在其他Node上,存儲(chǔ)元數(shù)據(jù)的可讀副本;每個(gè)MDS負(fù)責(zé)一部分元數(shù)據(jù)信息,每個(gè)文件的元數(shù)據(jù)通常會(huì)保存3份副本。從這一點(diǎn)可以看出,Atmos在元數(shù)據(jù)管理上的分區(qū)方式。通常操作會(huì)選取本地就近的MDS進(jìn)行,降低訪問廣域的延遲。
文件的訪問有如下幾種方式:
OID:Object id,即文件在全局的唯一標(biāo)示
Path:文件在文件系統(tǒng)中的路徑
Tag:制定給文件的標(biāo)簽。
3.4數(shù)據(jù)流向
數(shù)據(jù)創(chuàng)建過程如下,只描述主要過程,可能與圖中不符
Client詢問RMS,數(shù)據(jù)在哪個(gè)mds
發(fā)送到主mds
mds生成唯一文件id;并詢問策略服務(wù)PM,獲取文件的布局方式
PM返回xml形式的策略,包括位置、副本數(shù)、副本方式、觸發(fā)條件
mds填寫用戶信息和文件屬性等
查詢RMS,決定在本地的資源存儲(chǔ)方式
生成LSO,分配給SS,會(huì)生成本地副本
Client并發(fā)發(fā)送到多個(gè)ss上
ss創(chuàng)建后臺(tái)數(shù)據(jù),并將對(duì)象ID返回給client
client收集多個(gè)ss的id并發(fā)送給mds
執(zhí)行異步同步策略,mds生成任務(wù)發(fā)送給js
文件讀過程如下:
向RMS查詢,獲取相應(yīng)的MDLS
Client到MDLS查詢文件的主、從MDS、遠(yuǎn)程MDS分布
Client獲得回應(yīng),得到對(duì)象的布局狀況
Client解析后,向最近的ss發(fā)送請(qǐng)求
SS返回給Client
3.4用戶管理
租 戶:可以擁有自己獨(dú)立的存儲(chǔ)空間、存儲(chǔ)訪問策略、安全控制機(jī)制。不同租戶之前是完全隔離的。租戶主要是起到管理作用,并以節(jié)點(diǎn)為單位分配管理單元 給租戶,即一個(gè)Node只能屬于一個(gè)租戶。通常在一個(gè)系統(tǒng)中,只會(huì)設(shè)置1-2個(gè)租戶。租戶可以被認(rèn)為是對(duì)數(shù)據(jù)和策略進(jìn)行了分組管理。
子租戶:由租戶創(chuàng)建,一個(gè)租戶下可以有多個(gè)子租戶。子租戶有自己獨(dú)立的名字空間,子租戶之前的數(shù)據(jù)也是隔離的??梢詾槊總€(gè)子租戶設(shè)置不同文件管理策略;CIFS和NFS也在子租戶級(jí)別導(dǎo)出。子租戶對(duì)應(yīng)的數(shù)據(jù)擁有者,這可以是某個(gè)部門、應(yīng)用、個(gè)人用戶。
用戶:子租戶下可以創(chuàng)建自己的用戶,也就是最終端使用者
可以看到,Atmos做了一些本該由運(yùn)營(yíng)提供商或者企業(yè)自己做的事情,這樣可以更快的部署和遷移,運(yùn)用到核心系統(tǒng)中去。
3.5訪問模式
Atmos盡可能全面的提供了一系列訪問接口,不同的使用者選取不同的接口
終端用戶:通常與應(yīng)用直接打交道,不需要直接訪問Atmos;在有需要的情況下,可以通過掛載的方式使用FUSE接入(IFS方式),或者是NFS/CIFS
應(yīng)用:Web接口如SOAT、REST,更好的跨平臺(tái)性
NFS方式:注意,在NFS方式下,每個(gè)Node都是獨(dú)立配置的。但允許使用兩個(gè)Node對(duì)NFS導(dǎo)出做HA
IFS方式:可安裝的文件系統(tǒng)方式,使用FUSE將用戶接入到某個(gè)子租戶上;可自動(dòng)獲得集群化特性,比如可以在某些服務(wù)故障時(shí),自動(dòng)進(jìn)行訪問重定向。
用戶像訪問本地文件系統(tǒng)一樣,訪問整個(gè)Atmos中的數(shù)
提供close-to-open一致性
GeoDrive:為Atmos生成一個(gè)邏輯磁盤驅(qū)動(dòng)器,類似于個(gè)人存儲(chǔ)方式
REST:如果僅僅使用REST接口,可以不建立名字空間,使用專用的創(chuàng)建接口。
3.6策略管理
策略用來對(duì)數(shù)據(jù)分類。在數(shù)據(jù)變化、被訪問時(shí),不同類型的數(shù)據(jù)觸發(fā)不同的動(dòng)作。策略的目的是,降低管理成本,自動(dòng)化。比如可執(zhí)行的策略有:
副本類型、數(shù)量、副本數(shù)、存放位置
執(zhí)行壓縮、重復(fù)數(shù)據(jù)刪除策略
文件鎖定、自動(dòng)清理,在多久時(shí)間內(nèi)鎖定文件、多長(zhǎng)時(shí)間后自動(dòng)刪除等
通過數(shù)據(jù)分類和策略執(zhí)行,不同應(yīng)用之間,甚至相同應(yīng)用的不同數(shù)據(jù)、不同時(shí)間,都可以執(zhí)行更合適策略。
3.7副本機(jī)制
副本用來容災(zāi),提高可用性、內(nèi)容分發(fā)、提高讀性能(就近)。副本分為兩類:本地的同步副本,遠(yuǎn)程的異步副本,當(dāng)然也可以在遠(yuǎn)程使用同步副本,但是訪問延遲很大,因此通常不使用此方式
GeoParity機(jī)制,借鑒通訊領(lǐng)域中的Erasure Coding機(jī)制。
編 碼階段,將文件劃分成m塊數(shù)據(jù)和K塊編碼信息,存放在系統(tǒng)中不同的機(jī)柜、不同的Node、不同的site;采用名為Cauchy Reed-Solomon的算法,需要額外的33%存儲(chǔ)空間(對(duì)比:RAID1需要額外100%的空間占用,RAID5 需要25%的空間占用)
解碼階段,只需要獲取m+k的一個(gè)子集,即可恢復(fù)完整文件,同時(shí)用MD5值來驗(yàn)證數(shù)據(jù)正確性
需要注意的是,在編碼和解碼階段可能會(huì)產(chǎn)生額外的開銷。適合保存長(zhǎng)久不用的歸檔數(shù)據(jù),只是增加了寫入時(shí)一次的開銷。
3.8擴(kuò)展性
無縫擴(kuò)展。在Site內(nèi)部增加機(jī)柜、node、磁盤數(shù)量,無需任何配置;也可增加新的Site,但需要保證能夠與已有site的MDS建立相應(yīng)的對(duì)稱結(jié)構(gòu)(即需要有足夠的Node存在)。
3.9容災(zāi)
每個(gè)Node內(nèi)部所有的服務(wù)器都是冗余的,部分故障發(fā)生,系統(tǒng)仍然可以正行服務(wù);系統(tǒng)內(nèi)部對(duì)故障的服務(wù)會(huì)不斷重試,其恢復(fù)后能立即對(duì)外服務(wù)。
系統(tǒng)級(jí)的數(shù)據(jù)副本保證,在發(fā)生硬件故障時(shí),數(shù)據(jù)始終是可用的。
后記
云似乎是現(xiàn)代企業(yè)信息存儲(chǔ)的救命稻草,但發(fā)展尚需時(shí)日,目前的服務(wù)狀況無法令人滿意。云產(chǎn)業(yè)還在的一步步成長(zhǎng)中,也許對(duì)每個(gè)人來說都是機(jī)會(huì)。
原文鏈接:Emc Atmos 簡(jiǎn)述 (文章出自達(dá)沃時(shí)代專業(yè)博客)