自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

來看一看PB級(jí)分布式存儲(chǔ)Ceph

存儲(chǔ) 存儲(chǔ)軟件 分布式
Ceph 文件系統(tǒng) — 或者至少是客戶端接口 — 在 Linux 內(nèi)核中實(shí)現(xiàn)。值得注意的是,在大多數(shù)文件系統(tǒng)中,所有的控制和智能在內(nèi)核的文件系統(tǒng)源本身中執(zhí)行。但是,在 Ceph 中,文件系統(tǒng)的智能分布在節(jié)點(diǎn)上,這簡化了客戶端接口,并為 Ceph 提供了大規(guī)模(甚至動(dòng)態(tài))擴(kuò)展能力。

最近有朋友問關(guān)于區(qū)塊鏈用于存儲(chǔ)應(yīng)用的話題,其實(shí)一定要清楚存儲(chǔ)和存證的關(guān)系,簡而言之區(qū)塊鏈適合做存儲(chǔ)的存證,并不適合做分布式的存儲(chǔ)用,為了搞清楚這個(gè)問題,今天我們來看看一個(gè)分布式存儲(chǔ)的代表Ceph是什么樣子的,也就說明了區(qū)塊鏈技術(shù)是否適合于作為存儲(chǔ)出現(xiàn)。

Ceph是加州大學(xué)Santa Cruz分校的Sage Weil(DreamHost的聯(lián)合創(chuàng)始人)專為博士論文設(shè)計(jì)的新一代自由軟件分布式文件系統(tǒng)。自2007年畢業(yè)之后,Sage開始全職投入到Ceph開 發(fā)之中,使其能適用于生產(chǎn)環(huán)境。Ceph的主要目標(biāo)是設(shè)計(jì)成基于POSIX的沒有單點(diǎn)故障的分布式文件系統(tǒng),使數(shù)據(jù)能容錯(cuò)和無縫的復(fù)制。

[[221788]]

Ceph設(shè)計(jì)目標(biāo)

開發(fā)一個(gè)分布式文件系統(tǒng)需要多方努力,但是如果能準(zhǔn)確地解決問題,它就是無價(jià)的。Ceph 的目標(biāo)簡單地定義為:

  • 可輕松擴(kuò)展到數(shù) PB 容量
  • 對(duì)多種工作負(fù)載的高性能(每秒輸入/輸出操作[IOPS]和帶寬)
  • 高可靠性

不幸的是,這些目標(biāo)之間會(huì)互相競(jìng)爭(例如,可擴(kuò)展性會(huì)降低或者抑制性能或者影響可靠性)。Ceph 開發(fā)了一些非常有趣的概念(例如,動(dòng)態(tài)元數(shù)據(jù)分區(qū),數(shù)據(jù)分布和復(fù)制),這些概念在本文中只進(jìn)行簡短地探討。Ceph 的設(shè)計(jì)還包括保護(hù)單一點(diǎn)故障的容錯(cuò)功能,它假設(shè)大規(guī)模(PB 級(jí)存儲(chǔ))存儲(chǔ)故障是常見現(xiàn)象而不是例外情況。最后,它的設(shè)計(jì)并沒有假設(shè)某種特殊工作負(fù)載,但是包括適應(yīng)變化的工作負(fù)載,提供最佳性能的能力。它利用 POSIX 的兼容性完成所有這些任務(wù),允許它對(duì)當(dāng)前依賴 POSIX 語義(通過以 Ceph 為目標(biāo)的改進(jìn))的應(yīng)用進(jìn)行透明的部署。最后,Ceph 是開源分布式存儲(chǔ),也是主線 Linux 內(nèi)核(2.6.34)的一部分。

Ceph 架構(gòu)

現(xiàn)在,讓我們探討一下 Ceph 的架構(gòu)以及高端的核心要素。然后我會(huì)拓展到另一層次,說明 Ceph 中一些關(guān)鍵的方面,提供更詳細(xì)的探討。

Ceph 生態(tài)系統(tǒng)可以大致劃分為四部分(見圖 1):客戶端(數(shù)據(jù)用戶),元數(shù)據(jù)服務(wù)器(緩存和同步分布式元數(shù)據(jù)),一個(gè)對(duì)象存儲(chǔ)集群(將數(shù)據(jù)和元數(shù)據(jù)作為對(duì)象存儲(chǔ),執(zhí)行其他關(guān)鍵職能),以及最后的集群監(jiān)視器(執(zhí)行監(jiān)視功能)。

圖 1. Ceph 生態(tài)系統(tǒng)的概念架構(gòu)

