LVM学习之KVM利用LVM快照备份与恢复虚拟机

简介:

最近一段时间一直在学习有关LVM逻辑卷方面的知识,前几篇文章介绍了有关LVM的逻辑卷的基本相关知识,包括逻辑卷及卷组的扩容与缩小。今天我们再来介绍LVM快照的功能。

注意:本次实验是与虚拟化KVM进行集成测试,通过KVM虚拟机是否正常启动来检查LVM的备份与恢复。

有关LVM的快照功能,我们可以通过lvcreate –help命令,查看帮助文档。如下:

clip_image001

先来查看系统中逻辑卷,使用lvs命令。如下:

clip_image002

通过上图,我们可以看到目前系统中只有一个逻辑卷/dev/vg1/vhostdisk,现在我们来新建一个逻辑卷/dev/vg1/lvmsp,如下

lvcreate -L 30G -n lvmsp vg1

clip_image003

格式化新建的逻辑卷,如下:

mkfs.ext4 /dev/vg1/lvmsp

clip_image004

逻辑卷格式化完毕后,我们在系统中新建一个目录用来挂载刚刚新建的逻辑卷,如下:

mkdir /test

clip_image005

现在我们来挂载逻辑卷,如下:

mount /dev/vg1/lvmsp /test

clip_image006

以上操作完毕后,我们现在把KVM虚拟机的硬盘存放到/test目录下。如下:

cp -v /vhostdisk/testlvmos.img /test/

clip_image007

以上操作完毕后,我们先来测试下现在虚拟机是否可以正常启动。

编辑虚拟机的XML文件,修改硬盘的存放路径。如下:

virsh edit testlvmos

clip_image008

启动虚拟机testlvmos,如下:

virsh start testlvmos

clip_image009

clip_image010

通过上图,我们可以看到虚拟机testlvmos已经正常启动。现在我们关闭虚拟机,在这个时刻给逻辑卷/dev/vg1/lvmsp1,做一个快照。

使用如下命令:

lvcreate -L 100M -s -n lvmsp1 /dev/vg1/lvmsp

或者

lvcreate -s /dev/vg1/lvmsp -n lvmsp1 -L 100M

clip_image011

其中–s表示要创建快照,-n表示快照的名称,-L 表示快照的大小。

同时我们也可以很容易的看到,快照的创建也是很快的几秒钟的事情。这一点很重要,我们的备份工作也是根据这个来的,花费很少的时间却能到达备份的功能。

现在我们把逻辑卷/dev/vg1/lvmsp的快照进行挂载。如下:

mkdir /test1/

mount /dev/vg1/lvmsp1 /test1/

clip_image012

clip_image013

其实,现在我们也可以使用生成的快照来进行正常的操作。只不过这篇文章我们不在此介绍,我们主要来介绍生成快照后的备份与恢复工作。

现在我们来查看做快照之前,逻辑卷/dev/vg1/lvmsp1所挂载的目录/test/详细信息。如下:

ll -h /test/

clip_image014

再来查看快照所挂载的目录/test1/详细信息,如下:

clip_image015

快照前后对比,截图:

clip_image016

通过上图的对比,我们可以发现逻辑卷/dev/vg1/lvmsp的内容,与快照/dev/vg1/lvmsp1的内容是一模一样的。如果我们现在把快照中的内容进行备份的话,这样我们就可以很容易的恢复当前虚拟机的状态。这个也就是我们本篇文章的重点,通过快照来备份虚拟机。

现在我们来做实验,需要以下几个步骤:

1、 备份快照中的文件testlvmos.img

2、 卸载已经挂载的快照/dev/vg1/lvmsp1

3、 删除逻辑卷/dev/vg1/lvmsp所挂载的/test/目录中的所有内容

4、 把通过快照备份的testlvmos.img文件复制到逻辑卷/dev/vg1/lvmsp挂载的目录/test中

我们可以使用cp命令,把快照中的内容备份一份到其他目录。在此我们备份到/baklvm/目录下,如下:

cp -v /test1/testlvmos.img /baklvm/

clip_image017

快照备份完毕后,我们来卸载已经挂载的快照,并删除该快照。如下:

umount /test1/

lvremove /dev/vg1/lvmsp1

clip_image018

