#作者:stackofumbrella
一、Ceph集群的OSD基础操作
查看osd的ID编号
$ sudo ceph osd ls
查看OSD的详细信息
$ sudo ceph osd dump
查看OSD的状态信息
$ sudo ceph osd status
查看OSD的统计信息
$ sudo ceph osd stat
查看OSD在主机上的存储信息
$ sudo ceph osd stat
查看OSD延迟的统计信息
$ sudo ceph osd perf
查看各个OSD使用率
$ sudo ceph osd df
集群暂停接收数据
$ sudo ceph osd pause
集群取消暂停
$ sudo ceph osd unpause
OSD写入权重操作
查看默认OSD操作权重值
$ sudo ceph osd crush tree
修改OSD数据操作权重值
$ sudo ceph osd crush reweight osd.2 0
OSD上下线
由于OSD有专门的管理服务器ceph-osd控制,一旦发现被下线会尝试启动它。
如果真的想要永久关闭,则需要关闭对应的ceph-osd进程即可。
临时关闭OSD会自动被拉起
$ sudo ceph osd down 2;sudo ceph osd tree
然后会自动重启
永久关闭
$ sudo ceph orch daemon stop osd.2;sudo ceph osd tree
驱逐OSD设备
驱逐关掉的osd.2,驱逐的本质是对ceph集群数据操作的权重值REWEIGHT重新调整
$ sudo ceph osd out 2
$ sudo ceph osd tree
将驱逐的OSD设备加入到集群
$ sudo ceph osd in 2
$ sudo ceph orch daemon start osd.2;sudo ceph osd tree
二、Ceph集群的OSD节点缩容
OSD缩容实战案例
查看集群OSD状态
$ sudo ceph osd tree
停止需要下线节点的所有OSD守护进程
$ sudo ceph orch daemon stop osd.2
$ sudo ceph osd tree
清理OSD数据和配置
$ sudo ceph osd purge 2 --force
$ sudo ceph osd tree
移除所有OSD后从CRUSH map中删除主机
$ sudo ceph osd crush rm ceph03
$ sudo ceph osd tree
自动驱逐被下线节点的服务组件
$ sudo ceph orch host drain ceph03
OSD设备无法清除,只能通过手动删除
$ sudo ceph orch daemon rm osd.2 --force
$ sudo ceph orch host drain ceph03
删除节点
$ sudo ceph orch host rm ceph03
$ sudo ceph orch host ls
解除ceph对磁盘的占用(在OSD节点上执行)
$ lsblk
$ sudo dmsetup remove ceph–e16939c6–b24f–4e87–b6bd–ca4ddd1dffee-osd–block–b995ab08–d360–4a51–b750–fb193edcba4e
$ lsblk
OSD扩容实战案例
将上面剔除的节点添加到集群
$ sudo ceph orch host add ceph03
擦除磁盘的原有数据
$ sudo ceph orch device zap --force ceph03 /dev/vdb
出现此报错需要到ceph03节点上执行擦除命令
$ sudo wipefs -af /dev/vdb
在管理节点上再次擦除磁盘
$ sudo ceph orch device zap --force ceph03 /dev/vdb
查看设备
$ sudo ceph orch device ls
添加OSD到集群
$ sudo ceph orch daemon add osd ceph03:/dev/vdb
$ sudo ceph osd tree