ceph學習筆記之二RADOS

Ceph學習筆記之二RADOSnode

1、RADOS架構後端

在RADOS架構中主要包含2個部分組件:bash

1MONMonitor架構

由少許的Monitor節點構成的強耦合,小規模集羣;負責管理Cluster Map。分佈式

2OSDObject Storage Deviceide

由數量可變的 大規模磁盤設備組成的集羣,負責存儲全部Object數據。性能

2、Monitor詳解學習

在前面已經簡單對其MON進行描述,在這個地方咱們再次對MON進行詳細解讀。正如其名Monitor是負責監視整個集羣運行狀態的,這些信息都是由維護集羣成員的守護進程來提供的,如各節點之間的狀態、集羣配置等信息。Ceph Monitor Map包括:OSD Map、PG Map、MDS Map和CRUSH等,這些Map統稱爲集羣Map。spa

1Monitor Map 線程

包括有關Monitor節點端到端的信息,其中包括Ceph集羣ID,Monitor主機名和IP地址、端口號,以及版本信息、更改信息。經過下面命令查看Monitor Map信息:

# ceph mon dump

clip_p_w_picpath002

2OSD Map

包括集羣ID 、OSD Map版本信息、更改信息;以及Pool相關信息,如:Pool名稱、PoolID、類型、副本數、PGP;同時還有OSD信息,如OSD數量、狀態、OSD權重、最近清潔間隔和OSD主機信息,可經過下面命令查看OSD Map信息:

# ceph osd dump

3PG Map

包括PG版本、時間戳、最新OSD Map版本信息、空間使用比例、以及沾滿比例;同時包含每一個PG ID、對象數目、狀態、OSD狀態等信息;使用下面命令查看PG Map信息:

# ceph pg dump

4CRUSH Map

包含集羣存儲設備信息,故障域層次結構和存儲數據時定義失敗域、規則信息,能夠經過如下命令查看:

# ceph osd crush dump

Monitor對資源的需求

  Ceph Monitor是個輕量化的守護進程,在常規狀況下不須要太多的系統資源;入門級CPU、千兆網卡便可知足大部分場景;同時Monitor節點須要有足夠的磁盤空間來存儲集羣日誌,一個健康的集羣產生幾MB到幾GB的日誌;然而若是集羣不正常、存儲需求增長、打開低等級的日誌信息的話,將會產生大量的日誌,增長磁盤空間存儲日誌信息。

Monitor節點設計

一個典型的Ceph集羣包含多個Monitor節點,一個多Monitor節點Ceph架構經過肯定的Monitor節點數來選擇Leader,在Ceph集羣中有多個Monitor節點時,Monitor節點數應爲奇數,最低的要求是至少有一個Monitor節點,一般在設計Monitor節點數量推薦值爲3,既爲3個Monitor節點。

3、Ceph OSD詳解

OSD是Ceph存儲集羣最重要的組件,OSD將數據以對象的形式存儲到集羣中每一個節點的物理磁盤上。

Ceph集羣通常都包含多個OSD,對於任何讀寫操做請求,Client端從CephMonitor獲取ClusterMap以後,Client將直接與OSD進行I/O操做交互,使得數據讀寫過程更爲迅速。

1OSD副本特性介紹

   Ceph核心功能特性包括高可靠、自動平衡、自動恢復和一致性。對於Ceph OSD而言,基於配置的副本數,Ceph提供經過分佈在多節點上的副原本實現,使得Ceph具備高可用性及容錯性。OSD中的每一個對象都有一個主副本,若干個從副本。這些副本默認狀況下是分佈在不一樣節點上的,這就是Ceph做爲分佈式存儲系統的集中體現。每一個OSD均可能是某些對象的主OSD;同時也可能成爲其餘對象的從OSD。從OSD受主OSD的控制,在某些狀況下從OSD也會成爲主OSD。例如:在磁盤故障時Ceph OSD Deamon的智能對等機制將協同其餘OSD執行恢復操做,此時存儲對象的從OSD將被提高爲主OSD,同時,新的從副本也將從新生成,這樣就保證了Ceph的可靠和一致。

