我正在配置一个 openvz 节点,并想使用 lvm 快照进行备份(我也进行远程备份)。
快照大小与备份分区中的数据相同吗?
如果我有一个包含 100G 数据的逻辑卷,快照大小也是 100G 吗?
我之所以问这个问题是因为我不知道我的卷组中的虚拟机和快照的空间使用情况。
我的vg是450G。
罗伯托
答案1
LVM 快照的大小决定了在快照溢出并损坏之前,您可以在快照或底层卷中写入的最大块数。因此,在您的示例中,如果您有一个 100G 的逻辑卷,您可以创建一个 1GB 的快照卷,它将在您的 LVM 中占用 1G。现在,您可以在快照溢出之前将 1G 的数据写入快照,将 1GB 的数据写入原始卷或将 500MB 的数据写入每个卷。100G 的快照永远不会溢出。
使用快照作为虚拟机的磁盘非常好,因为您可以快速配置它们,但如果您预计用户会写入大量数据,则必须监视快照的大小并可能增加它。相关统计数据Allocated to snapshot
位于lvdisplay
。
答案2
手册页中有一个相关部分对lvcreate
我来说似乎很清楚:
-s, --snapshot
... the snapshot does not need the same amount of
storage the origin has. In a typical scenario, 15-20%
might be enough. In case the snapshot runs out
of storage, use lvextend(8) to grow it. Shrinking
a snapshot is supported by lvreduce(8) as well.
Run lvdisplay(8) on the snapshot in order to check
how much data is allocated to it....
因此,对于 100 GB 的 LV,我会从 20 GB 的快照卷开始。
答案3
快照卷仅包含自创建以来已更改的文件。即,如果您自快照以来仅更改了 2kb 的文件……快照将占用 2kb 的磁盘空间。最好计划在删除快照之前为快照留出足够的空间来执行您需要的操作……即,如果您要在拍摄快照后进行 100gb 的更改……您需要为快照分配 100gb……因此能如果需要的话就消耗100gb。