但是,我从未理解LVM快照和文件系统快照之间的区别.如果可以使用LVM拍摄快照,为什么有人会花时间在文件系统中实现它?
编辑:在某些情况下,他们是否更喜欢?为什么?
解决方法
写时复制快照将目标卷的元数据副本复制到快照池中.然后,根据他们使用的COW模式,他们会复制在写入新数据之前被新写入快照池覆盖的数据.
ZFS和(最终如果还没有)BTRFS具有完全快照功能,这对于捕捉到单独的媒体非常有用,这对于使用可移动媒体的sneakernet备份系统来说非常方便. ZFS并不称之为“快照”,它们利用ZFS的能力使用zfs send和zfs recv将网络上的卷和快照复制到远程主机(或本地阵列).
我比LVM更喜欢文件系统级快照功能,因为我更好地信任文件系统本身来干净地处理这个过程.但是,由于缺乏直接的文件系统支持,LVM在大多数情况下应该可以正常工作.
如果您需要为短期恢复需求快速执行时间点备份,则COW快照很好.比如每天做一次,或每天做4次,按住一个星期.如果您需要恢复用户意外删除的文件,或者需要将整个系统回滚到更新前的配置,这很方便.它们也可以被某些备份系统用作完全静默的文件系统,因此从快照卷获取的备份不必担心打开文件会妨碍.要记住的关键是快照卷将与主卷位于同一存储上,因此在阵列发生故障时不要给你任何东西.
如果将它们带到可移动或某种类型的远程媒体上,则完整快照很好.如果您有网络存储,则目标可以是与托管主存储的阵列不同的iSCSI或光纤通道阵列.这为某些类型的故障提供了一些脱离阵列保护.如果使用可移动介质(例如3TB ESATA驱动器),您甚至可以将其用作简单的磁盘备份系统.这些快照可以在与COW兄弟不同的硬件上,因此对于灾难恢复非常有用.
On Full vs COW快照.
多年来,“快照”这个词有点漂移了.今年,我很确定这意味着“使用块重定位的原始数据的拷贝写入副本”.根据这个定义,上面显示的“完整”快照实际上不是快照,而是复制.一些存储供应商过去使用了不同的“快照”定义来描述他们执行的各种块级操作.令人困惑的地方是使用快照作为复制过程一部分的系统.