如何在 LVM 中拍摄“逻辑卷快照并恢复” - 第三部分
LVM 快照是lvm卷的节省空间的时间点副本。它仅适用于 lvm,并且仅当源逻辑卷更改为快照卷时才会消耗空间。如果源卷对 1GB 的总和进行了巨大更改,则快照卷也会进行相同的更改。为了提高空间效率,最好始终进行小规模的更改。如果快照存储空间不足,我们可以使用 lvextend 来增长。如果我们需要缩小快照,我们可以使用 lvreduce。
如果我们在创建快照后不小心删除了任何文件,我们不必担心,因为快照中有我们删除的原始文件。创建快照时该文件可能就在那里。不要更改快照卷,在使用快照进行快速恢复时保持原样。
快照不能用作备份选项。备份是某些数据的主副本,因此我们不能使用快照作为备份选项。
要求
- 在 Linux 中使用 LVM 创建磁盘存储 – 第 1 部分
- 如何在 Linux 中扩展/减少 LVM – 第二部分
我的服务器设置
- 操作系统 – CentOS 6.5,带 LVM 安装
- 服务器IP – 192.168.0.200
第1步:创建LVM快照
首先,使用以下“vgs”命令检查卷组中的可用空间以创建新快照。
vgs
lvs
您会看到,上面的 vgs 输出中还剩下 8GB 的可用空间。因此,让我们为我的一个名为 howtoing_datas 的卷创建一个快照。出于演示目的,我将使用以下命令仅创建 1GB 快照卷。
lvcreate -L 1GB -s -n tecmint_datas_snap /dev/vg_tecmint_extra/tecmint_datas
OR
lvcreate --size 1G --snapshot --name tecmint_datas_snap /dev/vg_tecmint_extra/tecmint_datas
上面的两个命令都做同样的事情:
- -s – 创建快照
- -n – 快照名称
这里是对上面强调的每一点的解释。
- 我在这里创建的快照的大小。
- 创建快照。
- 为快照创建名称。
- 新快照名称。
- 我们将为其创建快照的卷。
如果要删除快照,可以使用“lvremove”命令。
# lvremove /dev/vg_howtoing_extra/howtoing_datas_snap
现在,使用以下命令列出新创建的快照。
lvs
如上所示,快照已成功创建。我用箭头标记了快照的创建位置,它是 howtoing_datas。是的,因为我们已经为 howtoing_datas l-volume 创建了快照。
让我们向 howtoing_datas 添加一些新文件。现在卷中有一些大约 650MB 的数据,我们的快照大小是 1GB。因此有足够的空间来备份我们对快照卷的更改。在这里我们可以使用以下命令查看快照的状态。
lvs
您会看到,快照卷的 51% 已被使用,对文件进行更多修改没有问题。有关更详细的信息,请使用该命令。
lvdisplay vg_tecmint_extra/tecmint_data_snap
同样,这里对上图中突出显示的每一点都有清晰的解释。
- 快照逻辑卷的名称。
- 当前使用的卷组名称。
- 读写模式下的快照卷,我们甚至可以挂载该卷并使用它。
- 创建快照的时间。这非常重要,因为快照将查找该时间之后的每个更改。
- 该快照属于howtoing_datas 逻辑卷。
- 逻辑卷处于联机状态并可供使用。
- 我们拍摄快照的源卷的大小。
- Cow-table 大小=写入时复制,这意味着对 howtoing_data 卷所做的任何更改都将写入此快照。
- 目前,我们使用的快照大小,howtoing_datas 是 10G,但我们的快照大小是 1GB,这意味着我们的文件约为 650 MB。因此,如果文件在 howtoing_datas 大小增长到 2GB 大小,现在的 51% 将增加超过快照分配的大小,那么我们肯定会遇到快照问题。这意味着我们需要扩展逻辑卷(快照卷)的大小。
- 给出快照的块的大小。
现在,让我们在 howtoing_datas 中复制超过 1GB 的文件,看看会发生什么。如果这样做,您将收到一条错误消息“输入/输出错误”,这意味着快照空间不足。
如果逻辑卷已满,它将自动删除,并且我们无法再使用它,即使我们扩展快照卷的大小也是如此。创建快照时最好与源大小相同,howtoing_datas大小为10G,如果我创建10GB大小的快照,它永远不会像上面那样溢出,因为它有足够的空间可以占用您的音量快照。
步骤2:在LVM中扩展快照
如果我们需要在溢出之前扩展快照大小,我们可以使用。
lvextend -L +1G /dev/vg_tecmint_extra/tecmint_data_snap
现在快照总共有 2GB 大小。
接下来,使用以下命令验证新的大小和 COW 表。
lvdisplay /dev/vg_tecmint_extra/tecmint_data_snap
了解快照卷的大小和使用情况%。
lvs
但如果您有与源卷大小相同的快照卷,我们就不需要担心这些问题。
步骤 3:恢复快照或合并
要恢复快照,我们需要先卸载文件系统。
unmount /mnt/tecmint_datas/
只需检查挂载点是否已卸载即可。
df -h
这里mount已经被卸载了,所以我们可以继续恢复快照。使用命令 lvconvert 恢复快照。
lvconvert --merge /dev/vg_tecmint_extra/tecmint_data_snap
合并完成后,快照卷将自动删除。现在我们可以使用 df 命令查看分区的空间。
df -Th
快照卷自动删除后。您可以看到逻辑卷的大小。
lvs
重要:要自动扩展快照,我们可以在conf文件中进行一些修改。对于手动,我们可以使用 lvextend 进行扩展。
使用您选择的编辑器打开 lvm 配置文件。
vim /etc/lvm/lvm.conf
搜索单词“自动扩展”。默认情况下,该值将类似于以下内容。
此处将 100 更改为 75,如果是这样,自动扩展阈值为 75,自动扩展百分比为 20 ,它会将大小扩大 20%
如果快照卷达到75%,它会自动将快照卷的大小再扩展20%。这样,我们就可以自动扩展。使用 wq! 保存并退出文件。
这将保存快照免于溢出丢弃。这也将帮助您节省更多时间。 LVM 是唯一可以进行更多扩展的分区方法,并且具有许多功能,例如精简配置、条带化、虚拟卷等。使用精简池,让我们在下一个主题中看到它们。