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

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

我已经阅读了很多关于btrfs但很少有经验的人.我对LVM有一些经验,但我不熟悉它的快照功能.文件系统或其他文件系统是否可以根据需要或计划创建快照?然后使这些快照始终可用,而不是像每个主文件夹中的.snapshot文件夹一样?

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

解决方法

在Linux上,btrfs是文件系统中快照的主要选项,但是还不稳定,尽管它有一些 fsck and repair tools.

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

This LVM answer有一些关于使用LVM快照和一些btrfs / ZFS链接的pro和con的细节.对于某些文件系统(ext3和XFS),LVM会在创建快照之前冻结FS,但LVM快照可能会出现性能问题并且仍然存在一些错误.

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

相反,您可能希望查看rsnapshot,它是一个用户空间工具,可以使用任何文件系统高效地创建快照,而无需使用LVM.因为它使用rsync并将快照存储在连续目录下,所以如果文件没有更改,则在不同快照之间使用hard links,即使在相当大的文件集上也可以快速运行.它经常用于备份,但也可用于此类用户数据快照要求,只需一点设置就可以让任何人通过使用只读NFS或Samba来恢复其快照文件 – 请参阅此HOWTO section on restoring files.文件可以使用标准Linux工具还原,因为rsnapshot将源目录镜像到每个快照目录中.

rsnapshot使用其标准功能非常灵活,因为它是用Perl编写的,所以很容易定制它,例如如果要提供按需快照.与文件系统快照相比,主要缺点是速度和磁盘空间 – 每个更改的文件都会在快照中生成新副本,而文件系统快照仅复制文件中的新块.

相关文章

查找全部容器的日志文件 $ sudo find /var/lib/docker/conta...
Linux日志文件中列属性的详细解析
在Linux系统中没有duf命令,如何有效地管理磁盘空间?
深入探讨EncryptPad在Linux操作系统中的功能和优势
原理和应用场景:Linux中ttyload工具的工作原理和实际用途
深度解析SELinux的三种策略类型