1. 程式人生 > 實用技巧 >物件儲存(Object-based Storage)

物件儲存(Object-based Storage)

1 前言

經常在網上看到物件儲存文章,但一直沒有一篇文章能讓我明白物件儲存是什麼。最近得到一個機會,老闆希望我們告訴他什麼是物件儲存,為了給老闆做5頁PPT筆者參閱了大量的文獻並整理成文(以下文章僅供當參閱,並非權威之作,如果你覺得有不妥之處,歡迎指正)。
2 物件儲存

2.1 Obeject-based Storage的概念(個人整理,並非權威)

是一種新的儲架構,物件儲存有別於Block與File級別的儲存,他以一個彈性的可自定義的資料物件為基本的儲存單元,基於資料物件的唯一ID索引,並形成虛擬檔案組織結構。結合群集技術將一群伺服器的儲存裝置彙集成儲存池,通過軟體資料可自動在群集中自分佈,儲存容量可達到TB甚至EB以上的規模,物件儲存同時具備高I/O、共享便利、高擴充套件性、高可靠性、高效能等特徵。

2.2 OSD的概念
OSD是Object-based Storage Device的簡稱,即面向物件儲存技術裝置的簡稱,指執行物件儲存技術群集中的基本邏輯單元(通俗指執行物件儲存群集技術軟體的伺服器)
2.3 Object的概念
wKioL1jBaEeTlm8TAAMv6NvEFOs565.png

- Data指使用者要存取資料記錄或稱資料
- MetaData用於定位資料存取的真實位置、歷史資料、資源查詢、檔案記錄等功能
- OID即Object ID是資料物件的唯一標識(相當於人×××ID)
- Attributes資料描述屬性
- Object由Data/OID/Metadat/Attributes組成,是物件儲存定義的最小資料儲存單元

2.4 塊儲存與物件儲存的對比
wKiom1jBaHrBEoxrAAIR3qgGfiA468.png

- 塊儲存最小儲存單元是一個數據塊(Block)而物件儲存基本單元是一個數據物件(Object)
- 塊儲存基於inode尋找唯一的資料塊而物件儲存基於OID尋找唯一的資料物件
- 塊儲存的資料塊與物件儲存的資料塊都是扁平化結構(決定讀寫的I/O)

wKioL1jBaK3j5N2TAANgmU1b4yk177.png

- 塊儲存下塊分資料塊與資料夾塊,資料夾塊通過記錄inode重定位資料塊來組織檔案結構
- 而同理,物件儲存通過GID重新定位資料物件來組織出虛擬檔案結構(即目錄樹)
2.5 Object Type

ANSI T10 SCSI OSD標準定義四個不同的物件:

wKiom1jBaM_SQUcTAAISLrFbDJE652.png

- 根物件,OSD本身
- 使用者物件,由來自於應用程式或客戶端的SCSI命令建立的物件

- 集合物件,一組使用者物件,例如輸入專案的所有.mp3的物件集合或所有物件
- 分割槽物件,由共享安全或空間管理特徵(如配合和祕鑰)的使用者物件和集合容器
2.6 系統架構
wKiom1jBaOnSb-cJAADKLbiPSj8431.png

物件儲存通常分為三個部分:
Metadata Server Cluster– 元資料群集,用於定位存取資料的位置等
Object Storage Cluster– 物件儲存群集,用於儲存資料物件(Object)
Clients – 資料的需求方,到Metadata Server定位據的位置後到Object Storage中存取
2.7 物件儲存的特點
- 高I/O讀寫效能,具有SAN的高速直接訪問磁碟的特點
- 共享便利,具有NAS的分散式共享特點
- 高擴充套件性,使用普通x86伺服器,支援10~1000臺伺服器,支援TB到PB級的擴充套件。
- 高可靠性,沒有單點故障,多資料副本,自動管理,自動修復。
- 高效能,資料分佈均衡,並行化度高。對於objects storage和block storage,不需要元資料伺服器。
3 儲存型別對比分析

3.1 塊儲存
- 專業廠商定製,整個儲存相當於一塊大硬碟(使用者可根據需要格式化成檔案系統使用)
- 以資料塊為最小儲存單元,以inode直接定位資料(決定IO效能)
- 以FC-SAN協議作為通訊介質
- 優點是I/O效能好
- 缺點是可擴充套件性差,資料不便於共享,並且裝置價格高
- scale up的擴充套件方式,單點通過多控制器、多電源實現容錯
- 代表產品:SAN
3.2 檔案儲存
- 相當於共享資料夾(Samba)或NFS,由軟體加伺服器硬體實現
- 以檔案為儲存單元,以目錄結構定位資料(決定IO效能)
- 優點是資料共享便利
- 缺點是傳輸協議開銷大,I/O效能差
- 預設scale up的擴充套件方式,藉助lvs可實現scale out擴充套件方式(儲存自身沒有高可靠效能力)
- 代表產品:NAS
3.3 物件儲存
- 軟體定義儲存的一種型別,由儲存軟體系統加伺服器硬體實現
- 以資料物件為最小儲存單元,通過資料物件ID直接索引資料(決定IO效能)
- 優點是I/O效能好,協議開銷小,共享便利,成本適中
- scale out的擴充套件方式,儲存本身實現高可靠性、高效能、高擴充套件
- 代表產品Redhat Cept與OpenStack Swift
3.4 三種儲存的對照表

型別

儲存單元

傳輸協議

讀寫I/O

協議開銷

共享能力

擴充套件性

可靠性

成本

產品

塊儲存

Block

FC-SAN

SAN

檔案儲存

File

TCP/IP

NAS

物件儲存

Object

SCSI/FC/ATA

Cept/Swift


==============================================
參閱文獻:
https://en.wikipedia.org/wiki/Object_storage
http://www.chinastor.com/a/jishu/OSD.html
https://zhidao.baidu.com/question/681721512143511972.html
http://wenku.baidu.com/view/be724b74f46527d3240ce0a5.html?from=search
https://www.ustack.com/blog/ceph_infra/
http://wenku.baidu.com/link?url=eoa47VQbA9-_rxGLG5o8uNDCWV-DeviAOe0hQCPQSqPLRK62_igE9hCmVwyV51zlzBSqnkuqjgJw0dNh0dQARWlEBv8ug8_RgYUtLC9CoYG
https://www.ustack.com/blog/ceph_infra/
http://www.oracle.com/technetwork/server-storage/solaris/osd-142183.html
http://www.tuicool.com/articles/2yqUZvz

轉載於:https://blog.51cto.com/cmdschool/1904905