LVM 快照是这样工作的吗?

我正在尝试确定 LVM 图片的确切功能,以便我可以在我的文件服务器上实现它,但是我无法在 google 上发现任何讨论它如何工作的东西,而不仅仅是如何将它用于基本备份系统.

从我读过的内容来看,我相信它的工作原理如下:

  • 您有一个带有主分隔符和整批的 LVM,还有大量未分配的可用空间不在分隔符中
  • 然后您拍摄快照并将其安装在新的逻辑卷上。 照片预计会有变化,所以第一个快照将是一个完整的副本,处理?
  • 然后,第二天你再拍一张快照(这个是分隔线大小不必那么大)并放置它
  • 不知何故,LVM 会关注照片,并且不会在密钥数量上存储未更改的位
  • 然后你决定你有足够的照片并删除第一张。 我不知道这是如何工作的,也不知道这会如何影响下一个快照

有人可以在我错的地方纠正我。 充其量,我在想,我在谷歌上找不到任何东西。


vgdiplay

obu1:/home/jail/home/qps/backup/D# vgdisplay
  --- Volume group ---
  VG Name               fileserverLVM
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               931.51 GB
  PE Size               4.00 MB
  Total PE              238467
  Alloc PE / Size       238336 / 931.00 GB
  Free  PE / Size       131 / 524.00 MB
  VG UUID               qSGaG1-SQYO-D2bm-ohDf-d4eG-oGCY-4jOegU
23
2022-06-07 15:16:21
资源 分享
答案: 4

您没有定义您使用的是 Linux 还是 HP - UX。 在 HP - UX 中,您可以创建一个合理的卷并将其作为另一个逻辑卷的快照安装。 在 Linux 中,您可以创建一个合理的数量作为快照卷。

在 HP-UX 中删除快照是通过卸载数量来完成的; 在 Linux 中,它是通过使用 lvremove 删除逻辑量来完成的。

尽管如此,更改是唯一保存在快照上的内容。 快照提供的时间越长,它储存的更改就越多——以及它可能会填写其他正确大小或启动的机会。

快照卷上的磁盘访问速度比普通卷要慢; 你需要考虑到这一点。

2
2022-06-07 17:44:50
资源

LVM 快照效率低下,图片越多系统运行速度就越慢。

我只支持我们使用的 xfs,而且 xfs_freeze 可用于停止对文档系统的新访问,并在磁盘上开发稳定的映像。

写时复制 被使用,因此磁盘区域被成功使用。

您已经创建了一个合理数量的文件系统,其中有额外的照片区域。

这是FAQ中的一个例子

3
2022-06-07 15:57:46
资源

正如 Evan 所说,LVM 图片是重复写入快照解决方案的一个示例。 它的确切运作方式与 Evan 建议的有点不同,但差别不大。

当您有一个没有快照的 LVM 卷时,联系数量会按照您的预期发生。 一个块被改变了,就是这样。

创建快照后,LVM 会立即创建一个块池。 此游泳池还包含卷的 LVM 元数据的完整副本。 当主卷发生写入(例如升级 inode)时,被覆盖的块被复制到这个新的池中,并且新块与主卷联系。 这就是“重复写入”。 因此,在拍摄快照和主要数量的当前状态之间获得的数据变化越多,该快照池将消耗更多的区域。

当您放置快照时,拍摄快照时写入的元信息允许将快照池块映射到数量(或更高级别的快照)中转换的块。 以这种方式,当获取访问权来获取详细信息块时,LVM 会识别出哪些阻碍了获取权。 至于那个数量的文件系统,没有快照。

詹姆斯提到了这个系统的缺陷。 当您拥有多张相同数量的照片时,每次您联系主卷中的一个块时,您都可能会在每个快照中触发写入。 这是因为每个快照都保留了自己的转换块池。 此外,对于冗长的快照树,访问快照可以在服务器上创建相当多的计算,以确定需要为访问提供哪个确切块。

当您删除快照时,LVM 只是顺着快照池向下移动,并根据需要更新快照树。 如果丢弃的快照是快照树的一部分,那么某些块肯定会被复制到较低程度的快照。 如果它是最实惠的快照(或唯一一个),池刚刚获得丢弃,并且操作非常快。


一些文件系统确实提供了文件系统图片,但 ZFS 和 BTRFS 是其中两个比较知名的。 尽管文件系统本身负责更改/未更改的映射,但它们的工作方式相同。 考虑到您可以 fsck 整个快照系列以实现一致性,这可以说是一种更好的方法,这是您无法直接使用 LVM 完成的事情。

36
2022-06-07 15:40:34
资源

为什么不看LVM-HOWTO 的快照部分

LVM 快照是您的基本“写入时复制”快照服务。 快照实际上只是要求 LVM 给您一个指向文件系统现有状态的“指针”,并将快照后所做的调整写入标记位置。

LVM 照片在托管受快照影响的数量的卷组内“实时” - 而不是另一个数量。 你的声明“ 很棒的交易,还有很多未分配的可用空间,而不是分区”让您的想法似乎是图片“活”在数量团队之外的快照,这是不准确的。您的数量团队停留在硬盘分区中,并且还有要进行快照的卷以及您在该数量团队中实时拍摄的任何类型的快照。

使用 LVM 照片的正常方式不是用于长期存储空间,而是获取文件系统的恒定“图片”,以便可以进行备份。 备份完成后,快照将被丢弃。

当您创建 LVM 快照时,您会分配一定数量的区域来保存在快照活跃时所做的任何类型的调整。 如果进行的调整比您为快照标记的空间还要多,那将毫无意义,也应该被丢弃。 您不打算将照片放在一边,因为 (a) 它们会被填满并且变得毫无意义,而且 (b) 系统在快照充满活力时会影响性能 - 点会变慢。

编辑:

Microsoft 卷影复制服务和 LVM 图片所做的并没有太多不同。 微软的补救措施更加全面(通常是微软的例子——无论好坏,他们的设备和项目通常寻求解决相当大的问题而不是专注于一件事)。

VSS 是一种更全面的补救措施,它将对支持照片的设备设备和基于软件应用程序的快照的支持合并到一个 API 中。 更重要的是,VSS 的 API 允许通过快照 API 使应用程序处于静止状态,而 LVM 快照只是担心照片 - 任何静止的应用程序都是您的问题(将数据源置于“备份”状态等)。

36
2022-06-07 15:39:15
资源

相关问题