暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

CEPH 14.2添加和删除OSD

IT那活儿 2022-10-22
2658

点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!

Ceph OSD Daemon将数据写入磁盘和日志。因此,需要为 OSD 提供一个磁盘和日志分区的路径(即,这是最常见的配置,也可以根据自己的需要配置系统)。


准备工作

1.1 列出磁盘
要列出节点上的磁盘,执行以下命令:
ceph-deploy disk list {node-name [node-name]...}
1.2 ZAP磁盘
要对磁盘进行 zap(删除其分区表)以准备与Ceph一起使用,执行以下命令(这将删除所有数据):
ceph-deploy disk zap {osd-server-name} {disk-name}

ceph-deploy disk zap osdserver1 dev/sdb

ceph-deploy disk zap osdserver1 dev/sdb dev/sdc dev/sdd

1.3 创建 OSD
创建集群、安装 Ceph 包并收集密钥后,可以创建OSD并将它们部署到 OSD 节点。
ceph-deploy osd create --data {data-disk} {node-name}
例如:
ceph-deploy osd create --data /dev/ssd osd-server1
当在单个节点上运行多个 Ceph OSD Daemon并与每个 OSD Daemon共享一个分区日志时,应该将整个节点视为 CRUSH 目的的最小故障域,因为如果 SSD 发生故障,所有日志的 Ceph OSD Daemon它也会失败。
1.4 列出 OSD
要列出部署在节点上的 OSD,执行以下命令:
ceph-deploy osd list {node-name}


删除osd

2.1 停掉对应osd进程

sudo systemctl stop ceph-osd@0

2.2 踢出集群
sudo ceph osd out 0
2.3 从CRUSH中删除
已将osd.0移出crush map.
sudo ceph osd crush remove osd.0
2.4 从集群中将osd移除
1)删除秘钥信息
sudo ceph auth del osd.0
2)删除在集群中的信息
sudo ceph osd rm 0
2.5 取消挂载
umount /var/lib/ceph/osd/ceph-0
但是盘还在。
2.6 对磁盘进行格式化并删除目录
sudo ceph-volume lvm zap /dev/sdb --destroy


恢复/添加回osd

3.1 --osd-id 标记回原来的ID
sudo ceph-volume --cluster ceph lvm create --bluestore --data /dev/sdb --osd-id 0
报错,由于14版本ceph-volume工具有BUG,需要修改ceph-volume源码:
The osd ID 0 is already in use or does not exist.
1)修改ceph-volume源码
vi /usr/lib/python2.7/site-packages/ceph_volume/util/prepare.py
寻找 def osd_id_available。
2)添加一个判断逻辑
not osd or
3)此时就可创建osd
sudo ceph-volume --cluster ceph lvm create --bluestore --data /dev/sdb --osd-id 0
3.2 添加osd成功



本文作者:王思强(上海新炬王翦团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论