Answers:
这些快照中的大多数是写时复制快照,在很少更新的系统上,它们确实非常快而且便宜(在存储方面)。LVM快照是COW快照,ZFS / BTRFS都有快照的COW模式,reiserfs本身没有快照,Novell的NSS文件系统也是COW,Windows NTFS卷的卷影副本也是如此。
写入时复制快照将目标卷的元数据的副本复制到快照池中。然后,根据使用的COW模式,他们将在写新数据之前将被新写操作覆盖的数据复制到快照池。
ZFS和BTRFS(最终如果没有的话)具有完整的快照功能,这对于捕捉到单独的介质很有用,这反过来对于使用可移动介质的便秘网络备份系统非常方便。ZFS不会将其称为“快照”,而是利用ZFS的功能来使用zfs send
和zfs recv
通过网络将卷和快照复制到远程主机(或本地阵列)。
与LVM相比,我更喜欢文件系统级快照功能,因为我更好地相信文件系统本身可以干净地处理该过程。但是,由于缺乏直接的文件系统支持,因此LVM在大多数情况下应该可以正常工作。
如果您需要为快速的短期恢复需求而非常快速地进行时间点备份,则COW快照非常有用。例如每天进行一次,或每天进行4次,请保持一周。如果您需要恢复用户意外删除的文件,或者需要将整个系统回滚到更新前的配置,这将很方便。它们还可以被某些备份系统用作完全静止的文件系统,因此从快照卷获取的备份不必担心打开的文件会受到干扰。要记住的关键是快照卷将与主卷位于同一存储上,因此在阵列故障的情况下不要给您任何东西。
如果将快照带到某种可移动或远程介质中,则快照非常有用。如果您具有网络存储,则目标可能是与主存储所在的iSCSI或光纤通道阵列不同的iSCSI。这可以为某些类型的故障提供阵列外保护。如果使用可移动媒体,例如3TB ESATA驱动器,您甚至可以将其用作简单的磁盘备份系统。这些快照可能与COW兄弟不在同一硬件上,因此对于灾难恢复很有用。
在完整快照与COW快照上。
多年来,“快照”一词已经有些漂移。今年,我非常确定它的意思是“使用块重定位对原始数据进行写时复制”。根据此定义,上面显示的“完整”快照实际上不是快照,而是复制。某些存储供应商过去使用“快照”的不同定义来描述他们执行的各种块级操作。使用快照作为复制过程一部分的系统会引起混乱。
LVM需要预先计划。我倾向于不使用它,因为它也是抽象的另一层,在我需要时很少可用。但是,还有其他选项可以在不使用LVM的情况下在文件系统级别(Linux)进行克隆。您可以使用R1Soft的热复制来执行此操作。这是一个内核模块,但是使您能够即时添加此功能。
非常清楚的问题:由于LVM“不知道”关于FS的任何信息,因此不能保证 LVM的快照具有一致的FS 状况
编辑(请参见评论):—除非FS支持.freeze_fs
,否则为true ,否则应由FS妥善处理。
sync
,快照也与已安装的文件系统完全相同;因此,当您安装它时,它会显示为“不是干净地卸载”(因为它没有被卸载),因此必须先执行一些纠正措施。当然,通常只是日志重播,在之后sync
,应该是空的重播;因此没有数据丢失的危险。
xfs_freeze is intended to be used with volume managers and hardware RAID devices that support the creation of snapshots.
)的特殊功能—快照的特殊功能,LVM-2是否知道并已经使用它?3)告诉我在用户空间(sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/?cvsroot=lvm2)或内核源代码中的什么地方,我可以证明您是正确的告诉我们LVM生产FS同步。
lock a filesystem and force it into a consistent state
。因此,至少我可以说我可能说错了“不能保证拥有一致的FS”,因为这是在FS实现中支持freeze_fs“方法”的问题-某些FS当然具有这种支持(EXT3,Reiser3,XFS),而有些则不是(例如EXT2)。此外,它回答了第二个问题-XFS的冻结很可能由LVM自动处理。
作为其他答案的补充。在FS快照中,您可以受益于FS功能,例如跨所有快照进行压缩和重复数据删除。