在两天前,自己家里搭的Ceph集群突然炸了。nfs和rbd全都没法访问,博客和数据库的后端都在ceph的rbd上面。导致博客系统也同时炸了,目前数据全部丢失中....
炸机现象
ceph -s
命令挂起,等待10几分钟无输出rbd
无法操作,无法挂载,也无法卸载nfs
文件系统读写挂起无响应
原因排除
找了一圈,发现唯一mon
节点的mon.admin
服务down掉了,而且始终无法重启。
检查podman容器,mon.admin
容器down掉了好几天。
tianliang@admin:~> sudo cephadm ls
[
......
{
"style": "cephadm:v1",
"name": "mon.admin",
"fsid": "ea5eb6cc-86ec-11eb-803d-089e0156c705",
"systemd_unit": "ceph-ea5eb6cc-86ec-11eb-803d-089e0156c705@mon.admin",
"enabled": true,
"state": "error",
"container_id": null,
"container_image_name": "registry.suse.com/ses/7/ceph/ceph:latest",
"container_image_id": null,
"version": null,
"started": null,
"created": "2021-03-17T06:50:34.622416Z",
"deployed": "2021-03-17T06:50:33.482375Z",
"configured": "2021-03-17T06:54:50.863729Z"
},
......
尝试恢复
1.使用ceph-objectstore-tool
从osd
中恢复mon
数据
admin:~ # ceph-objectstore-tool --data-path /var/lib/ceph/ea5eb6cc-86ec-11eb-803d-089e0156c705/osd.0 --op update-mon-db --mon-store-path /home/tianliang/monstore --fsid ea5eb6cc-86ec-11eb-803d-089e0156c705 --no-mon-config
osd.0 : 0 osdmaps trimmed, 559 osdmaps added.
admin:~ # ceph-objectstore-tool --data-path /var/lib/ceph/ea5eb6cc-86ec-11eb-803d-089e0156c705/osd.1 --op update-mon-db --mon-store-path /home/tianliang/monstore --fsid ea5eb6cc-86ec-11eb-803d-089e0156c705 --no-mon-config
osd.1 : 1179 osdmaps trimmed, 0 osdmaps added.
admin:~ # ceph-objectstore-tool --data-path /var/lib/ceph/ea5eb6cc-86ec-11eb-803d-089e0156c705/osd.2 --op update-mon-db --mon-store-path /home/tianliang/monstore --fsid ea5eb6cc-86ec-11eb-803d-089e0156c705 --no-mon-config
osd.2 : 0 osdmaps trimmed, 0 osdmaps added.
admin:~ # ceph-objectstore-tool --data-path /var/lib/ceph/ea5eb6cc-86ec-11eb-803d-089e0156c705/osd.3 --op update-mon-db --mon-store-path /home/tianliang/monstore --fsid ea5eb6cc-86ec-11eb-803d-089e0156c705 --no-mon-config
osd.3 : 0 osdmaps trimmed, 0 osdmaps added.
但是恢复出来的mon
数据与原数据的大小相差甚远
admin:~ # du -sh /home/tianliang/monstore
4.6M /home/tianliang/monstore
admin:~ # du -sh /opt/mon.admin/store.db
173M /opt/mon.admin/store.db
结果恢复出来的mon
数据重新导入服务也无法重启成功。
最后
目前还没有找到恢复的方法...
唉....自己积攒了几年的数据全在上面