2Ceph OSD架構及文件系統

  OSD架構實現由物理磁盤驅動器,在其之上的Linux文件系統以及OSD服務組成。Linux文件系統的擴展屬性提供了:對象狀態、快照、元數據內部信息。

Ceph OSD目前支持的文件系統主要有:BTRFS、XFS、EXT4

  • BTRFS

BTRFS文件系統格式的OSD相比XFS和EXT4提供了最好的性能。BTRFS主要優勢:

1 擴展性

BTRFS設計目標是應對大型機器對文件系統的擴展性要求。Extent、B-Tree和動態inode建立等特性保證了BTRFS在大型機器上仍有不錯的表現。總體性能不會隨系統容量增長而下降。

2 數據一致性

當系統面臨不可預料的硬件故障時,BTRFS採用COW事物技術保證文件系統的一致性。BTRFS還支持校驗和、避免了未知的錯誤出現,傳統的文件系統沒法作到。

3 多設備管理

BTRFS支持建立快照和克隆。BTRFS還能管理多個物理設備。

  BTRFS結合Ceph使得BTRFS中的諸多優勢的快照,Journal of Parallel(並行日誌)等優點使BTRFS在表現較爲突出。然而不幸的是目前BTRFS還不能達到生產環境中要求的健壯性。所以不建議在Ceph集羣中使用。

  • XFS

一種高性能的日誌文件系統,XFS特別擅長處理大文件,同時提供平滑的數據傳輸。在CentOS7中已將XFS+LVM做爲默認文件系統。

1 分配組

XFS文件系統內部被分爲多個「分配組」,它們是文件系統的等長線性存儲區。每一個分配組各自管理本身的inode和剩餘空間。文件和文件夾能夠跨越分配組。這種特性爲XFS提供了可伸縮和並行的特性;多個線程和進程能夠同時在同一個文件系統上執行I/O操做。

2 條帶化分配

在條帶化RAID陣列上建立XFS文件系統時,能夠指定一個「條帶數據單元」。這能夠保證數據分配、inode分配,以及內部日誌被對齊到該條帶單元上。以此最大化吞吐。

3 基於Extent的分配方式

XFS文件系統中的文件用到的塊由變長Extent管理,每個Extent描述了一個或多個連續的塊。

4)擴展性

XFS經過實現擴展文件屬性給文件提供了多個數據流,使文件能夠被附加多個名、值對;文件名是一個最大長度爲256字節的,以Null字符結尾的可打印字符串。其關聯值可包含多達64KB的二進制數據。擴展性能夠被添加到任意一種XFS inode上,包含符號鏈接、設備節點和目錄。

缺點:XFS不能很好的處理Ceph寫入過程的Journal問題。

  • EXT4

第4代擴展文件系統,是Linux系統下的日誌文件系統,是EXT3文件系統的後續版本。

1 大型文件系統

EXT4文件系統能夠支持最高1EB的分區與最大16TB的文件

2 Extents

EXT4引進了Extent文件存儲方式,以替換EXT2/3使用的塊映射方式。Extent指的是一連串的連續實體塊,這種方式能夠增長大型文件的效率並減小分裂文件。

3 日誌校驗和

EXT4使用校驗和的特性來提升文件系統的可靠性,由於日誌是磁盤上被讀取最頻繁的部分之一。

4 快速文件系統檢查

EXT4將未使用的區塊標記在inode中,這樣能夠節約大量的文件系統檢測時間。

3Ceph日誌文件系統

在使用了BTRFS和XFS文件系統的OSD中,在提交數據到後端硬件磁盤以前,Ceph首先將數據寫入一個存儲區域,該區域稱爲Journal;Journal能夠用一個單獨的SSD磁盤作Journal,或者使用OSD自身的一個分區;若是要使Ceph獲得較好的性能建議使用獨立的SSD磁盤作Journal日誌。其I/O流程如圖:

clip_p_w_picpath004

Ceph的任何寫操做首先是寫Journal日誌,而後每隔5秒將Journal中的數據刷寫到後端硬件磁盤。

相關文章
相關標籤/搜索