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


deep_scrub_interval:深層整理存儲池的間隔;默認值為0 , 表示其取值來自于配置文件中的osd_deep_scrub參數;

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

文章插圖
7、存儲池快照
關于存儲池快照
? 存儲池快照是指整個存儲池的狀態快照;
? 通過存儲池快照,可以保留存儲池狀態的歷史;
? 創建存儲池快照可能需要大量存儲空間,具體取決于存儲池的大?。?
創建存儲池快照命令格式: ceph osd pool mksnap <pool-name> <snap-name>或者rados -p <pool-name> mksnap <snap-name>
列出存儲池的快照命令格式:rados -p <pool-name> lssnap
[cephadm@ceph-admin ~]$ ceph osd pool mksnap cephfs-metadatpool metadatasnap1created pool cephfs-metadatpool snap metadatasnap1[cephadm@ceph-admin ~]$ rados -p cephfs-metadatpool lssnap1metadatasnap12022.09.30 00:20:551 snaps[cephadm@ceph-admin ~]$回滾存儲池至指定的快照命令格式: rados -p <pool-name> rollback <pool-name> <snap-name>
[cephadm@ceph-admin ~]$ rados -p cephfs-metadatpool lssnap1metadatasnap12022.09.30 00:20:552metadatasnap22022.09.30 00:22:352 snaps[cephadm@ceph-admin ~]$ rados -p cephfs-metadatpool rollbackcephfs-metadatpool metadatasnap2rolled back pool cephfs-metadatpool to snapshot metadatasnap2[cephadm@ceph-admin ~]$刪除存儲池快照命令格式: ceph osd pool rmsnap <pool-name> <snap-name>或 rados -p <pool-name> rmsnap <snap-name>
[cephadm@ceph-admin ~]$ rados -p cephfs-metadatpool lssnap1metadatasnap12022.09.30 00:20:552metadatasnap22022.09.30 00:22:352 snaps[cephadm@ceph-admin ~]$ ceph osd pool rmsnap cephfs-metadatpool metadatasnap1removed pool cephfs-metadatpool snap metadatasnap1[cephadm@ceph-admin ~]$ rados -p cephfs-metadatpool lssnap2metadatasnap22022.09.30 00:22:351 snaps[cephadm@ceph-admin ~]$ rados -p cephfs-metadatpool rmsnap metadatasnap2removed pool cephfs-metadatpool snap metadatasnap2[cephadm@ceph-admin ~]$ rados -p cephfs-metadatpool lssnap0 snaps[cephadm@ceph-admin ~]$提示:不用的快照建議及時清除;
8、存儲池數據壓縮
BlueStore存儲引擎提供即時數據壓縮,以節省磁盤空間,啟用壓縮命令格式:ceph osd pool set <pool-name> compression_algorithm snappy;壓縮算法有none、zlib、lz4、zstd和snappy等幾種,默認為snappy;zstd有較好的壓縮比 , 但比較消耗CPU;lz4和snappy對CPU占用比例較低;不建議使用zlib;
設置壓縮模式命令格式:ceph osd pool set <pool-name> compression_mode aggressive ;壓縮模式:none、aggressive、passive和force,默認值為none; none表示不壓縮; passive表示若提示COMPRESSIBLE,則壓縮;aggressive表示除非提示INCOMPRESSIBLE,否則就壓縮; force表示始終壓縮;
其它可用的壓縮參數
compression_required_ratio:指定壓縮比,取值格式為雙精度浮點型,其值為SIZE_COMPRESSED/SIZE_ORIGINAL,即壓縮后的大小與原始內容大小的比值,默認為.875;
compression_max_blob_size:壓縮對象的最大體積,無符號整數型數值,默認為0,表示沒有限制;
compression_min_blob_size:壓縮對象的最小體積,無符號整數型數值,默認為0,表示沒有限制;
分布式存儲系統之Ceph集群存儲池操作

文章插圖
提示:壓縮最小體積和最大體積都是以字節為單位;
全局壓縮選項
可在ceph配置文件中設置壓縮屬性 , 它將對所有的存儲池生效;可設置的相關參數如下
? bluestore_compression_algorithm? bluestore_compression_mode? bluestore_compression_required_ratio? bluestore_compression_min_blob_size? bluestore_compression_max_blob_size? bluestore_compression_min_blob_size_ssd? bluestore_compression_max_blob_size_ssd? bluestore_compression_min_blob_size_hdd? bluestore_compression_max_blob_size_hdd
9、糾刪碼池配置文件
列出糾刪碼配置文件命令格式: ceph osd erasure-code-profile ls
獲取指定的配置文件的相關內容:ceph osd erasure-code-profile get default
[cephadm@ceph-admin ~]$ ceph osd erasure-code-profile lsdefault[cephadm@ceph-admin ~]$ ceph osd erasure-code-profile get defaultk=2m=1plugin=jerasuretechnique=reed_sol_van[cephadm@ceph-admin ~]$自定義糾刪碼配置文件
命令格式:ceph osd erasure-code-profile set <name> [<directory=directory>]  [<plugin=plugin>] [<crush-device-class>] [<crush-failure-domain>] [<key=value> ...] [--force]
? - directory:加載糾刪碼插件的目錄路徑,默認為/usr/lib/ceph/erasure-code;? - plugin:用于生成及恢復糾刪碼塊的插件名稱,默認為jerasure;? - crush-device-class:設備類別,例如hdd或ssd,默認為none,即無視類別;? - crush-failure-domain:故障域 , 默認為host , 支持使用的包括osd、host、rack、row和room等;

推薦閱讀