文章

替换磁盘步骤

替换磁盘步骤

本文档介绍 Ceph 集群中替换 OSD 磁盘的完整步骤。

关闭平衡

在替换磁盘前,先关闭数据平衡和回填,避免影响数据迁移:

ceph osd set norecover

移除磁盘

移除旧的 OSD(以 osd.97 为例):

ceph osd purge osd.97 --force

格式化并加入磁盘

格式化新磁盘并创建 OSD:

ceph-deploy disk zap cloudholy-store02-5p-04 /dev/sdac ceph-deploy osd create cloudholy-store02-5p-04 --bluestore --data /dev/sdac

导出 OSD Map

导出当前的 OSD map 用于后续计算:

cd /root/ceph-admin ceph osd getmap > osdmap.bin

计算 metadata pool 的 upmap

为 CephFS metadata pool 计算 upmap,优化数据分布:

osdmaptool --upmap-pool cephfs_metadata osdmap.bin --upmap upmap.txt --upmap-deviation 1 --upmap-max 1000 awk '{print $0" &"}' upmap.txt > upmap2.txt source upmap2.txt

计算 data pool 的 upmap

为 CephFS data pool 计算 upmap:

osdmaptool --upmap-pool cephfs_data osdmap.bin --upmap upmap.txt --upmap-deviation 1 --upmap-max 10000 awk '{print $0" &"}' upmap.txt > upmap2.txt source upmap2.txt

开启平衡

完成磁盘替换后,重新开启数据平衡和回填:

ceph osd unset norecover # 开启平衡 ceph osd unset nobackfill # 开启回填

注意:替换磁盘过程中,建议监控集群状态,确保数据迁移正常进行。

本文由作者按照 CC BY 4.0 进行授权