哪些文件系统为用户提供快照功能来恢复数据?

Gra*_*ace 8 filesystems lvm snapshot rsnapshot btrfs

我正在开展一个向青年教授 Linux 的项目。知道他们倾向于删除或损坏其主目录中的项目,我们正在寻找一个好的快照选项。我们将无法访问主要存储供应商提供的精美工具,并希望在文件系统级别找到解决方案。

我读了很多关于 btrfs 的书,但经验很少。我对 LVM 有一些经验,但我不熟悉它的快照功能。文件系统或其他文件系统是否可以选择按需或计划创建快照?然后让这些快照在没有 root 的情况下始终可用,就像每个主文件夹中的 .snapshot 文件夹一样?

理想情况下,该解决方案允许用户在 24 到 48 小时内按需自行恢复备份。我们将为系统进行另一个备份过程和更多的全局备份。但我们不希望这个过程被那些只是犯“错误”的学生使用。

Ric*_*Vel 6

在 Linux 上,btrfs 是文件系统内快照的主要选择,但它还不稳定,尽管它有一些fsck 和修复工具

ZFS 是另一个选项,来自 Solaris。虽然理论上您可以在 Linux 下使用它,但它主要仅在用户空间中实现(尽管在基于内核的实现上有一些工作)并且不在标准 Linux 发行版中。

这个 LVM 答案有一些关于使用 LVM 快照的优点和缺点的细节,以及一些 btrfs/ZFS 链接。对于某些文件系统(ext3 和 XFS),LVM 会在拍摄快照之前负责冻结 FS,但 LVM 快照可能存在性能问题并且仍然存在一些错误。

我认为 LVM 不是您的“用户数据快速快照”应用程序的绝佳解决方案,并且 btrfs/ZFS 尚不适合 [截至 2011 年]。

相反,您可能需要查看rsnapshot,它是一种用户空间工具,可使用任何文件系统高效地创建快照,而无需使用 LVM。因为它使用 rsync 并将快照存储在连续目录下,如果文件没有更改,则使用不同快照之间的硬链接,即使在相当大的文件集上,它也能以惊人的速度运行。它经常用于备份,但也可用于此类用户数据快照要求,只需稍加设置,任何人都可以通过使用只读 NFS 或 Samba 来恢复他们的快照文件 - 请参阅此HOWTO 部分恢复文件。文件可以使用标准 Linux 工具恢复,因为 rsnapshot 将源目录镜像到每个快照目录中。

rsnapshot 使用其标准功能非常灵活,而且由于它是用 Perl 编写的,因此很容易对其进行自定义,例如,如果您想提供按需快照。与文件系统快照相比,主要缺点是速度和磁盘空间 - 每个更改的文件都会在快照中产生一个新副本,而文件系统快照仅复制文件中的新块。

  • rsnapshot 不创建原子快照。块设备/文件系统级快照(LVM、ZFS 等)的一大特点是它们是原子的,即表示特定时间点处于一致状态的数据。 (3认同)

小智 6

截至 2022 年,btrfs对于非 RAID 设置来说被认为是稳定的,并且它提供透明且稳定的快照。

最上面的答案来自 2011 年,并提到btrfsZFS 和 ZFS 都被认为不稳定。btrfs11 年后, Linux 上的 ZFS不再是这种情况。