官网文档:http://docs.ceph.com/docs/mimic/
修改CrushMap
导出crushmap
ceph osd getcrushmap -o crushmap
反编译
crushtool -d crushmap -o crushmap
编译
crushtool -c crushmap -o crushmap.new
注入
ceph osd setcrushmap -i crushmap.new
创建osd
列举磁盘
ceph-deploy disk list mon01
擦磁盘
ceph-deploy disk zap {osd-server-name}:{disk-name}
创建OSD
ceph-deploy osd create --data {data-disk} {node-name}
标志位
#ceph osd set noin #ceph osd set nobackfill #ceph osd unset noin #ceph osd unset nobackfill
相关命令
查看pool详细信息
ceph osd pool ls detail
创建池
ceph osd pool create {poolname} {pg_num} {pgp_num}
设置规则
ceph osd pool set {poolname} crush_rule {rule_name}
检查规则
ceph osd pool get {poolname} crush_rule
查看映射
ceph osd map {poolname} {image}
列举对象
rados ls -p {poolname}
查看pool状态信息
rados df
调整副本数
ceph osd pool set {poolname} size {num}
集群信息
ceph osd dump |grep pool
获取pg数
ceph osd pool get {} pg_num
修改pg数
ceph osd pool set {poolname} pg_num {num}
确定 pg_num
取值是强制性的,因为不能自动计算。下面是几个常用的值:
少于 5 个 OSD 时可把
pg_num
设置为 128OSD 数量在 5 到 10 个时,可把
pg_num
设置为 512OSD 数量在 10 到 50 个时,可把
pg_num
设置为 4096OSD 数量大于 50 时,你得理解权衡方法、以及如何自己计算
pg_num
取值自己计算
pg_num
取值时可借助 pgcalc 工具
随着 OSD 数量的增加,正确的 pg_num 取值变得更加重要,因为它显著地影响着集群的行为、以及出错时的数据持久性(即灾难性事件导致数据丢失的概率)。
获取rbd信息
rbd info
检测watcher
rbd status {image}
启动和暂停osd服务
# stop osd systemctl stop ceph-osd@0 # start osd systemctl start ceph-osd@0
查看pg的落盘
ceph pg dump pgs | grep ^1 | awk ‘{print $1,$2,$15}’
删除pool
ceph mds remove_data_pool {} ceph osd pool delete {} {} --yes-i-really-really-mean-it
重启osd服务
systemctl restart ceph-osd@0.service
清空池的数据
rados purge local --yes-i-really-really-mean-it `
创建块
rbd create --size 1024000 local/test
修改osd的weight
ceph osd reweight osd.12 0.95