一、需求
新更换后的磁盘,需满足如下要求(根本是为了保持pg分布情况不变,避免其他无关osd上的pg重新计算分布):
- 保持ID不变
- 系统crushmap不变
二、所用工具
- ceph-disk
- ceph
三、配置方法
3.1 初始化配置文件
[root@node0 ]$ cat /etc/ceph/init.conf
[global]
osd_journal_size = 30720 # 30GB,根据实际情况调整
3.2 磁盘分区及格式化(有时候需要先执行ceph-disk zap )
[root@node0 ]$ sudo ceph-disk zap /dev/sdX
[root@node0 ]$ sudo ceph-disk prepare --cluster init /dev/sdX [journal location]
3.3 恢复原损坏磁盘相关参数
挂载初始化后的磁盘到本地目录/mnt
:
[root@node0 ]$ sudo mount /dev/sdX1 /mnt
[root@node0 ]$ cd /mnt
3.3.1 设置 ID (保持OSD ID不变)
[root@node0 ]$ echo ${ID} | sudo tee whoami
3.3.2 设置 keyring (保持keyring不变)
[root@node0 ]$ ceph auth get-or-create osd.${ID} | sudo tee keyring
3.3.3 设置 UUID (保持原OSD的uuid不变)
[root@node0 ]$ ceph osd dump | grep ^osd.${ID} | awk '{print $NF}' | sudo tee fsid
3.3.4 设置集群fsid(保持集群fsid不变)
[root@node0 ]$ ceph-conf --lookup fsid | sudo tee ceph_fsid
3.3.5 激活磁盘
[root@node0 ]$ cd
[root@node0 ]$ sudo umount /mnt
[root@node0 ]$ sudo ceph-disk activate --mark-init none /dev/sdX1