从损坏的 ZFS 文件系统中恢复数据

从损坏的 ZFS 文件系统中恢复数据

我在 Proxmox 环境中有一个 1TB 文件系统,在尝试恢复容器时不幸被 Proxmox 破坏。文件系统可以恢复,或者至少可以恢复其中存储的部分数据吗?

我尝试过使用 zpool -Df,但返回一个空集,我想那是因为它用于池,而我正在尝试恢复文件系统。来自 zpool 历史记录的相关日志,第一行创建的原始文件系统。

2018-10-25.00:08:13 zfs create -o acltype=posixacl -o xattr=sa -o refquota=1048576000k hddp/subvol-100-disk-0
2019-06-30.21:18:28 zfs destroy -r hddp/subvol-100-disk-0
2019-06-30.21:19:10 zfs create -o acltype=posixacl -o xattr=sa -o refquota=10485760k hddp/subvol-100-disk-0
2019-06-30.21:20:03 zfs destroy -r hddp/subvol-100-disk-0
2019-06-30.21:23:26 zfs create -o acltype=posixacl -o xattr=sa -o refquota=10485760k hddp/subvol-100-disk-0
2019-06-30.21:24:08 zfs destroy -r hddp/subvol-100-disk-0
2019-07-01.00:25:15 zfs create -o acltype=posixacl -o xattr=sa -o refquota=10485760k hddp/subvol-100-disk-0
2019-07-01.00:26:27 zfs destroy -r hddp/subvol-100-disk-0
2019-07-01.01:00:10 zfs create -o acltype=posixacl -o xattr=sa -o refquota=10485760k hddp/subvol-100-disk-0
2019-07-01.01:00:29 zfs destroy -r hddp/subvol-100-disk-0
2019-07-01.01:16:08 zfs create -o acltype=posixacl -o xattr=sa -o refquota=10485760k hddp/subvol-100-disk-0
2019-07-01.01:16:27 zfs destroy -r hddp/subvol-100-disk-0
2019-07-01.01:19:18 zfs create -o acltype=posixacl -o xattr=sa -o refquota=10485760k hddp/subvol-100-disk-0
2019-07-01.01:19:36 zfs destroy -r hddp/subvol-100-disk-0
2019-07-01.01:23:05 zfs create -o acltype=posixacl -o xattr=sa -o refquota=10485760k hddp/subvol-100-disk-0

旧文件系统中存储的任何文件都可以恢复吗?

答案1

不幸的是,答案很可能是否定的,您无法有意义地恢复在 2019-06-30.21:18:28 被破坏的文件系统中的数据。随后创建具有相同数据集名称的新文件系统这一事实并没有真正影响这一点。

作为一般经验法则,在 ZFS 中,缺少备份zfs destroy是不可逆的,但zpool destroy只要超级块未被覆盖,就可以逆向。

相关内容