故障现象:
1.osd无法启动
2.日志中打印:
-3> 2019-04-10 10:25:47.087958 7f2db747dd00 -1 bluestore(/var/lib/ceph/osd/ceph-259) _verify_csum bad crc32c/0x1000 checksum at blob offset 0x40000, got 0x1edf4f90, expected 0x3a8d2618,
device location [0xe5f1dc0000~1000], logical extent 0x40000~1000, object #-1:1cc0dc50:::osdmap.7421:0#
-2> 2019-04-10 10:25:47.087988 7f2db747dd00 -1 osd.259 0 failed to load OSD map for epoch 7421, got 0 bytes
-1> 2019-04-10 10:25:47.088002 7f2db747dd00 -1 osd.259 7424 load_pgs: have pgid 2.1a6ds4 at epoch 7421, but missing map. Crashing.
原因:
昨晚内存故障导致osdmap丢失,尝试修复错误的osdmap
修复方法,找个正常的osd盘复制一份osdmap导进去:
ceph-objectstore-tool --op get-osdmap --epoch 7421 --data-path /var/lib/ceph/osd/ceph-464 --type bluestore --file ./7421
ceph-objectstore-tool --op set-osdmap --epoch 7421 --data-path /var/lib/ceph/osd/ceph-259 --type bluestore --file ./7421
反复重复上面的动作
打完收工