如圖 1 所示,客戶使用元數(shù)據(jù)服務(wù)器,執(zhí)行元數(shù)據(jù)操作(來確定數(shù)據(jù)位置)。元數(shù)據(jù)服務(wù)器管理數(shù)據(jù)位置,以及在何處存儲(chǔ)新數(shù)據(jù)。值得注意的是,元數(shù)據(jù)存儲(chǔ)在一個(gè)存儲(chǔ)集群(標(biāo)為 “元數(shù)據(jù) I/O”)。實(shí)際的文件 I/O 發(fā)生在客戶和對(duì)象存儲(chǔ)集群之間。這樣一來,更高層次的 POSIX 功能(例如,打開、關(guān)閉、重命名)就由元數(shù)據(jù)服務(wù)器管理,不過 POSIX 功能(例如讀和寫)則直接由對(duì)象存儲(chǔ)集群管理。

另一個(gè)架構(gòu)視圖由圖 2 提供。一系列服務(wù)器通過一個(gè)客戶界面訪問 Ceph 生態(tài)系統(tǒng),這就明白了元數(shù)據(jù)服務(wù)器和對(duì)象級(jí)存儲(chǔ)器之間的關(guān)系。分布式存儲(chǔ)系統(tǒng)可以在一些層中查看,包括一個(gè)存儲(chǔ)設(shè)備的格式(Extent and B-tree-based Object File System [EBOFS] 或者一個(gè)備選),還有一個(gè)設(shè)計(jì)用于管理數(shù)據(jù)復(fù)制,故障檢測(cè),恢復(fù),以及隨后的數(shù)據(jù)遷移的覆蓋管理層,叫做 Reliable Autonomic Distributed Object Storage(RADOS)。最后,監(jiān)視器用于識(shí)別組件故障,包括隨后的通知。

圖 2. Ceph 生態(tài)系統(tǒng)簡化后的分層視圖

Ceph 組件

了解了 Ceph 的概念架構(gòu)之后,您可以挖掘到另一個(gè)層次,了解在 Ceph 中實(shí)現(xiàn)的主要組件。Ceph 和傳統(tǒng)的文件系統(tǒng)之間的重要差異之一就是,它將智能都用在了生態(tài)環(huán)境而不是文件系統(tǒng)本身。

圖 3 顯示了一個(gè)簡單的 Ceph 生態(tài)系統(tǒng)。Ceph Client 是 Ceph 文件系統(tǒng)的用戶。Ceph Metadata Daemon 提供了元數(shù)據(jù)服務(wù)器,而 Ceph Object Storage Daemon 提供了實(shí)際存儲(chǔ)(對(duì)數(shù)據(jù)和元數(shù)據(jù)兩者)。最后,Ceph Monitor 提供了集群管理。要注意的是,Ceph 客戶,對(duì)象存儲(chǔ)端點(diǎn),元數(shù)據(jù)服務(wù)器(根據(jù)文件系統(tǒng)的容量)可以有許多,而且至少有一對(duì)冗余的監(jiān)視器。那么,這個(gè)文件系統(tǒng)是如何分布的呢?

圖 3. 簡單的 Ceph 生態(tài)系統(tǒng)

Ceph 客戶端

因?yàn)?Linux 顯示文件系統(tǒng)的一個(gè)公共界面(通過虛擬文件系統(tǒng)交換機(jī) [VFS]),Ceph 的用戶透視圖就是透明的。管理員的透視圖肯定是不同的,考慮到很多服務(wù)器會(huì)包含存儲(chǔ)系統(tǒng)這一潛在因素(要查看更多創(chuàng)建 Ceph 集群的信息,見 參考資料 部分)。從用戶的角度看,他們?cè)L問大容量的存儲(chǔ)系統(tǒng),卻不知道下面聚合成一個(gè)大容量的存儲(chǔ)池的元數(shù)據(jù)服務(wù)器,監(jiān)視器,還有獨(dú)立的對(duì)象存儲(chǔ)設(shè)備。用戶只是簡單地看到一個(gè)安裝點(diǎn),在這點(diǎn)上可以執(zhí)行標(biāo)準(zhǔn)文件 I/O。

Ceph 文件系統(tǒng) — 或者至少是客戶端接口 — 在 Linux 內(nèi)核中實(shí)現(xiàn)。值得注意的是,在大多數(shù)文件系統(tǒng)中,所有的控制和智能在內(nèi)核的文件系統(tǒng)源本身中執(zhí)行。但是,在 Ceph 中,文件系統(tǒng)的智能分布在節(jié)點(diǎn)上,這簡化了客戶端接口,并為 Ceph 提供了大規(guī)模(甚至動(dòng)態(tài))擴(kuò)展能力。

