分布式存储系统之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等;

推荐阅读