分布式存儲系統之Ceph集群存儲池操作( 二 )

提示:不指定存儲池名稱表示查看所有存儲池的統計數據;
顯示存儲池的用量信息:rados df 或者ceph df
[cephadm@ceph-admin ~]$ rados dfPOOL_NAMEUSED OBJECTS CLONES COPIES MISSING_ON_PRIMARY UNFOUND DEGRADED RD_OPSRD WR_OPSWR.rgw.root1.1 KiB401200027 18 KiB44 KiBcephfs-datapool0 B00000000 B00 Bcephfs-metadatpool2.2 KiB2206600049 51 KiB46 13 KiBdefault.rgw.control0 B802400000 B00 Bdefault.rgw.log0 B175052500016733 16 MiB111580 Bdefault.rgw.meta0 B00000000 B00 Berasurepool0 B00000000 B00 Brbdpool389 B501500050 32 KiB19 10 KiBreppool0 B00000000 B00 Btestpool0 B00000022 KiB21 KiB total_objects214total_used10 GiBtotal_avail890 GiBtotal_space900 GiB[cephadm@ceph-admin ~]$

分布式存儲系統之Ceph集群存儲池操作

文章插圖
提示:rados df和ceph df顯示稍微有點差別,rados 信息比較全面但偏底層;ceph df人類比較容易看懂;
3、存儲池重命名
命令格式:ceph osd pool rename old-name new-name
分布式存儲系統之Ceph集群存儲池操作

文章插圖
4、刪除存儲池
我們知道刪除存儲池意味著數據的丟失;所以ceph為了防止我們意外刪除存儲池實施了兩個機制;我們要刪除存儲池 , 必須先禁用這兩個機制;
第一個機制是NODELETE標志 , 其值需要為false,默認也是false;即允許我們刪除;第二個機制是集群范圍的配置參數mon allow pool delete,其默認值為“false”,這表示默認不能刪除存儲池;即我們要刪除存儲池,需要將第二個機制mon allow pool delete 的值修改為true即可刪除存儲池;
查看nodelete的值命令格式:ceph osd pool get pool-name nodelete
分布式存儲系統之Ceph集群存儲池操作

文章插圖
修改命令nodelete的值命令格式:ceph osd pool set pool-name nodelete false|true
分布式存儲系統之Ceph集群存儲池操作

文章插圖
提示:我們要刪存儲池,需要將nodelete的值設置為false,即不允許刪除為假 , 即表示允許刪除;
修改mon allow pool delete的值命令格式:ceph tell mon.* injectargs --mon-allow-pool-delete={true|false}
分布式存儲系統之Ceph集群存儲池操作

文章插圖
提示:刪除之前將其值設置為true,刪除完成后再改為false;
刪除rep-pool存儲池
分布式存儲系統之Ceph集群存儲池操作

文章插圖
提示:雖然我們進用了上述的兩個防止意外刪除存儲池的機制外 , 我們在直接刪除存儲池ceph還會提示我們需要將存儲池的名稱寫兩遍以及加--yes-i-really-really-mean-it選項來確定刪除存儲池的操作;
分布式存儲系統之Ceph集群存儲池操作

文章插圖
提示:刪除需要刪除的存儲池以后,我們需要將mon allow pool delete的值修改為false防止后面誤刪除存儲池;
分布式存儲系統之Ceph集群存儲池操作

文章插圖
5、設置存儲池配額
Ceph支持為存儲池設置可存儲對象的最大數量(max_objects)和可占用的最大空間(max_bytes)兩個緯度的配額,命令格式ceph osd pool set-quota <pool-name> max_objects|max_bytes <val>;獲取存儲池配額的相關信息命令格式:ceph osd pool get-quota <pool-name>;
分布式存儲系統之Ceph集群存儲池操作

文章插圖
6、配置存儲池參數
存儲池的諸多配置屬性保存于配置參數中,獲取配置:ceph osd pool get <pool-name> <key>;設定配置:ceph osd pool set <pool-name> <key> <value>;
存儲池常用的可配置參數
size:存儲池中的對象副本數;
min_size:I/O所需要的最小副本數;
pg_num:存儲池的PG數量;
pgp_num:計算數據歸置時要使用的PG的有效數量;
crush_ruleset:用于在集群中映射對象歸置的規則組;
nodelete:控制是否可刪除存儲池;
nopgchange:控制是否可更改存儲池的pg_num和pgp_num;
nosizechange:控制是否可更改存儲池的大?。?
noscrub和nodeep-scrub:控制是否可整理或深層整理存儲池以解決臨時高I/O負載的問題;
scrub_min_interval:集群負載較低時整理存儲池的最小時間間隔;默認值為0,表示其取值來自于配置文件中的osd_scrub_min_interval參數;
scrub_max_interval:整理存儲池的最大時間間隔;默認值為0,表示其取值來自于配置文件中的osd_scrub_max_interval參數;

推薦閱讀