您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關ceph常用命令之pool相關命令有哪些,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
1.1 查詢系統中所有的pool
命令格式:
ceph osd lspools 或rados lspools
1.2 創建pool
(1) 指定pg數目、pgp數目等創建pool
命令格式:
ceph osd pool create <poolname>{pg-num}{pgp-num} {replicated|erasure} {<erasure_code_profile>} {<ruleset>}
命令含義:
Pool分為replicated pool和erasure code pool,replicate pool以多副本的方式提供數據備份,EC pool使用糾刪碼方式提供數據安全
創建erasure pool還可以指定erasure_code_profile,erasure_code_profile 使用命令osd erasure-code-profile set指定,erasure-code-profile參數含義:
directory=<dir> \ # plugin directory absolute path
plugin=jerasure \ # plugin name (only jerasure)
k=<k> \ # data chunks (default 2)
m=<m> \ # coding chunks (default 2)
technique=<technique> \ # coding technique
Jerasure 是多種Erasure Coding算法的一個開源庫,采用C/C++實現,活躍很高,且使用廣,technique可選項:reed_sol_van, reed_sol_r6_op, cauchy_orig, cauchy_good, liberation, blaum_roth and liber8tion.
每個pg占用一定內存和CPU、且PG數目的增加會增加peer數目,因此每個pool配置的PG數目有一定的限制,否則會影響整個集群的性能,每個pool大概需要的PG數目為:
(OSDs * 100)
Total PGs = ------------
OSD per object
OSD per object對于replicated pool來說為副本數,對于EC pool來說是k+m
(2) 指定uid創建pool
命令格式:
mkpool <pool-name> [123[ 4]]
命令含義:
創建pool,其擁有者uid為123,crush rule為4
1.3 修改pool參數
命令格式:
ceph osd pool set {pool-name} {key} {value}
命令含義:
Key值含義:
Size:pool副本數
min_size:pool最小副本數,當pool中object副本數小于min_size, object將停止接收I/O
crash_replay_interval: PG修復期間,運行客戶端重放請求而不提交時間間隔(單位s,默認45s)
pgp_num:使用pgp_num計算pg id
crush_ruleset:pool使用的crush rule_id,ceph osd crush rule dump可查詢所有配置的策略
auid:設置pool歸屬用戶id
hit_set_type: cache命中跟蹤類型設置,默認為bloom,其他的類型包括explicit_hash、explicit_object
hit_set_period:
hit_set_count:
hit_set_ fpp:bloom誤檢率
cache_target_dirty_ratio:默認.4,當cache臟數據到達40%,將臟數據刷到后端pool中
cache_target_full_ratio:默認.8,d當cache中數據量到達80%,將cache中冷數據刪除
target_max_bytes:cache pool最大容量
target_max_objects:cache pool最大存儲的object數目
cache_min_flush_age: object刷到后端pool的最小年齡,單位為s
cache_min_evict_age:object從cache中刪除的最小年齡,單位為s
1.4 查詢pool參數
命令格式:
osd pool get <poolname> size|min_size| crash_replay_interval|pg_num|pgp_num| crush_ruleset| hit_set_type|hit_set_period|hit_set_count|hit_set_fpp|auid|target_max_objects|target_max_bytes| cache_target_dirty_ratio|cache_target_full_ratio|cache_min_flush_age|cache_min_evict_age|erasure_code_profile 或者使用ceph osd dump |grep pool顯示所有pool的參數
1.5 刪除pool
命令格式:
ceph osd pool delete {pool-name} [{pool-name} \ [-yes-i-really-really-mean-it] 或 rados rmpool <pool-name> [<pool-name> --yes-i-really-really-mean-it]
命令含義:
刪除pool,當pool有數據或者配置了用戶等信息,需要將這些信息手動刪除掉,否則強制刪除后這些信息還會在
1.6 重命名pool
命令格式:
ceph osd pool rename {current-pool-name} {new-pool-name}
1.7 查詢pool配額
命令格式:
ceph osd pool get-quota <poolname>
命令含義:
查詢pool容量和最大object數目
1.8 設置pool配額
命令格式:
ceph osd pool set-quota <poolname> max_objects|max_bytes <val>
命令含義:
設置pool容量和最大object數目
1.9 查詢pool屬性
命令格式:
ceph osd pool stats {<poolname>}
1.10 創建pool快照
命令格式:
ceph osd pool mksnap <poolname> <snapname> 該命令等同于: rados mksnap <snapname> -p <poolname>
命令含義: 對pool中所有的object做快照
1.11 查詢pool快照
命令格式:
rados lssnap –p <poolname>
命令含義:
查詢pool快照
1.12 pool快照回滾
命令格式:
rados rollback <obj-name> <snap-name> -p < poolname >
命令含義:目前只能針對pool中某個object進行回滾,不能整個pool回滾,我們可以考慮自己實現下?
1.13 cache pool配置和刪除
(1) 將一個pool配置為另外一個pool cache命令:
ceph osd tier add <poolname> <cachepoolname> 或 osd tier add-cache <poolname> <cachepoolname> [cachepoolname size
(2) 設置cache pool模式:
ceph osd pool set <cachepoolname> cache-mode <val>
<val>一共有4個:
‘none’, ‘writeback’, ‘forward’, and ‘readonly’
‘writeback’和‘readonly’見2.3節
‘forward’將cache pool關閉之前,需要將cache pool模式改為’ forward’,不接收客戶端的IO后,才將cache pool數據刷到后端pool
(3) 如果將cache pool工作模式設置為writeback‘,需要執行下面命令
Cache pool才能工作,目的將I/O映射到cache pool中
ceph osd tier set-overlay <poolname> <cachepoolname>
(4)將cache pool數據刷到后端pool
rados -p {cachepool} cache-flush-evict-all
(5)解除cache pool和后端pool對應關系
ceph osd tier remove-overlay <cachepoolname> ceph osd tier remove <poolname> <cachepoolname>
關于“ceph常用命令之pool相關命令有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。