1. 程式人生 > >物件儲存(Object-based Storage)概述

物件儲存(Object-based Storage)概述

什麼是物件儲存?多次在不同場合被問起這個問題,於是就想寫篇小綜述文章。網上查詢資料時,找到幾篇不錯的資料,簡單整理一下,供自己和大家參考。

什麼是物件儲存(OSD)?
儲存區域網(SAN)和網路附加儲存(NAS)是目前兩種主流網路儲存架構,而物件儲存(Object-based Storage)是一種新的網路儲存架構,基於物件儲存技術的裝置就是物件儲存裝置(Object-based Storage Device)簡稱OSD1999年成立的全球網路儲存工業協會(SNIA)的物件儲存裝置(Object Storage Device)工作組釋出了ANSI的X3T10標準。總體上來講,物件儲存(Object-Based Storage, OBS)綜合了NAS和SAN的優點,同時具有SAN的高速直接訪問和NAS的分散式資料共享等優勢,提供了具有高效能、高可靠性、跨平臺以及安全的資料共享的儲存體系結構。

SAN儲存架構

採用SCSI 塊I/O的命令集,通過在磁碟或FC(Fiber Channel)級的資料訪問提供高效能的隨機I/O和資料吞吐率,它具有高頻寬、低延遲的優勢,在高效能運算中佔有一席之地,如SGI的CXFS檔案系統就是基於SAN實現高效能檔案儲存的,但是由於SAN系統的價格較高,且可擴充套件性較差,已不能滿足成千上萬個CPU規模的系統。 
 
NAS儲存架構
它採用NFS或CIFS命令集訪問資料,以檔案為傳輸協議,通過TCP/IP實現網路化儲存,可擴充套件性好、價格便宜、使用者易管理,如目前在叢集計算中應用較多的NFS檔案系統,但由於NAS的協議開銷高、頻寬低、延遲大,不利於在高效能叢集中應用。
物件儲存架構
核心是將資料通路(資料讀或寫)和控制通路(元資料)分離,並且基於物件儲存裝置(Object-based Storage Device,OSD)構建儲存系統,每個物件儲存裝置具有一定的智慧,能夠自動管理其上的資料分佈。物件儲存結構由物件、物件儲存裝置、元資料伺服器、物件儲存系統的客戶端四部分組成。
物件儲存架構 1、物件 物件是系統中資料儲存的基本單位,每個Object是資料和資料屬性集的綜合體,資料屬性可以根據應用的需求進行設定,包括資料分佈、服務質量等。在傳統的儲存系統中用檔案或塊作為基本的儲存單位,塊裝置要記錄每個儲存資料塊在裝置上的位置。Object維護自己的屬性,從而簡化了儲存系統的管理任務,增加了靈活性。Object的大小可以不同,可以包含整個資料結構,如檔案、資料庫表項等。在儲存裝置中,所有物件都有一個物件標識,通過物件標識OSD命令訪問該物件。通常有多種型別的物件,儲存裝置上的根物件標識儲存裝置和該裝置的各種屬性,組物件是儲存裝置上共享資源管理策略的物件集合等。

傳統塊儲存與物件儲存
物件的組成

傳統的訪問層次和虛擬資料訪問模型
2、物件儲存裝置 每個OSD都是一個智慧裝置,具有自己的儲存介質、處理器、記憶體以及網路系統等,負責管理本地的Object,是物件儲存系統的核心。OSD同塊裝置的不同不在於儲存介質,而在於兩者提供的訪問介面。OSD的主要功能包括資料儲存和安全訪問。目前國際上通常採用刀片式結構實現物件儲存裝置。OSD提供三個主要功能: (1)資料儲存。OSD管理物件資料,並將它們放置在標準的磁碟系統上,OSD不提供塊介面訪問方式,Client請求資料時用物件ID、偏移進行資料讀寫。 (2)智慧分佈。OSD用其自身的CPU和記憶體優化資料分佈,並支援資料的預取。由於OSD可以智慧地支援物件的預取,從而可以優化磁碟的效能。 (3)每個物件元資料的管理。OSD管理儲存在其上物件的元資料,該元資料與傳統的inode元資料相似,通常包括物件的資料塊和物件的長度。而在傳統的NAS系統中,這些元資料是由檔案伺服器維護的,物件儲存架構將系統中主要的元資料管理工作由OSD來完成,降低了Client的開銷。

