pool是ceph儲存資料時的邏輯分割槽,它起到namespace的作用。其他分布式儲存系統,比如mogilefs、couchbase、swift都有pool的概念,只是叫法不同。每個pool包含一定數量的pg,pg裡的物件被對映到不同的osd上,因此pool是分布到整個集群的。
除了隔離資料,我們也可以分別對不同的pool設定不同的優化策略,比如副本數、資料清洗次數、資料塊及物件大小等。
檢視pool
[ceph@ceph-admin cluster]$ rados lspools
rbd[ceph@ceph-admin cluster]$ ceph osd lspools
0 rbd,
[ceph@ceph-admin cluster]$ ceph osd dump|grep pool
pool 0 'rbd' replicated size 3 min_size 2 crush_ruleset 0 object_hash rjenkins pg_num 64 pgp_num 64 last_change 1 flags hashpspool stripe_width 0
建立pool
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
通常在建立pool之前,需要覆蓋預設的pg_num
,官方推薦:
• 若少於5個osd, 設定pg_num為128。
• 5~10個osd,設定pg_num為512。
• 10~50個osd,設定pg_num為4096。
• 超過50個osd,可以參考pgcalc計算
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ceph@ceph-admin cluster]$ ceph osd pool create pool1 64
pool 'pool1' created
調整pool副本數(之前安裝的pool副本預設是3,這裡調整為2)
[ceph@ceph-admin cluster]$ ceph osd pool get pool1 size
size: 3
[ceph@ceph-admin cluster]$ ceph osd pool set pool1 size 2
set pool 1 size to 2
[ceph@ceph-admin cluster]$ ceph osd pool get pool1 size
size: 2
刪除pool
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ceph@ceph-admin cluster]$ ceph osd pool delete pool1
error eperm: warning: this will *permanently destroy* all data stored in pool pool1. if you are *absolutely certain* that is what you want, pass the pool name *twice*, followed by --yes-i-really-really-mean-it.
備註:刪除的時候為了安全,要求跟兩次名字,並加上--yes-i-really-really-mean-it
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ceph@ceph-admin cluster]$ ceph osd pool delete pool1 pool1 --yes-i-really-really-mean-it
pool 'pool1' removed
重新命名pool
[ceph@ceph-admin ~]$ ceph osd pool rename pool1 pool2
[ceph@ceph-admin ~]$ ceph osd pool rename pool2 pool1
pool配額
配置pool的物件最大100個
[ceph@ceph-admin cluster]$ ceph osd pool set-quota pool1 max_objects 100
配置pool的容量大小(10g)
[ceph@ceph-admin cluster]$ ceph osd pool set-quota pool1 max_bytes $((10*1024*1024*1024))
pool快照管理
建立快照
[ceph@ceph-admin ~]$ ceph osd pool mksnap pool1 pool1_snap
刪除快照
[ceph@ceph-admin ~]$ ceph osd pool rmsnap pool1 pool1_snap
書寫文件不易,如果你覺得我寫得可以打個賞唄
在定義了pool池後,下一章節進行卷(image)的管理
ceph快速搭建五(ceph的image管理)
CEPH快速搭建五 ceph的image管理
image 對應於 lvm 的 logical volume,它將被條帶化為 n 個子資料塊,每個資料塊將會被以物件 object 形式儲存在 rados 物件儲存中的簡單塊裝置 在pool2下建立乙個大小為100m的myimage的rbd image 預設情況下,它被條帶化為 4mb 大小的 25...
Ceph 手動搭建ceph集群
hostname ipmon id 磁碟快journal ceph1 192.168.1.1 0 dev sdb2 dev sdb1 ceph2 192.168.1.2 1 dev sdb2 dev sdb1 ceph3 192.168.1.3 2 dev sdb2 dev sdb1 使用yum來安...
Ceph基礎之搭建ceph集群
8 更新源 yum update ysetenforce 0 4 安裝ntp,在所有ceph節點上執行 2 用ceph deploy建立ceph集群mkdir etc ceph 生成乙個新的ceph集群,集群包括ceph配置檔案以及monitor的金鑰環。3 安裝ceph二進位制軟體包ceph de...