《lustre文件系統(tǒng)簡介.ppt》由會員分享,可在線閱讀,更多相關(guān)《lustre文件系統(tǒng)簡介.ppt(19頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、Lustre文件系統(tǒng)簡介,分布式文件系統(tǒng)主要分為三大類: 網(wǎng)絡(luò)文件系統(tǒng)(瓶頸在存儲服務(wù)器端) NFS、Coda、Sprite LFS 存儲區(qū)域網(wǎng)文件系統(tǒng)(瓶頸在元數(shù)據(jù)服務(wù)器) GPFS 基于對象的分布式文件系統(tǒng) Lustre、Google File System和 HDFS,什么是Lustre,基于對象存儲的分布式文件系統(tǒng) 基于廉價的SATA磁盤驅(qū)動器構(gòu)建超大規(guī)模存儲集群,不需要專門的硬件支持 支持大多數(shù)高速網(wǎng)絡(luò)類型 高吞吐量、高擴(kuò)展性和高性能 有效的數(shù)據(jù)管理機(jī)制、全局?jǐn)?shù)據(jù)共享、失效替代和系統(tǒng)可快速配置等功能,Lustre文件系統(tǒng)體系結(jié)構(gòu),元數(shù)據(jù)服務(wù)器 MDS(Meta Data Server
2、) 對象存儲服務(wù)器 OSS(Object Storage Server) 客戶端(Client) 元數(shù)據(jù)目標(biāo)設(shè)備MDT(Meta Data Target) 對象存儲目標(biāo)設(shè)備 OST(Object storage Target) 連接這些組件的高速網(wǎng)絡(luò),,,元數(shù)據(jù)服務(wù)器MDS,負(fù)責(zé)元數(shù)據(jù)服務(wù),同時管理整個文件系統(tǒng)的命名空間 多個MDS之間共享訪問一個MDT 每個MDT保存文件元數(shù)據(jù)對象,例如文件名稱、目錄結(jié)構(gòu)和訪問權(quán)限等 Client通過MDS讀取到保存于 MDT 上的元數(shù)據(jù),OSS 和Client,OSS負(fù)責(zé)客戶端和物理存儲之間的交互及數(shù)據(jù)的存儲 ,向外提供數(shù)據(jù)的 I/O接口 每個OSS管理一
3、個或者多個OST,存儲文件數(shù)據(jù)對象 Client通過OSS訪問保存在OST上的文件數(shù)據(jù) Client掛載了Lustre文件系統(tǒng)的任意節(jié)點,實現(xiàn)了可移植POSIX文件系統(tǒng)接口 用戶通過client可以透明的訪問整個文件系統(tǒng)的數(shù)據(jù),,客戶端與MDS之間進(jìn)行元數(shù)據(jù)的交互、目錄管理、文件的打開和關(guān)閉、并發(fā)訪問控制等。,客戶端與OSS之間進(jìn)行文件數(shù)據(jù)的交互,包括文件I/O鎖操作和數(shù)據(jù)的讀寫等。,Lustre文件系統(tǒng)邏輯結(jié)構(gòu),LNET責(zé)將這些信息送到實際的網(wǎng)絡(luò)傳輸線路中 PTR-RPC負(fù)責(zé)處理三部分之間的RPC請求與應(yīng)答 MDS模塊將客戶端請求進(jìn)行分發(fā) 元數(shù)據(jù)請求交由日志模塊Journal處理,記錄元數(shù)據(jù)
4、操作日志 將元數(shù)據(jù)操作由Fsfilt wrapper模塊記錄在后端存儲端 鎖請求交由Ldlm處理,獲得文件的意圖鎖 Fsflit定義了一個一般性API,從而將Lustre特有的請求翻譯為后端文件系統(tǒng)特有的請求,Lustre文件系統(tǒng)邏輯結(jié)構(gòu),OST模塊主要將來自客戶端的請求進(jìn)行分發(fā),其中的數(shù)據(jù)請求交給OBDfilter模塊處理; OBDfilter模塊主要實現(xiàn)Lustre和其運行平臺的高效通信,結(jié)合ldiskfs可以提供應(yīng)用層一般的文件操作接口 ldiskfs是Linux ext3和ext4文件系統(tǒng)的超集,用在服務(wù)器端,作為底層的本地文件系統(tǒng) 鎖請求交由分布式鎖管理器Ldlm處理,獲得文件的范圍
5、鎖,Lustre文件系統(tǒng)邏輯結(jié)構(gòu),客戶端節(jié)點的Llite模塊主要提供與支持標(biāo)準(zhǔn)可移植POSIX語法的linux的VFS層相兼容的接口; 邏輯對象卷LOV模塊主要通過其下層的對象存儲客戶端OSC為Llite提供對象存儲的API接口; 元數(shù)據(jù)客戶端MDC模塊主要被Llite用來與元數(shù)據(jù)服務(wù)器進(jìn)行通信,為用戶提供與各個元數(shù)據(jù)服務(wù)器進(jìn)行命名空間操作交互的元數(shù)據(jù)對象API接口; OSC模塊主要用來與對象存儲設(shè)備進(jìn)行文件數(shù)據(jù)I/O以及鎖服務(wù)的交互,每一個OSC都對應(yīng)一個OST,Lustre的分布式鎖管理者(LDLM),意圖鎖:用于文件元數(shù)據(jù)的訪問,通過執(zhí)行鎖的意圖減少元數(shù)據(jù)訪問所需的消息傳遞次數(shù),從而減少
6、每次操作的延遲 范圍鎖:保護(hù)細(xì)粒度的文件數(shù)據(jù)并發(fā)訪問,為所有用戶提供一致性的文件系視圖,Lustre客戶端緩存機(jī)制,Lustre在客戶端的內(nèi)存空間開辟一段緩存區(qū),客戶端把首次訪問的文件對象保存在自己的高速緩存中,盡量減少與服務(wù)器的交互次數(shù),從而降低網(wǎng)絡(luò)開銷。 客戶端執(zhí)行文件讀取操作時 1.向MDS發(fā)送元數(shù)據(jù)請求,獲得元數(shù)據(jù)信息,并保存到客戶端本地的高速緩存中; 2.客戶端與相應(yīng)的OST建立連接,將實際的文件數(shù)據(jù)讀入高速緩存,應(yīng)用程序再從高速緩存中執(zhí)行文件讀取操作。,,,Lustre客戶端緩存一致性問題,,一致性問題解決方法,并發(fā)寫造成的不一致: 采用分布式鎖管理機(jī)制LDLM,通過對元數(shù)據(jù)加意圖
7、鎖,對數(shù)據(jù)加范圍鎖,保證元數(shù)據(jù)并發(fā)操作的一致性 對長期占有鎖資源的進(jìn)程,采用鎖回調(diào)callback機(jī)制釋放鎖資源 讀寫讀造成的不一致: 客戶端對本地已經(jīng)緩存過的文件進(jìn)行再次訪問時,仍需要與MDS進(jìn)行一次交互獲得最新的元數(shù)據(jù)信息,之后再和本地緩存的元數(shù)據(jù)信息進(jìn)行比對 如果一致就從本地緩存中讀取文件數(shù)據(jù),否則就與相應(yīng)的OST建立連接重新獲取文件數(shù)據(jù),備份服務(wù)器Failover,Lustre系統(tǒng)中的每個節(jié)點(MDS/OST)一般都可以配置備份服務(wù)器 兩個服務(wù)器采用共享磁盤存儲的方式來存放數(shù)據(jù) 當(dāng)服務(wù)器或網(wǎng)絡(luò)連接發(fā)生失效時,就會導(dǎo)致客戶端數(shù)據(jù)訪問超時,客戶端會查詢備份服務(wù)器的數(shù)據(jù) 得到信息后,立即將后續(xù)的請求重定向到備份服務(wù)器,,高能所的 Lustre 部署有四個特點: (1) 元數(shù)據(jù)服務(wù)器 MDS 分為主從,但是無法在線備份和容錯; (2) 采用萬兆以太網(wǎng); (3) 沒有采用分片存儲,一個文件僅存儲在一個 OST 上; (4) 存儲設(shè)備采用廉價的SATA 盤,通過 RAID6 實現(xiàn)數(shù)據(jù)可靠性。,謝謝!,