我在 Linux Debian 上有一个 ZFS 卷。
每天晚上在此卷上拍摄快照。
不管什么原因,几天前删除了一个大文件(虚拟磁盘)。此文件仍在使用中(由kvm
)。lsof
显示此文件已删除。
如果我暂停该kvm
过程,我可以恢复已删除的文件cp /proc/<pid>/fd/21 myfile.bak
并在另一个虚拟机中使用它。但我不需要这个当前文件。
我需要这个文件的 2 天旧版本。
由于该文件在几天前被删除,因此它不在备份中。
我认为该文件存在于 ZFS 快照中,但不确定。我没有看到它/zpool/.zfs/snapshotname/path/to/file
有谁知道从 ZFS 快照中获取未真正删除的文件的方法?
每晚都会在此卷上拍摄一个快照。[...] 我需要该文件 2 天前的版本。由于该文件几天前已被删除,因此不在备份中。
每个快照都会显示指定时刻的文件系统。快照是只读的,这意味着快照中的单个文件不能被删除,只能销毁完整的快照。
如果您在 T-1、T-2、T-3 点进行夜间快照,并在 T-3 点之后删除文件本身,则您的快照 T-1 和 T-2 将不再有此文件(但其他人仍然会拥有它)。
因此,您的解决方案是从较旧的快照(在您的情况下,是实际文件尚未删除的最新快照)恢复文件,然后可以选择将其与当前版本进行比较以了解差异。当然,这仅在旧快照仍然存在的情况下才有效。
归档时间: |
|
查看次数: |
3498 次 |
最近记录: |