企業空間 采購商城 存儲論壇
華為全閃存陣列 IBM云計算 Acronis 安克諾斯 安騰普 騰保數據
首頁 > 技術園地 > 正文

什么是對象存儲?OSD架構及原理

2015-03-26 13:29來源:中國存儲網
導讀:什么是對象存儲?本文介紹OSD對象存儲概念及對象存儲系統的架構組成和工作原理,以及對象存儲與SAN和NAS網絡存儲技術的比較。

什么是對象存儲?什么是OSD對象存儲設備?

存儲局域網(SAN)和網絡附加存儲(NAS)是我們比較熟悉的兩種主流網絡存儲架構,而對象存儲(Object-based Storage)是一種新的網絡存儲架構,基于對象存儲技術的設備就是對象存儲設備(Object-based Storage Device)簡稱OSD。

對象存儲的發展歷史:

1999年成立的全球網絡存儲工業協會(SNIA)的對象存儲設備(Object Storage Device)工作組發布了ANSI的X3T10標準。

對象存儲的優點:

總體上來講,對象存儲同兼具SAN高速直接訪問磁盤特點及NAS的分布式共享特點。

SAN(Storage Area Network)結構

采用SCSI 塊I/O的命令集,通過在磁盤或FC(Fiber Channel)級的數據訪問提供高性能的隨機I/O和數據吞吐率,它具有高帶寬、低延遲的優勢,在高性能計算中占有一席之地,如SGI的CXFS文件系統就是基于SAN實現高性能文件存儲的,但是由于SAN系統的價格較高,且可擴展性較差,已不能滿足成千上萬個CPU規模的系統。

NAS(Network Attached Storage)結構

它采用NFS或CIFS命令集訪問數據,以文件為傳輸協議,通過TCP/IP實現網絡化存儲,可擴展性好、價格便宜、用戶易管理,如目前在集群計算中應用較多的NFS文件系統,但由于NAS的協議開銷高、帶寬低、延遲大,不利于在高性能集群中應用。

對象存儲結構

核心是將數據通路(數據讀或寫)和控制通路(元數據)分離,并且基于對象存儲設備(Object-based Storage Device,OSD)構建存儲系統,每個對象存儲設備具有一定的智能,能夠自動管理其上的數據分布。

對象存儲與傳統網絡存儲的區別

對象存儲在很多重要方面與SAN和NAS迥然不同,對存儲管理員而言最顯著的區別在于對象存儲沒有LUNs,卷以及RAID等要素。對象數據不是存儲在固定的塊,而是在大小可變的“容器”里。鑒于元數據(metadata)和數據本身可通過傳統數據訪問方法進行訪問,對象存儲允許數據被直接訪問。此外,支持對象級和命令級的安全策略設置。

對象存儲結構組成部分(對象、對象存儲設備、元數據服務器、對象存儲系統的客戶端):

什么是對象存儲?OSD架構及原理
對象存儲架構

1、對象

對象是系統中數據存儲的基本單位,一個對象實際上就是文件的數據和一組屬性信息(Meta Data)的組合,這些屬性信息可以定義基于文件的RAID參數、數據分布和服務質量等,而傳統的存儲系統中用文件或塊作為基本的存儲單位,在塊存儲系統中還需要始終追蹤系統中每個塊的屬性,對象通過與存儲系統通信維護自己的屬性。在存儲設備中,所有對象都有一個對象標識,通過對象標識OSD命令訪問該對象。通常有多種類型的對象,存儲設備上的根對象標識存儲設備和該設備的各種屬性,組對象是存儲設備上共享資源管理策略的對象集合等。

什么是對象存儲?OSD架構及原理
對象的層次關系理解(圖片來源SNIA)

什么是對象存儲?OSD架構及原理

對象的組成(圖形來源Oracle)

2、對象存儲設備

對象存儲設備具有一定的智能,它有自己的CPU、內存、網絡和磁盤系統,OSD同塊設備的不同不在于存儲介質,而在于兩者提供的訪問接口。OSD的主要功能包括數據存儲和安全訪問。目前國際上通常采用刀片式結構實現對象存儲設備。OSD提供三個主要功能:

(1) 數據存儲。OSD管理對象數據,并將它們放置在標準的磁盤系統上,OSD不提供塊接口訪問方式,Client請求數據時用對象ID、偏移進行數據讀寫。

(2) 智能分布。OSD用其自身的CPU和內存優化數據分布,并支持數據的預取。由于OSD可以智能地支持對象的預取,從而可以優化磁盤的性能。

(3) 每個對象元數據的管理。OSD管理存儲在其上對象的元數據,該元數據與傳統的inode元數據相似,通常包括對象的數據塊和對象的長度。而在傳統的NAS系統中,這些元數據是由文件服務器維護的,對象存儲架構將系統中主要的元數據管理工作由OSD來完成,降低了Client的開銷。 

3、元數據服務器(Metadata Server,MDS)

MDS控制Client與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文件系統接口,允許應用程序像執行標準的文件系統操作一樣。

對象存儲文件系統的關鍵技術

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。

各廠商的對象存儲產品

當前的對象存儲解決方案從即用型的云服務,軟硬件捆綁或純軟件的應用交付,直到完全的融合型陣列。有些實現試圖擁抱并包容傳統存儲架構,而另一些則是純粹的專門設計。