Ceph 使用一個(gè)有趣的備選,而不是依賴分配列表(將磁盤上的塊映射到指定文件的元數(shù)據(jù))。Linux 透視圖中的一個(gè)文件會(huì)分配到一個(gè)來自元數(shù)據(jù)服務(wù)器的 inode number(INO),對(duì)于文件這是一個(gè)唯一的標(biāo)識(shí)符。然后文件被推入一些對(duì)象中(根據(jù)文件的大小)。使用 INO 和 object number(ONO),每個(gè)對(duì)象都分配到一個(gè)對(duì)象 ID(OID)。在 OID 上使用一個(gè)簡單的哈希,每個(gè)對(duì)象都被分配到一個(gè)放置組。放置組(標(biāo)識(shí)為 PGID)是一個(gè)對(duì)象的概念容器。最后,放置組到對(duì)象存儲(chǔ)設(shè)備的映射是一個(gè)偽隨機(jī)映射,使用一個(gè)叫做 Controlled Replication Under Scalable Hashing(CRUSH)的算法。這樣一來,放置組(以及副本)到存儲(chǔ)設(shè)備的映射就不用依賴任何元數(shù)據(jù),而是依賴一個(gè)偽隨機(jī)的映射函數(shù)。這種操作是理想的,因?yàn)樗汛鎯?chǔ)的開銷最小化,簡化了分配和數(shù)據(jù)查詢。

分配的最后組件是集群映射。集群映射 是設(shè)備的有效表示,顯示了存儲(chǔ)集群。有了 PGID 和集群映射,您就可以定位任何對(duì)象。

Ceph 元數(shù)據(jù)服務(wù)器

元數(shù)據(jù)服務(wù)器(cmds)的工作就是管理文件系統(tǒng)的名稱空間。雖然元數(shù)據(jù)和數(shù)據(jù)兩者都存儲(chǔ)在對(duì)象存儲(chǔ)集群,但兩者分別管理,支持可擴(kuò)展性。事實(shí)上,元數(shù)據(jù)在一個(gè)元數(shù)據(jù)服務(wù)器集群上被進(jìn)一步拆分,元數(shù)據(jù)服務(wù)器能夠自適應(yīng)地復(fù)制和分配名稱空間,避免出現(xiàn)熱點(diǎn)。如圖 4 所示,元數(shù)據(jù)服務(wù)器管理名稱空間部分,可以(為冗余和性能)進(jìn)行重疊。元數(shù)據(jù)服務(wù)器到名稱空間的映射在 Ceph 中使用動(dòng)態(tài)子樹邏輯分區(qū)執(zhí)行,它允許 Ceph 對(duì)變化的工作負(fù)載進(jìn)行調(diào)整(在元數(shù)據(jù)服務(wù)器之間遷移名稱空間)同時(shí)保留性能的位置。

圖 4. 元數(shù)據(jù)服務(wù)器的 Ceph 名稱空間的分區(qū)

但是因?yàn)槊總€(gè)元數(shù)據(jù)服務(wù)器只是簡單地管理客戶端人口的名稱空間,它的主要應(yīng)用就是一個(gè)智能元數(shù)據(jù)緩存(因?yàn)閷?shí)際的元數(shù)據(jù)最終存儲(chǔ)在對(duì)象存儲(chǔ)集群中)。進(jìn)行寫操作的元數(shù)據(jù)被緩存在一個(gè)短期的日志中,它最終還是被推入物理存儲(chǔ)器中。這個(gè)動(dòng)作允許元數(shù)據(jù)服務(wù)器將最近的元數(shù)據(jù)回饋給客戶(這在元數(shù)據(jù)操作中很常見)。這個(gè)日志對(duì)故障恢復(fù)也很有用:如果元數(shù)據(jù)服務(wù)器發(fā)生故障,它的日志就會(huì)被重放,保證元數(shù)據(jù)安全存儲(chǔ)在磁盤上。

元數(shù)據(jù)服務(wù)器管理 inode 空間,將文件名轉(zhuǎn)變?yōu)樵獢?shù)據(jù)。元數(shù)據(jù)服務(wù)器將文件名轉(zhuǎn)變?yōu)樗饕?jié)點(diǎn),文件大小,和 Ceph 客戶端用于文件 I/O 的分段數(shù)據(jù)。

Ceph 監(jiān)視器

Ceph 包含實(shí)施集群映射管理的監(jiān)視器,但是故障管理的一些要素是在對(duì)象存儲(chǔ)本身中執(zhí)行的。當(dāng)對(duì)象存儲(chǔ)設(shè)備發(fā)生故障或者新設(shè)備添加時(shí),監(jiān)視器就檢測(cè)和維護(hù)一個(gè)有效的集群映射。這個(gè)功能按一種分布的方式執(zhí)行,這種方式中映射升級(jí)可以和當(dāng)前的流量通信。Ceph 使用 Paxos,它是一系列分布式共識(shí)算法。

