×

ceph命令清单(待添加补充)

穆琪 穆琪 发表于2018-12-03 18:50:53 浏览472 评论0

抢沙发发表评论

官网文档: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 设置为 128

  • OSD 数量在 5 到 10 个时,可把 pg_num 设置为 512

  • OSD 数量在 10 到 50 个时,可把 pg_num 设置为 4096

  • OSD 数量大于 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