Ceph存储集群配置管理详解

创建存储池

ceph osd pool create cephfs_metadata 64 64
ceph osd pool create cephfs_data 64 64
ceph osd pool create rbd 64 64

创建文件系统

ceph fs new cephfs cephfs_metadata cephfs_data

修改存储池副本数

ceph osd pool set cephfs_metadata size 2
ceph osd pool set cephfs_metadata min_size 1

ceph osd pool set cephfs_data size 2
ceph osd pool set cephfs_data min_size 1

ceph osd pool set rbd size 2
ceph osd pool set rbd min_size 1

查看存储池详细信息

ceph osd pool ls detail
ceph osd crush tree

crush常用操作命令

ceph osd crush tree
ceph osd crush rule ls
ceph osd crush rule dump
ceph osd crush tree
ceph osd crush set {name} {weight} root={root} [{bucket-type}={bucket-name} ...]
ceph osd crush reweight {name} {weight}
ceph osd crush remove {name}
ceph osd crush add-bucket {bucket-name} {bucket-type}
ceph osd crush move {bucket-name} {bucket-type}={bucket-name}, [...]
ceph osd crush remove {bucket-name}

为存储池创建规则

ceph osd crush rule create-replicated {name} {root} {failure-domain-type} [{class}]
ceph osd crush rule create-replicated ssd-rule root-ssd host
ceph osd crush rule create-replicated sas-rule root-sas host

启用存储池

ceph osd pool application enable rbd rbd
ceph osd pool application enable cephfs_data cephfs
ceph osd pool application enable cephfs_metadata cephfs
ceph osd pool application enable rgw rgw

注意:这里CephFS使用应用程序名称cephfs,RBD使用应用程序名称rbd,RGW使用应用程序名称rgw。

启用dashboard

$ ceph mgr module enable dashboard

访问:http://192.168.22.11:7000

其他操作命令

# mgr操作命令
root@ceph1:~# ceph mgr module ls
{
    "enabled_modules": [
        "balancer",
        "dashboard",
        "restful",
        "status"
    ],
    "disabled_modules": [
        "influx",
        "localpool",
        "prometheus",
        "selftest",
        "zabbix"
    ]
}
root@ceph1:~# ceph mgr services
{
    "dashboard": "http://ceph1:7000/"
}
ceph mgr module enable balancer
ceph balancer status
ceph balancer on
ceph balancer off

# 为存储池指定新规则命令
ceph osd pool set <pool-name> crush_rule <rule-name>

# 创建存储池命令
ceph osd pool create {pool-name} {pg-num} [{pgp-num}] [replicated] [crush-rule-name] [expected-num-objects]
ceph osd pool create {pool-name} {pg-num} {pgp-num} erasure [erasure-code-profile] [crush-rule-name] [expected_num_objects]

# 将池关联到application命令
ceph osd pool application enable {pool-name} {application-name}
# 注意:CephFS使用应用程序名称cephfs,RBD使用应用程序名称rbd,RGW使用应用程序名称rgw。

# 删除池命令
ceph osd pool delete {pool-name} [{pool-name} --yes-i-really-really-mean-it]
# 要删除池,必须在Monitor的配置中将mon_allow_pool_delete标志设置为true。否则他们将拒绝删除池。

# 显示池统计信息命令
rados df

# 制作池的快照命令
ceph osd pool mksnap {pool-name} {snap-name}

# 删除池的快照命令
ceph osd pool rmsnap {pool-name} {snap-name}

# 设置池参数命令
ceph osd pool set {pool-name} {key} {value}

您可以为以下键设置值:

键名:compression_algorithm
说明:设置用于底层BlueStore的内联压缩算法。此设置将覆盖全局设置的。bluestore compression algorithm
类型:字符串
有效设置:lz4,snappy,zlib,zstd

键名:compression_mode
描述:为基础BlueStore设置内联压缩算法的策略。此设置将覆盖全局设置的。bluestore compression mode
类型:字符串
有效设置:none,passive,aggressive,force

键名:compression_min_blob_size
描述:小于此的块不会被压缩。此设置将覆盖全局设置的。bluestore compression min blob *
类型:无符号整数

键名:compression_max_blob_size
描述:大于此的块compression_max_blob_size在被压缩之前被分解为较小的斑点尺寸 。
类型:无符号整数

键名:size
描述:设置池中对象的副本数。有关更多详细信息,请参阅设置对象副本数。仅限复制池。
类型:整数

键名:min_size
描述:设置I / O所需的最小副本数。有关更多详细信息,请参阅设置对象副本数。仅限复制池。
类型:整数
版本:0.54 以上

键名:pg_num
描述:计算数据放置时要使用的有效展示位置组数。
类型:整数
有效范围:优于pg_num当前价值。

键名:pgp_num
描述:计算数据展示位置时要使用的展示位置组的有效数量。
类型:整数
有效范围:等于或小于pg_num。

键名:crush_rule
描述:用于在集群中映射对象放置的规则。
类型:整数

# 获取池参数值命令
ceph osd pool get {pool-name} {key}

# 删除cephfs和mds步骤

(1)停止ceph mds服务
# systemctl stop ceph-mds.target

(2)删除cephfs,有mds daemons的cephfs删除会报错,然后去mds daemon机器上停止mds服务即可
# ceph fs rm tstfs
Error EINVAL: all MDS daemons must be inactive before removing filesystem
# ceph fs rm tstfs2
Error EPERM: this is a DESTRUCTIVE operation and will make data in your filesystem permanentlyinaccessible.
Add --yes-i-really-mean-it if you are sure you wish to continue.
# ceph fs rm tstfs2 --yes-i-really-mean-it
# ceph fs rm tstfs --yes-i-really-mean-it

(3)删除ceph nonactive mds,mds的id默认从0开始,指定不存在的id并不会报错
# ceph mds rm 0
mds gid 0 dne
# ceph mds rm 1
mds gid 1 dne
# ceph mds rm 2
mds gid 2 dne

(4)删除cephfs使用的pool
# ceph osd pool delete cephfs_metadata cephfs_metadata --yes-i-really-really-mean-it
# ceph osd pool delete cephfs_data cephfs_data --yes-i-really-really-mean-it
posted @ 2020-10-30 14:35  Varden  阅读(822)  评论(0编辑  收藏  举报