220 likes | 348 Vues
物件檔案系統之研究. 物件式檔案系統的優點. 好的擴展性 (Scalability) 以抽像的物件為存取單位解決傳統以 Block 為單位儲存 sharing data 的問題 以 attribute 描述資料本身,讓更多的裝置功能得以發揮 Intelligence 物件具備一定程度的自我描述能力,讓管理資料的功能更容易 透過 timestamps attribute 做物件自動備份. 物件式檔案系統的優點 cont. 更 security 的資料儲存 提供 per object security 機制. Client. MDS. OSD. OSD 1.
E N D
物件式檔案系統的優點 • 好的擴展性(Scalability) • 以抽像的物件為存取單位解決傳統以Block為單位儲存sharing data的問題 • 以attribute描述資料本身,讓更多的裝置功能得以發揮 • Intelligence • 物件具備一定程度的自我描述能力,讓管理資料的功能更容易 • 透過timestamps attribute做物件自動備份
物件式檔案系統的優點 cont. • 更security的資料儲存 • 提供per object security 機制
Client MDS OSD OSD 1 OSD 2 OSD 3 物件儲存系統架構 • 儲存系統主要的物件使用單元 • 物件操作介面(物件檔案系統) .Application透通 • 對MDS執行 .物件操作許可請求 .物件位置資訊請求 • 對OSD執行 .物件Read/Write/Set attr/…操作 • 以物件為單位的儲存裝置 • 提供Client、MDS 物件操介面 .物件資料操作 .物件屬性操作 • 提供MDS的對裝置的管理介面 .安全性控管(set security key) • 平面式的物件儲存layout Network • 儲存系統的管理單元 • 提供File <-> Object mapping 服務 • 提供directory 服務 • 提供per object 安全性存取控制 • 對OSD執行安全性管理
MDS OSD 1 OSD 3 物件儲存系統架構 cont. Client • Metadata 存取介面 • 尚未有明確標準 • 目前使用自訂protocol .MDS Service API • Object存取介面 • 介面規格: T10 OSD-2 draft Network OSD OSD 2 • security管理介面 • 尚末有明確的介面標準 • 目前使用自訂的protocol
MDS Functions Overview • Virtual Partition - File – Object mapping - namespace 維護 - 動態增長空間技術 MDS • Metadata 儲存 &管理 - Metadata store - Metadata service • Security 管理 - 發送 Capability - per object security • Cache 管理 - 加快 metadata 儲 取速度
MDS Functions Overview cont. • MDS的主要功能 • 管理及儲放File/Directory metadata • File/Directory namespace 維護 • Capability-based security 機制 (per object) • Virtual Partition技術
Virtual Partition 概念 Client MDS OSD Client AP view MDS view OSD 1 Volume = 0.5 T Virtual Partition / OSD 2 Volume = 0.5 T tmp/ var/ xxx/ 一個size=1T的檔案 0.25 T a.txt OSD 3 0.25 T Volume = 0.5 T 0.25 T OSD 1 a.txt 內容 Volume = 0.5 T 0.25 T
Virtual Partition 概念 cont. • 1對多的檔案對物件mapping關係,且物件儲存在一個以上的OSD • 優點 • 打破檔案最大Size的限制 • 打破 File size > OSD size 的限制 • Stripping • Load balance • …
Metadata Service API (Protocol) Client MDS Win32 Metadata Service API Linux Embedded system • File/Directory Metadata 服務 • Virtual Partition 服務 • Capability 發送
Metadata Service API (Protocol) cont. • 提供存取MDS服務的介面 • 特色 • Format簡單容易解釋,可適應在各種PC-based以外的小型裝置。 • Overhead 少,速度快 binary-based format Ex . Write metadata PUT TYPE MID DATA 根據不同TYPE有不同解釋,一般情況 Data len + Data (N BYTE) 命令名稱(1 BYTE) 參數 TYPE (1 BYTE): File / Dir … MID (4 BYTE) :Metadata ID
Metadata Service API (Protocol) cont. • 目前規劃的Protocol
OSD Functions Overview • Smart function 機制 - 對object pro/post處理 - Intelligence • Object 儲存 & 管理 - object data - object attribute OSD • Data allocation - attribute儲存的placement - data儲存的placement • Cache 管理 - 加快object 的存取 速度
OSD Functions Overview cont. • OSD的主要功能 • 管理及儲存object data & object attribute • Per object security • 特殊功能 • Smart function 機制
Smart function 概念 • Object attribute記錄了object的性質 • 透過attribute的內容可認知Object的特性 • 對特殊性質的物件在存取時給予特殊的處理 • ex. 純文字內容的物件,讀取前解壓縮,在寫入後壓縮以節省空間 • ex. 對特別重要的物件,執行自動備份功能 • ex. 對於多媒體檔,儲存時使用連續空間配置
OSD Smart function 機制 • 提供OSD於運轉狀態中插入smart function的機制 • root object的smart function attribute page記錄OSD支援的smart function Smart function server Get smart function OSD Manager hint smart function binary file Set smart function attribute page
Smart function 機制 cont. • Trigger smart function • 由OSD系統程式中插入數個Check point • Check point 檢查user object的attribute決定是否trigger smart function OSD 軟體架構圖
OSD Client運作轉模型 MDS Client OSD User/AP User Space OSDFS MDS Tools Metadata Service API Virtual partition操作 Metadata/Security 操作 Object 操作 T10 OSD-2 Command
Client運作轉模型 cont. • Client 端主要使用OSDFS連結物件儲存系統 • Userspace 實作 (FUSE) • 應用程式透通 • Client 端使用mount的方式掛載MDS提供的Virtual Partition • 使用Metadata service API 取回superblock • MDS提供Client一組便利操作Virtual Partition的公共程式 • mds_showvp 、mds_mount、mds_unmount
Userspace OSD File system OSDFS Message Queue Application File I/O System call User Space Character device file Kernel Space Character device driver VFS Pass參數 Ext2 FUSE Pass執行結果
目前狀況 • OSD端以Intel iSCSI/OSD open source project為藍本修改。 • 支援per object security 機制 • 加入smart function機制 • 加入cache 機制 • MDS端採完全自行開發 • 提供Virtual Partition service • 提供Directory service • 支援per object security機制 • 提供Metadata service API及MDS公用程式
目前狀況 cont. • Client 大部份自行開發,儘iSCSI部份使用Intel iSCSI/OSD專案開發的iSCSI軟體模組。