linux 快照备份导出,KVM之虚拟机几种备份方法(快照/克隆/导出)

为了方便区分宿主主机与虚拟,我们修改主机的hostname。

[root@localhost ~]# hostnamectl set-hostname kvm #修改宿主主机的主机名为kvm

[root@localhost ~]#hostnamectl set-hostname kvmhost1 #修改宿主主机的主机名为kvmhost1

修改完后对系统进行重启生效。

第一种:克隆

1.克隆虚拟机:在克隆虚拟机时,需要关闭虚拟机或者挂起,才能进行克隆。

[root@kvm ~]# virt-clone -o kvmtest -n kvmtestovf -f /var/lib/libvirt/images/kvmtestovf.img

Allocating 'kvmtestovf.img' | 20 GB 00:01:06

Clone 'kvmtestovf' created successfully.

参数解析:

-o :指定源虚拟机

-n :命名新克隆的虚拟机

-f :指定新克隆虚拟机的存放位置

克隆完成后,在生成硬盘映像文件的同时,也会克隆虚拟机的配置文件。

[root@kvm ~]# ls /etc/libvirt/qemu

kvmtestovf.xml kvmtest.xml networks

[root@kvm ~]#

[root@kvm ~]# virsh list –all #查看所有虚拟机

Id Name State

kvmtest shut off

kvmtestovf shut off

2.恢复:

[root@kvm ~]# virsh start kvmtestovf #启动克隆机

Domain kvmtestovf started

[root@kvm ~]# virsh console kvmtestovf #进入克隆机

注:如果虚拟机与克隆机同时开启,可能会在使用VNC连接时出现某一个无法连接,这是由于端口5900被占用,需要修改其中某一台的VNC连接端口。

第二种:快照

1.创建一个用于保存快照文件的目录

[root@kvm ~]# mkdir /var/lib/libvirt/images/save

拍摄快照:拍摄快照需要虚拟机处于开启状态,否则无法拍摄快照

[root@kvm ~]# virsh save --bypass-cache kvmtest /var/lib/libvirt/images/save/kvmtest_save –running

[root@kvm ~]# du -m /var/lib/libvirt/images/save/kvmtest_save #查看快照文件,以m显示文件大小

测试:

[root@kvm ~]# virsh start kvmtest #启动kvmtest虚拟机

[root@kvm ~]# virsh console kvmtest #进入虚拟机

[root@kvmhost1 ~]# mkdir -p /kvm/date/images #在虚拟机中创建文件夹

232 /var/lib/libvirt/images/save/kvmtest_save

在虚拟机中创建文件,测试还原效果。

[root@kvmhost1 ~]# mkdir -p /kvm/date/images

[root@kvmhost1 ~]# cd /kvm/date/images/

[root@kvmhost1 images]# touch test.txt

[root@kvmhost1 images]# ls

test.txt

[root@kvmhost1 images]# pwd

/kvm/date/images

[root@kvmhost1 images]#

2.恢复快照:恢复快照需要虚拟机处于关闭状态,否则无法恢复

[root@kvm ~]# virsh restore /var/lib/libvirt/images/save/kvmtest_save --bypass-cache –running

[root@kvm ~]# virsh console kvmtest

Connected to domain kvmtest

Escape character is ^]

CentOS Linux 7 (Core)

Kernel 3.10.0-327.el7.x86_64 on an x86_64

kvmhost1 login: root

Password:

[root@kvmhost1 ~]# ls /

bin dev home lib64 mnt proc run srv tmp var

boot etc lib media opt root sbin sys usr

[root@kvmhost1 ~]#

b27b19cb675181b1ef3cfdacdd849c76.png

未找到KVM目录,已恢复到初始状态。

第三种:导出:

[root@kvm ~]# virsh dumpxml kvmtest > /etc/libvirt/qemu/kvmtest_clone.xml

查看导出文件

[root@kvm ~]# ls /etc/libvirt/qemu

kvmtest_clone.xml kvmtestovf.xml kvmtest.xml networks

复制磁盘

[root@kvm ~]# cp /var/lib/libvirt/images/kvmtest.qcow2 /var/lib/libvirt/images/kvmtest_clone.qcow2

修改配置文件:

[root@kvm ~]# vim /etc/libvirt/qemu/kvmtest_clone.xml

注:由于此时的虚拟机还未注册,所以暂时不支持virsh edit 编译,所以只能用vi/vim进行编辑

修改以下内容:

1.自定义修改name标签

kvmtest修改为kvmtest_clone

2.修改虚拟机的UUID

任意修改其中一个值,与原有的区分开。

6b124ca5-9adc-40ac-b0b3-a9eeefead161修改为6b124ca5-9adc-40ac-b0b3-a9eeefead163

3.修改disk标签

修改为

注:根据自己磁盘存放路径修改file值

4.修改VNC端口

vnc port 唯一值,不要重复。

注:如果创建的虚拟机时使用console方式连接的在xml文件中是没有graphics项

686fd96ac1967e47152a085b2923603d.png

注册虚拟机

[root@kvm ~]# virsh define /etc/libvirt/qemu/kvmtest_clone.xml

[root@kvm ~]# virsh start kvmtest_clone

可能由于磁盘空间不够启动时出现以下错误:

[XFS] kernel: XFS (dm-0): xfs_log_force: error -5 returned

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值