惠普 從Helion公有云開始,惠普提供了全系列的對象存儲產品。對于內部和私有云環境,惠普的StoreAll 820存儲網關應用可作為前端搭載StoreServe 7000型或10000型陣列,也就是3PAR陣列。StoreAll 8800則是基于3PAR的一個完全的融合性陣列,在同一設備里支持SAN,NAS和對象存儲。因此,惠普的產品針對了每種類型和大小的客戶,從小型到中小型(SMBs)再到最大的企業集團。 當前的對象存儲產品從即用型的云服務,軟硬件捆綁或純軟件的應用交付,直到完全的融合型陣列。

Exablox 新興對象存儲廠商Exablox的第一個產品是OneBlox應用,其架構是一群對等節點組成的“環”,待存儲對象通過支持SMB/CIFS的通用文件系統在這些節點上被存儲。有一點值得注意,OneBlox應用可以支持任何SAS或SATA硬盤驅動器,即使是剛剛發行的最新款—如西數的HGST Ultrastar He66TB充氦型硬盤。IT企業可以從它們喜愛的電子設備商采購硬盤,因而避免了常見的陣列加價。Exablox針對中小型企業和云服務提供商,目前已有2000用戶。

EMC EMC提供多種對象存儲產品。Atmos可以以云服務的形式交付,稱為Atmos Geo Drive,但也可以作為完全的陣列形式交付。EMC的SourceOne歸檔應用則通過采用CIFS和NFS協議將文件接口轉換為Atmos對象存儲,從而提供歸檔,合規和電子發現功能。此外,EMC的ViPR軟件定義存儲平臺提供對象服務,作為EMC Isilon,VNX,或NetApp陣列的前端,可允許對象訪問到達后端數據層。

昆騰 昆騰Lattus對象存儲應用的配置可以從6節點擴展到20節點,這些節點在地理上分散以使得廣域接入和協作成為可能。Lattus有三種模式:D,X和M模式。D模式支持原生的S3接口(HTTP Rest);X模式支持NFS,CIFS和HTTPREST協議;M模式則支持昆騰的StorNext存儲管理接口。Lattus是業務無中斷,自修復和自遷移的系統,主要面向大中型企業,尤其是媒體和娛樂行業,或者那些需要進行計算/處理/編輯的應用場景。

應用優勢

特別是在歸檔和非結構化數據存儲方面。對象存儲可以提供更低的每GB價格,而最大的優點則是簡化了存儲管理。按照通常所認為的那樣,如果存儲管理的成本占據了總擁有成本的85%,那么對象存儲系統由于無需配置,重新配置和部署任務,必將極大地影響總擁有成本。

那么現在阿里云/騰訊云/華為等都推出了云對象存儲,這些云對象存儲產品與以上的傳統IT廠商的對象存儲設備在交付形式上是很大不同,但是基本原理不變的,我們只要了解對象存儲的概念就好。可見文章:深度體驗華為云對象存儲服務

另外推薦參考文檔:

Oracle:Object-Based Storage Devices

SNIA:OSD系統架構 英文

IBM:Linux 對象存儲文件系統的研究

推薦文章:

對象存儲的興起及發展之路(客觀的講了對象存儲的優勢及不足,以及適用場景)

三種存儲類型比較-文件、塊、對象存儲

什么是對象存儲?

首先我們來看一看什么是對象存儲?目前,獨立的存儲形態有三種:塊存儲、文件存儲,以及新出現的對象存儲。

塊存儲我們簡單的理解就是一塊一塊的硬盤,直接掛載在主機上,在主機上我們能夠看到的就是一塊塊的硬盤以及硬盤分區。從存儲架構的角度而言,塊存儲又分為DAS存儲(Direct-Attached Storage,直連式存儲)和SAN存儲(Storage Area Network,存儲區域網絡)。

文件存儲,我們指的是在文件系統上的存儲,也就是主機操作系統中的文件系統。我們知道,文件系統中有分區,有文件夾,子文件夾,形成一個自上而下的文件結構;文件系統下的文件,用戶可以通過操作系統中的應用程序進行打開、修改等操作,如打開word、編輯word。從架構上來說,文件存儲提供一種NAS(Network Attached Storage,網絡附屬存儲)架構,使得主機的文件系統不僅限于本地的文件系統,還可以連接基于局域網的共享文件系統。

而新的對象存儲是面向對象/文件的、海量的互聯網存儲,它也可以直接被稱為“云存儲”。對象盡管是文件,它是已被封裝的文件(編程中的對象就有封裝性的特點),也就是說,在對象存儲系統里,你不能直接打開/修改文件,但可以像ftp一樣上傳文件,下載文件等。另外對象存儲沒有像文件系統那樣有一個很多層級的文件結構,而是只有一個“桶”的概念(也就是存儲空間),“桶”里面全部都是對象,是一種非常扁平化的存儲方式。其最大的特點就是它的對象名稱就是一個域名地址,一旦對象被設置為“公開”,所有網民都可以訪問到它;它的擁有者還可以通過REST API的方式訪問其中的對象。因此,對象存儲最主流的使用場景,就是存儲網站、移動app等互聯網/移動互聯網應用的靜態內容(視頻、圖片、文件、軟件安裝包等等)。

以下是對三種存儲形態和存儲架構的示意圖。

什么是對象存儲?OSD架構及原理

 

繼續閱讀
相關閱讀
產品推薦
頭條閱讀
欄目熱點

Copyright @ 2006-2019 ChinaStor.COM 版權所有 京ICP備14047533號

中國存儲網

存儲第一站,存儲門戶,存儲在線交流平臺

广西11选五走势图彩经网