傳統模型 VS OSD模型
3、元資料伺服器(Metadata Server,MDS) MDS控制Client與OSD物件的互動,為客戶端提供元資料,主要是檔案的邏輯檢視,包括檔案與目錄的組織關係、每個檔案所對應的OSD等。主要提供以下幾個功能:
(1)物件儲存訪問。MDS構造、管理描述每個檔案分佈的檢視,允許Client直接訪問物件。MDS為Client提供訪問該檔案所含物件的能力,OSD在接收到每個請求時將先驗證該能力,然後才可以訪問。 (2)檔案和目錄訪問管理。MDS在儲存系統上構建一個檔案結構,包括限額控制、目錄和檔案的建立和刪除、訪問控制等。 (3)Client Cache一致性。為了提高Client效能,在物件儲存系統設計時通常支援Client方的Cache。由於引入Client方的Cache,帶來了Cache一致性問題,MDS支援基於Client的檔案Cache,當Cache的檔案發生改變時,將通知Client重新整理Cache,從而防止Cache不一致引發的問題。 4、物件儲存系統的客戶端Client 為了有效支援Client支援訪問OSD上的物件,需要在計算節點實現物件儲存系統的Client。現有的應用對資料的訪問大部分都是通過POSIX檔案方式進行的,物件儲存系統提供給使用者的也是標準的POSIX檔案訪問介面。介面具有和通用檔案系統相同的訪問方式,同時為了提高效能,也具有對資料的Cache功能和檔案的條帶功能。同時,檔案系統必須維護不同客戶端上Cache的一致性,保證檔案系統的資料一致。檔案系統讀訪問流程:
1)客戶端應用發出讀請求;
2)檔案系統向元資料伺服器傳送請求,獲取要讀取的資料所在的OSD;
3)然後直接向每個OSD傳送資料讀取請求;
4)OSD得到請求以後,判斷要讀取的Object,並根據此Object要求的認證方式,對客戶端進行認證,如果此客戶端得到授權,則將Object的資料返回給客戶端;
5)檔案系統收到OSD返回的資料以後,讀操作完成。

物件儲存檔案系統的關鍵技術 1、分佈元資料 傳統的儲存結構元資料伺服器通常提供兩個主要功能。 (1)為計算結點提供一個儲存資料的邏輯檢視(Virtual File System,VFS層),檔名列表及目錄結構。 (2)組織物理儲存介質的資料分佈(inode層)。物件儲存結構將儲存資料的邏輯檢視與物理檢視分開,並將負載分佈,避免元資料伺服器引起的瓶頸(如NAS系統)。元資料的VFS部分通常是元資料伺服器的10%的負載,剩下的90%工作(inode部分)是在儲存介質塊的資料物理分佈上完成的。在物件儲存結構,inode工作分佈到每個智慧化的OSD,每個OSD負責管理資料分佈和檢索,這樣90%的元資料管理工作分佈到智慧的儲存裝置,從而提高了系統元資料管理的效能。另外,分佈的元資料管理,在增加更多的OSD到系統中時,可以同時增加元資料的效能和系統儲存容量。 2、併發資料訪問 物件儲存體系結構定義了一個新的、更加智慧化的磁碟介面OSD。OSD是與網路連線的裝置,它自身包含儲存介質,如磁碟或磁帶,並具有足夠的智慧可以管理本地儲存的資料。計算結點直接與OSD通訊,訪問它儲存的資料,由於OSD具有智慧,因此不需要檔案伺服器的介入。如果將檔案系統的資料分佈在多個OSD上,則聚合I/O速率和資料吞吐率將線性增長,對絕大多數Linux叢集應用來說,持續的I/O聚合頻寬和吞吐率對較多數目的計算結點是非常重要的。物件儲存結構提供的效能是目前其它儲存結構難以達到的,如ActiveScale物件儲存檔案系統的頻寬可以達到10GB/s。 物件儲存參考資料: