背景:
更换坏盘
1.查看节点osd对应的磁盘是否正常
ceph-volume lvm list 查看osd对应的磁盘盘符
lsblk
pvscan 扫描也可查看盘符
2.将坏盘对应的osd从集群中移除并且停osd以及删除相关文件
sudo ceph osd out <id>
sudo ceph osd crush remove osd.<id>
sudo ceph auth del osd.<id>
sudo ceph osd rm osd.<id>
sudo umount /var/lib/ceph/ceph-<osd.id>
sudo rm -rf /var/lib/ceph/ceph-<osd.id>
sudo rm -f /etc/systemd/system/multi-user.target.wants/ceph-volume\@lvm-<osd.id>...
3.重建osd
#手动起osd,并且可以指定osd-id
#lvm
sudo /usr/sbin/vgcreate --force --yes ceph-osd-5-vg /dev/xxx
sudo /usr/sbin/lvcreate --yes -l 100%FREE -n osd-5-data ceph-osd-5-vg#修改代码,指定id创建
sudo /usr/bin/sed -i '205s/if osd/if True or osd/g' /usr/lib/python2.7/site-packages/ceph_volume/util/prepare.py
#创建osd这是整块盘作为osd的创建办法
sudo /usr/sbin/ceph-volume --cluster ceph lvm prepare --bluestore --data ceph-osd-5-vg/osd-5-data --osd-id 5 --osd-fsid `uuidgen`
sudo /usr/sbin/ceph-volume lvm activate 5 c22da189-bc19-4eb5-a46d-f9b64935028a#使用ssd+hdd创建osd,ssd作为db和wal,而hdd作为数据盘
ceph-volume --cluster ceph lvm prepare --bluestore --data ceph-osd-8-vg/osd-8-data --osd-id 8 --osd-fsid `uuidgen` --block.db ceph-osd-8-17-vg/osd-8-dbs --block.wal ceph-osd-8-17-vg/osd-8-wal
#使用ceph-deploy工具:
sudo ceph-deploy disk zap <IP> /dev/xxx
sudo ceph-deploy osd create --bluestore <IP> --data /dev/xxx
总结:
手工创建百遍,其义自见,使用工具虽然方便,但终究觉得缺乏点什么,
例如创建osd,如果需要让你创建成千上百个osd呢,如果使用工具创建,你是不是无法做到并行创建了,那时间得多久,10个小时才创建完,那你生产继续起集群的时候,怎么办呢,所以还是需要手工去创建,指定id,之后再使用并行去创建。
ps:
试过重建最后一步activate的时候报错,需要手动systemctl start osd即可。
本文详细介绍了如何手动处理Ceph集群中坏盘的替换,包括检查磁盘状态,移除故障OSD,重建OSD并指定ID,以及在遇到问题时的解决方法。内容涵盖vgcreate、lvcreate、ceph-volume等命令的使用,强调了手动创建OSD的重要性,特别是在大规模部署时可以实现并行创建的优势。


&spm=1001.2101.3001.5002&articleId=131552896&d=1&t=3&u=80678f840fed4279a401915d83c71dad)
1567

被折叠的 条评论
为什么被折叠?



