我目前正在运行一个 3 节点超融合 Proxmox/Ceph 集群。我正在将大量数据 (100TB+) 从旧的 unRAID 实例传输到新的集群基础设施。必须将数据 1HDD 复制到新的 CephFS 池,然后擦除磁盘并将其添加到 OSD 池。我没有更多的硬盘空间,也没有购买更多驱动器的预算,这将使这个过程变得更加容易。
在该过程进行到一半时,我现在陷入了“ceph 平衡器”报告“太多对象放错位置;”的困境。并且“283 active+remapped+backfill_wait”已经保持不变超过 12 小时了。集群处于空闲状态,但没有像我期望的那样“自我修复”。
在开始迁移之前,作为测试的一部分,我推拉了 Ceph,并以多种方式破坏了它。我总是能够将其恢复到 Healthy_OK,没有任何数据丢失或延长停机时间(除非服务/服务器重新启动)。我已经阅读了有关此问题的文档,但没有发现任何关于如何启动此问题的有用信息。
https://docs.ceph.com/en/latest/rados/operations/health-checks/#object-misplaced
数据迁移目前处于暂停状态。
注意:1-当我试图将 Ceph 扩展到更大的驱动器时,我的 OSD 大小(重新调整权重)之间存在一些不匹配。而不是不断地填充小驱动器。 2-nearfull OSD 是 3 个 4TB 驱动器之一(有 16TB 驱动器几乎是空的,但它没有平衡。
ceph 平衡器状态
{
"active": true,
"last_optimize_duration": "0:00:00.000087",
"last_optimize_started": "Mon Jun 3 17:56:27 2024",
"mode": "upmap",
"no_optimization_needed": false,
"optimize_result": "Too many objects (0.401282 > 0.050000) are misplaced; try again later",
"plans": []
}
头孢菌素
cluster:
id: {id}
health: HEALTH_WARN
1 nearfull osd(s)
2 pgs not deep-scrubbed in time
2 pool(s) nearfull
1 pools have too many placement groups
services:
mon: 3 daemons, quorum {node1},{node2},{node3} (age 31h)
mgr: {node3}(active, since 26h), standbys: {node1}, {node2}
mds: 2/2 daemons up, 1 standby
osd: 23 osds: 23 up (since 23h), 23 in (since 2h); 284 remapped pgs
data:
volumes: 1/1 healthy
pools: 7 pools, 801 pgs
objects: 10.19M objects, 37 TiB
usage: 57 TiB used, 55 TiB / 112 TiB avail
pgs: 12261409/30555598 objects misplaced (40.128%)
513 active+clean
283 active+remapped+backfill_wait
2 active+clean+scrubbing+deep
2 active+clean+scrubbing
1 active+remapped+backfilling
io:
client: 15 MiB/s wr, 0 op/s rd, 71 op/s wr
头孢噻呋
ID CLASS WEIGHT REWEIGHT SIZE RAW USE DATA OMAP META AVAIL %USE VAR PGS STATUS
8 hdd 7.31639 1.00000 7.3 TiB 665 GiB 625 GiB 2 KiB 2.2 GiB 6.7 TiB 8.88 0.17 27 up
10 hdd 9.13480 1.00000 9.1 TiB 40 GiB 30 MiB 1 KiB 1.3 GiB 9.1 TiB 0.43 0.01 16 up
5 ssd 0.72769 1.00000 745 GiB 248 GiB 246 GiB 189 MiB 2.5 GiB 497 GiB 33.32 0.65 133 up
6 ssd 0.72769 1.00000 745 GiB 252 GiB 251 GiB 104 MiB 1.1 GiB 493 GiB 33.80 0.66 126 up
7 hdd 5.49709 1.00000 5.5 TiB 259 GiB 219 GiB 1 KiB 1.6 GiB 5.2 TiB 4.61 0.09 9 up
22 hdd 9.13480 1.00000 9.1 TiB 626 GiB 586 GiB 1 KiB 2.7 GiB 8.5 TiB 6.70 0.13 12 up
15 ssd 0.72769 1.00000 745 GiB 120 GiB 118 GiB 53 MiB 1.3 GiB 626 GiB 16.05 0.31 71 up
16 ssd 0.87329 1.00000 894 GiB 128 GiB 126 GiB 56 MiB 1.9 GiB 766 GiB 14.35 0.28 78 up
17 ssd 0.43660 1.00000 447 GiB 63 GiB 62 GiB 25 MiB 1.2 GiB 384 GiB 14.11 0.28 40 up
18 ssd 0.43660 1.00000 447 GiB 91 GiB 89 GiB 24 MiB 1.8 GiB 357 GiB 20.25 0.40 48 up
19 ssd 0.72769 1.00000 745 GiB 132 GiB 130 GiB 67 MiB 2.1 GiB 613 GiB 17.71 0.35 82 up
20 ssd 0.72769 1.00000 745 GiB 106 GiB 104 GiB 24 MiB 1.9 GiB 639 GiB 14.28 0.28 65 up
21 ssd 0.72769 1.00000 745 GiB 127 GiB 124 GiB 62 MiB 2.2 GiB 619 GiB 17.00 0.33 75 up
0 hdd 16.40039 1.00000 16 TiB 12 TiB 12 TiB 7 KiB 25 GiB 4.5 TiB 72.65 1.42 241 up
1 hdd 3.66800 0.50000 3.7 TiB 2.6 TiB 2.6 TiB 6 KiB 6.1 GiB 1.1 TiB 71.08 1.39 56 up
2 hdd 3.66800 0.09999 3.7 TiB 2.9 TiB 2.9 TiB 6 KiB 7.3 GiB 793 GiB 78.89 1.55 56 up
3 hdd 14.58199 1.00000 15 TiB 10 TiB 10 TiB 6 KiB 22 GiB 4.4 TiB 69.94 1.37 216 up
4 hdd 3.66800 0.09999 3.7 TiB 3.2 TiB 3.1 TiB 6 KiB 7.3 GiB 501 GiB 86.66 1.70 63 up
11 hdd 14.58199 0.95001 15 TiB 12 TiB 12 TiB 9 KiB 24 GiB 2.7 TiB 81.23 1.59 233 up
13 hdd 14.58199 0.95001 15 TiB 11 TiB 11 TiB 6 KiB 24 GiB 3.4 TiB 76.77 1.51 223 up
9 ssd 0.72769 1.00000 745 GiB 139 GiB 137 GiB 63 MiB 1.5 GiB 606 GiB 18.65 0.37 80 up
12 ssd 1.81940 1.00000 1.8 TiB 311 GiB 308 GiB 146 MiB 2.5 GiB 1.5 TiB 16.67 0.33 182 up
14 ssd 1.45549 1.00000 1.5 TiB 247 GiB 245 GiB 88 MiB 2.2 GiB 1.2 TiB 16.57 0.32 143 up
TOTAL 112 TiB 57 TiB 57 TiB 902 MiB 145 GiB 55 TiB 51.00
删除了大约 1TB 或冗余数据,并将 Ceph 设置为优先考虑集群流量和维护任务,而不是处理 IO。
这些数字将在集群恢复生产之前重置,如果后端无法更快地处理更多存储,那么快速 IO 就没有意义。
修复 ETA 2d