我试图找出如何LVM快照的工作,所以我可以在我的文件服务器上实现它,但我很难find任何解释它如何工作的谷歌,而不是如何使用它的基础备份系统。
从我读到的,我认为它是这样的:
有人能纠正我在哪里我错了。 充其量,我猜,我找不到任何东西在谷歌上。
vgdiplay
obu1:/ home / jail / home / qps / backup / D#vgdisplay ---卷组--- VG名称fileserverLVM 系统ID 格式lvm2 元数据领域1 元数据序列号3 VG访问读/写 VG状态可resize MAX LV 0 Cur LV 2 打开LV 2 最大PV 0 Cur PV 1 法PV 1 VG尺寸931.51 GB PE大小4.00 MB 总计PE 238467 Alloc PE / Size 238336 / 931.00 GB 免费PE /大小131 / 524.00 MB VG UUID qSGaG1-SQYO-D2bm-ohDf-d4eG-oGCY-4jOegU
Wny没有看看LVM-HOWTO的快照部分 ?
LVM快照是您的基本“写入时复制”快照解决scheme。 快照实际上只不过是要求LVM为您提供一个指向文件系统当前状态的“指针”,并将快照之后所做的更改写入指定区域。
LVM快照在承载快照卷的卷组内“活动”,而不是另一个卷。 你的陈述“……大量的未分配的可用空间而不是分区”使得听起来像你的想法是快照在“快照”的卷组之外“活”,这是不准确的。 您的卷组位于硬盘分区中,卷的快照以及您在卷组中生存的任何shapshots。
使用LVM快照的正常方式不是为了长期存储,而是为了获得文件系统的一致“图像”,以便可以进行备份。 一旦完成备份,快照将被丢弃。
当您创buildLVM快照时,您可以指定一个空间量来保存快照处于活动状态时所做的任何更改。 如果进行了更多的更改,那么您的快照变得不可用,必须丢弃。 您不想留下快照,因为(a)它们会填满并变得无法使用;(b)当快照处于活动状态时,系统的性能会受到影响 – 速度会变慢。
编辑:
Microsoft卷影复制服务和LVM快照的function并没有太大的不同。 微软的解决scheme更全面一些(微软通常就是这种情况),无论他们的工具和产品经常试图解决相当大的问题,而不是集中在一件事情上。
VSS是一个更全面的解决scheme,它将支持快照和基于软件的快照的硬件设备统一到一个API中。 此外,VSS具有API以允许通过快照API使应用程序静止,而LVM快照仅关注快照 – 任何停顿的应用程序都是您的问题(将数据库置于“备份”状态等)。
埃文说,LVM快照是写时复制快照解决scheme的一个例子。 它的工作方式与Evan所暗示的有所不同,但不是很多。
如果您的LVM卷没有快照,则按照您的预期写入卷。 块被改变了,就是这样。
只要创build快照,LVM就会创build一个块的池。 此池还包含卷的LVM元数据的完整副本。 当主卷发生写入操作(例如更新inode)时,被覆盖的块将被复制到新的池中,并且新的块被写入主卷。 这是“抄写”。 因此,获取快照和主卷的当前状态之间的数据变化越多,该快照池将占用的空间就越多。
装载快照时,获取快照时写入的元数据允许将快照池块映射到卷(或更高级别的快照)中更改的块上。 这样,当一个特定块访问时,LVM知道哪个块访问。 就卷的文件系统而言,没有快照。
詹姆斯指出了这个系统的一个缺点。 当有多个相同卷的快照时,每次写入主卷中的块时都可能触发每个快照中的写入操作。 这是因为每个快照维护自己的更改块的池。 而且,对于长的快照树,访问快照可能导致服务器上的相当多的计算,以确定需要为访问提供哪个确切块。
处理快照时,LVM只会删除快照池并根据需要更新快照树。 如果删除的快照是快照树的一部分,则某些块将被复制到较低级别的快照中。 如果它是最低的快照(或者唯一的一个),那么池就会被丢弃,操作非常快。
有些文件系统确实提供了文件系统快照,ZFS和BTRFS只是其中两个最知名的文件系统。 他们的工作方式类似,尽pipe文件系统本身pipe理更改/未更改的映射。 这可以说是一个更好的方法,因为您可以使整个快照族保持一致性,这是直接使用LVM无法做到的。
您不指定是使用Linux还是使用HP-UX。 在HP-UX中,创build一个逻辑卷并将其装载为另一个逻辑卷的快照。 在Linux中,您将创build一个逻辑卷作为快照卷。
在HP-UX中删除快照是通过卸载卷来完成的; 在Linux中,通过使用lvremove删除逻辑卷来完成。
无论如何,这些更改是唯一存储在快照中的内容。 快照可用的时间越长,它所储存的更多的变化 – 如果没有适当的大小或释放,它有可能填满的机会。
快照卷上的磁盘访问速度比正常卷慢; 你必须考虑到这一点。
LVM快照效率低下,快照越多,系统就越慢。
我只支持xfs,因为我们使用的是xfs_freeze,可以用来暂停对文件系统的新访问,并在磁盘上创build一个稳定的映像。
使用写入复制function可以有效地使用光盘空间。
您已经在逻辑卷中创build了一个文件系统,其中有快照的空间。
这是FAQ中的一个例子