Ceph 對(duì)象存儲(chǔ)

和傳統(tǒng)的對(duì)象存儲(chǔ)類似,Ceph 存儲(chǔ)節(jié)點(diǎn)不僅包括存儲(chǔ),還包括智能。傳統(tǒng)的驅(qū)動(dòng)是只響應(yīng)來自啟動(dòng)者的命令的簡單目標(biāo)。但是對(duì)象存儲(chǔ)設(shè)備是智能設(shè)備,它能作為目標(biāo)和啟動(dòng)者,支持與其他對(duì)象存儲(chǔ)設(shè)備的通信和合作。

從存儲(chǔ)角度來看,Ceph 對(duì)象存儲(chǔ)設(shè)備執(zhí)行從對(duì)象到塊的映射(在客戶端的文件系統(tǒng)層中常常執(zhí)行的任務(wù))。這個(gè)動(dòng)作允許本地實(shí)體以最佳方式?jīng)Q定怎樣存儲(chǔ)一個(gè)對(duì)象。Ceph 的早期版本在一個(gè)名為 EBOFS 的本地存儲(chǔ)器上實(shí)現(xiàn)一個(gè)自定義低級(jí)文件系統(tǒng)。這個(gè)系統(tǒng)實(shí)現(xiàn)一個(gè)到底層存儲(chǔ)的非標(biāo)準(zhǔn)接口,這個(gè)底層存儲(chǔ)已針對(duì)對(duì)象語義和其他特性(例如對(duì)磁盤提交的異步通知)調(diào)優(yōu)。今天,B-tree 文件系統(tǒng)(BTRFS)可以被用于存儲(chǔ)節(jié)點(diǎn),它已經(jīng)實(shí)現(xiàn)了部分必要功能(例如嵌入式完整性)。

因?yàn)?Ceph 客戶實(shí)現(xiàn) CRUSH,而且對(duì)磁盤上的文件映射塊一無所知,下面的存儲(chǔ)設(shè)備就能安全地管理對(duì)象到塊的映射。這允許存儲(chǔ)節(jié)點(diǎn)復(fù)制數(shù)據(jù)(當(dāng)發(fā)現(xiàn)一個(gè)設(shè)備出現(xiàn)故障時(shí))。分配故障恢復(fù)也允許存儲(chǔ)系統(tǒng)擴(kuò)展,因?yàn)楣收蠙z測(cè)和恢復(fù)跨生態(tài)系統(tǒng)分配。Ceph 稱其為 RADOS(見 圖 3)。

其他分布式文件系統(tǒng)

Ceph 在分布式文件系統(tǒng)空間中并不是唯一的,但它在管理大容量存儲(chǔ)生態(tài)環(huán)境的方法上是獨(dú)一無二的。分布式文件系統(tǒng)的其他例子包括 Google File System(GFS),General Parallel File System(GPFS),還有 Lustre,這只提到了一部分。Ceph 背后的想法為分布式文件系統(tǒng)提供了一個(gè)有趣的未來,因?yàn)楹A考?jí)別存儲(chǔ)導(dǎo)致了海量存儲(chǔ)問題的唯一挑戰(zhàn)。

責(zé)任編輯:武曉燕 來源: 區(qū)塊鏈大師
相關(guān)推薦

2010-01-27 13:54:52

IT電影

2018-01-30 09:07:36

Ceph分布式存儲(chǔ)

2018-11-15 12:35:25

Ceph分布式存儲(chǔ)

2024-03-07 08:22:32

CSS變量代碼

2014-04-02 09:39:15

Ceph分布式文件系統(tǒng)

2022-08-28 09:05:34

分布式存儲(chǔ)Ceph

2019-04-30 09:17:31

Ceph存儲(chǔ)OSD

2016-12-14 13:36:02

華為存儲(chǔ)

2017-12-19 10:37:16

Ceph系統(tǒng)故障

2021-05-28 11:30:39

物聯(lián)網(wǎng)互聯(lián)網(wǎng)IoT

2021-07-04 07:07:06

Ceph分布式存儲(chǔ)架構(gòu)

2020-10-20 09:38:15

分布式存儲(chǔ)Ceph

2018-08-02 08:42:57

分布式存儲(chǔ)Ceph

2021-08-07 05:00:20

存儲(chǔ)系統(tǒng)

2018-10-29 12:42:23

Ceph分布式存儲(chǔ)

2019-11-15 08:46:16

MySQLMVCC表讀鎖

2013-10-16 11:36:08

分布式大數(shù)據(jù)

2020-03-26 14:56:29

運(yùn)營商薪酬員工

2018-05-25 08:56:35

存儲(chǔ)CephVMware

2023-01-03 07:57:27

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)