现在我们删除逻辑卷/dev/vg1/lvmsp所挂载目录/test/的内容,如下:

rm -r /test/*

clip_image019

删除完毕后,再次启动虚拟机testlvmos,如下:

virsh start testlvmos

clip_image020

通过上图我们可以看到,目前虚拟机testlvmos是无法启动的,提示缺少testlvmos.img文件。

其实通过查看,我们也知道确实是缺少该文件。因为我们刚刚在前面已经删除该文件,如下:

clip_image021

现在我们再把通过快照备份的testlvmos.img文件复制到逻辑卷/dev/vg1/lvmsp所挂载的目录/test/中,如下:

cp -v /baklvm/testlvmos.img /test/

clip_image022

我们再次启动虚拟机testlvmos,如下:

clip_image023

通过上图,我们可以而很清晰的看到,通过快照备份的虚拟机文件和源文件是一模一样的。这样也就恢复了LVM。

总结:利用LVM快照来做备份,主要是两点:

1、 LVM快照数据和原数据一模一样

2、 LVM快照速度快

注意:

1、 LVM快照卷无需做格式化等步骤,可以直接对快照卷进行挂载,卸载等操作,而且操作完成之后,就应该立即删除快照,以减轻系统的I/O负担。 快照不会自动更新,长久保留是没有意义的。

2、 LVM快照在恢复数据时,一定要先删除快照。否则LVM使用的还是原来的数据。

相关文章
|
7月前
|
KVM 虚拟化
KVM虚拟机的桥接网络
文章主要介绍了KVM虚拟机的NAT和桥接网络类型的工作原理、配置方法以及如何进行网络模式的切换。
132 3
KVM虚拟机的桥接网络
|
7月前
|
KVM 虚拟化
KVM虚拟机的克隆
这篇文章介绍了如何使用KVM虚拟机进行完整克隆和链接克隆,包括手动克隆和使用virt-clone工具克隆的方法,以及如何编写脚本来实现自动化克隆和删除虚拟机。
169 3
KVM虚拟机的克隆
|
7月前
|
KVM 虚拟化
KVM虚拟机的热迁移
这篇文章详细介绍了KVM虚拟机的热迁移过程,包括临时迁移和永久迁移的步骤,以及可能遇到的故障和解决方案。
281 1
KVM虚拟机的热迁移
|
7月前
|
KVM 虚拟化 数据安全/隐私保护
KVM虚拟机安装实战
本文讲述了如何创建并使用VNC连接KVM虚拟机的详细教程,包括安装图解和命令行参数说明。
199 8
|
7月前
|
KVM 虚拟化
KVM虚拟机的冷迁移
这篇文章详细描述了KVM虚拟机的冷迁移过程,包括无依赖环境迁移、有链接克隆虚拟机迁移、多块磁盘迁移的案例,以及可能遇到的错误和解决方案。
272 3
|
1月前
|
缓存 Linux 调度
【YashanDB数据库】VMware虚拟机使用默认安装,在掉电之后数据库无法启动
VMware虚拟机使用默认安装,在掉电之后数据库无法启动
|
1月前
|
IDE 测试技术 数据库
【YashanDB知识库】使用vmware虚拟机安装的YashanDB,本机无法访问
在 VMware 虚拟机中安装并测试 YashanDB,数据库及虚拟机运行正常,但本地 IDE 工具无法连接虚拟机中的数据库。问题可能与 VMware 网络适配器配置或网络模式(如 NAT、桥接)有关,导致网络通信异常。需检查虚拟机网络设置、IP 地址配置以及防火墙规则,确保本地与虚拟机间网络连通性。目前无明确修复版本。
|
3天前
|
Linux 虚拟化 iOS开发
Windows Server 2008 R2 OVF (2025 年 4 月更新) - VMware 虚拟机模板
Windows Server 2008 R2 OVF (2025 年 4 月更新) - VMware 虚拟机模板
54 29
Windows Server 2008 R2 OVF (2025 年 4 月更新) - VMware 虚拟机模板
|
24天前
|
安全 Linux 虚拟化
VMware Tools 12.5.1 下载 - 虚拟机必备组件 (驱动和交互式服务)
虚拟机必备组件 (驱动和交互式服务)
104 13
VMware Tools 12.5.1 下载 - 虚拟机必备组件 (驱动和交互式服务)