Ceph安裝步驟2 ceph儲存池

2021-08-22 08:23:32 字數 2902 閱讀 6156

ceph安裝步驟1完成之後,即可進行該步驟的操作。

本文中以對sas池進行操作為例。

一、建立ceph pool 。

1. 計算每個池所需要的pg數目。

在建立池之前,首先需要計算pg數目(簡單來說,pg就是負責管理物件都儲存在哪些osd上)。計算公式如下:

pg 數目= (osd數目 x 100) / 副本數(如果是糾刪碼池,則除以k與m的和),計算的結果取大於這個值並且最接近的2的冪。(例如,如果計算得到pg數目為600,則設定的pool的pg數目應為1024)。

如果在同樣的一些osd上要建立多個池,則每個池的pg數目需要再除以池的數量。

2.建立pool。

2.1  建立池的命令如下:

ceph osd pool create

其中pgpnumber=pgnumber,pgnumber即為上一步得到的pg數目。

此命令建立的池為副本池,並且預設為三副本池。

2.2  如果想要修改副本數量,比如將三副本改為二副本,則使用以下命令(ceph要求副本數或k+m的和必須小於等於osd數目):

ceph osd pool set sas size 2

2.3  如果想要檢視某乙個池的副本數量,則使用以下命令:

ceph osd pool get sas size

2.4  如果想要建立乙個糾刪碼池,則使用以下命令:

首先建立乙個糾刪碼規則,設定k、m值(此處建立乙個名為abc的規則,k=2,m=1),糾刪碼規則可同時建立多個,

ceph osd erasure-code-profile setabck=2 m=1 runleset-failure-domain=host

然後建立糾刪碼池:

ceph osd pool create sas 256 256 erasureabc

二、刪除池。

在建立池後,由於種種原因,可能需要將池刪掉,刪除池使用以下命令:

ceph osd pool delete sas sas  --yes-i-really-really-mean-it

三、配置crush map。

通過配置crush map,使得pool知道自己可以使用哪些osd。

首先,通過以下命令建立crush map :

ceph osd getcrushmap -o raw_map

crushtool -d raw_map -o decode_map

建立完成後,開啟crush map, crush map中包含以下幾部分內容:

1. 生成crush map時,自動生成的三部分:

(1)tunable

# begin crush map

tunable choose_local_tries 0

tunable choose_local_fallback_tries 0

tunable choose_total_tries 50

tunable chooseleaf_descend_once 1

tunable chooseleaf_vary_r 1

tunable chooseleaf_stable 1

tunable straw_calc_version 1

tunable allowed_bucket_algs 54

(2) device

# devices

device 0 osd.0 class hdd

device 1 osd.1 class hdd

device 2 osd.2 class ssd

device 3 osd.3 class hdd

device 4 osd.4 class hdd

device 5 osd.5 class ssd

device 6 osd.6 class hdd

device 7 osd.7 class hdd

device 8 osd.8 class ssd

(3) type

# types

type 0 osd

type 1 host

type 2 chassis

type 3 rack

type 4 row

type 5 pdu

type 6 pod

type 7 room

type 8 datacenter

type 9 region

type 10 root     

2. 需要手動編輯的部分

(1)host

# buckets

host ceph-admin      

其中,ceph-admin為配置的主機名,每一台主機都需要配置這個部分。

id 為負整數,只需要保證每個id都不同即可。

id -2 class hdd 和id -3 class ssd 表明該host節點包含ssd和hdd兩種硬碟。

alg straw2和hash 0與資料平衡分配有關。

item osd.0 weight 0.019 表明該host節點包含osd.0這一磁碟,並且磁碟容量為0.019t。

(2)root

root sas

root需要包含需要建池的所管理的所有host節點,並且表明節點總容量大小。

(3)rule

# rules

rule sas

至此,crush map配置完成,然後,通過以下命令使crush map的配置生效。

crushtool -c decode_map -o crush_map

ceph osd setcrushmap -i crush_map    

ceph osd pool set sas crush_rule sas

至此,ceph pool配置完成。

ceph儲存系統

ceph is a unified,distributed storage system designed for excellent performance,reliability and scalability.也即,ceph是一種為優秀的效能 可靠性和可擴充套件性而設計的統一的 分布式的儲存系...

ceph安裝總結

你有沒有想過,簡單的在集群的機器上裝ceph,不做任何處理它就能元件集群嗎?當然不可能。那麼ceph集群裡的節點是如何與其他節點通訊呢,有兩點 1.要作為集群的一員,你肯定要是某種角色,mon,osd,mds,mgr甚至client都行。所以安裝ceph是必須的。然後,與集群通訊,就需要知道集群是誰...

ceph儲存 ceph集群osd故障自我檢測

心跳是用於osd節點間檢測對方是否故障的,以便及時發現故障節點進入相應的故障處理流程。故障檢測需要在故障的發現時間和心跳帶來的負載之間做權衡,如果心跳頻率太高則過多的心跳報文會影響系統效能,如果心跳頻率過低則會延長發現故障節點的時間,從而影響系統的可用性。在大規模部署的場景中,如果任意兩個osd節點...