LVM 快照与文件系统快照

nip*_*p3o 33 zfs lvm snapshot btrfs

据我所知,LVM 可以拍摄卷的快照。还有许多支持快照的文件系统(ZFS、Btrfs、reiserfs 等)。

但是,我一直不明白 LVM 快照和文件系统快照之间的区别。如果可以使用 LVM 拍摄快照,为什么有人要花时间在文件系统中实现它?

编辑:在某些情况下,他们中的任何一个是首选吗?为什么?

sys*_*138 24

大多数这些快照是写时复制快照,它们在很少更新的系统上非常快速且非常便宜(存储方面)。LVM 快照是 COW 快照,ZFS/BTRFS 都有 COW 模式的快照,reiserfs 本身没有快照,Novell 的 NSS 文件系统也是 COW,Windows NTFS 卷的 Shadow Copy 卷也是如此。

写时复制快照将目标卷的元数据副本复制到快照池中。然后,根据他们使用的 COW 模式,他们会在写入新数据之前将新写入覆盖的数据复制到快照池。

ZFS 和(最终如果还没有)BTRFS 具有完整快照功能,这对于捕捉到单独的媒体非常有用,这对于使用可移动媒体的运动网备份系统非常方便。不过,ZFS 并不称其为“快照”,它们利用 ZFS 的能力,通过网络使用卷和快照zfs send并将zfs recv其复制到远程主机(或本地阵列)。

与 LVM 相比,我更喜欢文件系统级别的快照功能,因为我更相信文件系统本身可以干净地处理该过程。但是,在缺乏直接文件系统支持的情况下,LVM 在大多数情况下应该可以正常工作。

如果您需要快速进行时间点备份以满足短期恢复需求,则 COW 快照非常有用。比如每天做一个,或者每天 4 次,snap 可以保存一周。如果您需要恢复用户意外删除的文件,或者需要将整个系统回滚到更新前的配置,这将非常方便。某些备份系统还可以将它们用作完全静止的文件系统,因此快照卷中获取的备份不必担心打开的文件会妨碍您。要记住的关键是快照卷将与主卷位于同一存储中,因此在阵列故障的情况下不要给您任何东西。

如果将完整快照拍摄到某种可移动或远程媒体,则它们很好。如果您有网络存储,目标可能是与主存储所在的不同的 iSCSI 或光纤通道阵列。这为您提供了针对某些类型故障的阵列外保护。如果使用可移动介质,例如 3TB ESATA 驱动器,您甚至可以将其用作简单的磁盘备份系统。这些快照可以位于与其 COW 兄弟不同的硬件上,因此对于灾难恢复非常有用。


在完整与 COW 快照上。

多年来,“快照”这个词已经有了一些变化。今年,我很确定它的意思是“使用块重定位对原始数据进行写时复制”。根据这个定义,上面显示的“完整”快照实际上不是快照,而是复制。一些存储供应商过去曾使用不同的“快照”定义来描述他们执行的各种块级操作。令人困惑的是使用快照作为复制过程一部分的系统。


eww*_*ite 5

LVM 需要预先规划。我倾向于不使用它,因为它也是另一层抽象并且在我需要时很少可用。不过,还有其他选项可以在没有 LVM 的情况下在文件系统级别(在 Linux 中)进行克隆。您可以使用R1Soft 的热复制来执行此操作。它是一个内核模块,但允许您即时添加此功能。