帮助恢复损坏的 zfs 快照

帮助恢复损坏的 zfs 快照

Docker 欺骗了我,在发生 sas 背板问题后,服务器在没有安装 zfs 系统的情况下启动,这导致 docker 在 /data/servers/fs 下创建一个干净的目录结构(这是我的 docker 配置为保存数据的位置)。

当我解决了背板问题后,系统启动并且一切看起来正常。除了没有 docker 容器。我调查了该目录,只有来自“新鲜”docker 启动的文件,所以我错误地认为 docker 无缘无故地擦除了所有内容。

我没有注意到数据集没有安装!所以我想从以前的快照恢复。

我做了一个递归快照。 (我希望这能救我!)

当我尝试恢复 docker-fs 集的先前快照时,由于快照较新而被拒绝。

我销毁了新快照,仅用于 docker-fs 集。

我恢复了旧的快照。

还是没有文件..

就在此时,我知道我搞砸了,zfs 礼貌地拒绝将数据集安装在非空目录上。

我从挂载点清除了自动创建的文件,并且我的..太旧的快照挂载得很好。

我没有做任何其他事情,所以我希望有机会我仍然可以恢复到新快照......

这是历史的相关部分,我的坦克被称为树枝,因为我很奇怪。

zpool历史记录:

2022-11-26.15:46:50 zfs snapshot -r twig@full-2022-11-26-nodockerfs [user 0 (root) on delta:linux]
2022-11-26.15:47:54 [txg:39471260] destroy twig/servers/fs@full-2022-11-26-nodockerfs (671)  [on delta]
2022-11-26.15:47:56 ioctl destroy_snaps
    input:
        snaps:
            twig/servers/fs@full-2022-11-26-nodockerfs
 [user 0 (root) on delta:linux]
2022-11-26.15:47:56 zfs destroy twig/servers/fs@full-2022-11-26-nodockerfs [user 0 (root) on delta:linux]
2022-11-26.15:47:56 [txg:39471261] clone swap twig/servers/fs/%rollback (704) parent=fs [on delta]
2022-11-26.15:47:56 [txg:39471261] destroy twig/servers/fs/%rollback (704)  [on delta]
2022-11-26.15:48:03 ioctl rollback
    output:
        target: 'twig/servers/fs@2020-10-11-all'
 [user 0 (root) on delta:linux]
2022-11-26.15:48:03 zfs rollback twig/servers/fs@2020-10-11-all [user 0 (root) on delta:linux]

我已经停止了 docker 并卸载了数据集..我真的还没有完全搞砸^_^

相关内容