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