前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >KVM--虚拟机备份还原(二十)

KVM--虚拟机备份还原(二十)

作者头像
Kevin song
发布2022-11-19 09:34:19
1.6K0
发布2022-11-19 09:34:19
举报

概述

随着云计算,虚拟化在生产业务中的大规模推广,虚拟机的备份恢复显的尤为重要。面对勒索病毒,数据误删等事件,最重要的就是有“备份数据”可供恢复,从而解决数据丢失业务中断的问题。

kvm虚拟机基础备份方式

虚拟机克隆备份

虚拟机文件复制备份

快照备份

1,虚拟机克隆备份

克隆设备必须暂停或关闭虚拟机

virt-clone 命令克隆生成磁盘文件和xml文件

代码语言:javascript
复制
[root@kvm-node1 qemu]# virsh suspend node01
[root@kvm-node1 qemu]# virt-clone --auto-clone -o node01 -n  docker02

-o 被克隆虚拟机

-n 克隆后新的虚拟机

-f 克隆后新虚拟机的磁盘

2,虚拟机复制备份恢复

(1)备份docker02虚拟机

通过复制方式备份恢复虚拟机,虚拟机处于运行状态可以复制

代码语言:javascript
复制
cp  /kvm/img/docker02.img  /opt/vm-docker02/
cp /etc/libvirt/qemu/docker02.xml /opt/vm-docker02/

(2)删除docker02 虚拟机

代码语言:javascript
复制
#关闭虚拟机
virsh  destroy docker02
#删除虚拟机
virsh  undefine docker02
#注意undefine只能删除xml配置文件,需要手动删除磁盘镜像
rm -rf /kvm/img/docker02.img

(3)还原虚拟机备份文件

代码语言:javascript
复制
#将对应的虚拟机文件拷贝到xml文件目录和磁盘镜像目录
mv /opt/vm-docker02/docker02.img  /kvm/img/
mv  /opt/vm-docker02/docker02.xml /etc/libvirt/qemu/
#define重新定义虚拟机
virsh define /etc/libvirt/qemu/docker02.xml

(4)开启还原虚拟机console 访问

代码语言:javascript
复制
virsh  list  --all
virsh start docker02
virsh console docker02

针对VM的配置和镜像文件进行归档

代码语言:javascript
复制
tar jcvf docker02_backup.tar.bz  /opt/vm-docker02/

传送归档的文件到远端服务器

代码语言:javascript
复制
rsync -vaz docker02_backup.tar.bz kvm-node2:/opt

登陆到远端服务器解压归档文件,并进行还原

代码语言:javascript
复制
tar jxfv docker02_backup.tar.bz

3,虚拟机快照备份恢复

(1)对node03虚拟机创建快照

代码语言:javascript
复制
[root@kvm-node1 opt]# virsh snapshot-create node03
Domain snapshot 1652791487 created

默认快照的名称为随机指定分配,可使用snapshot-create-as命令指定快照名称

virsh snapshot-create-as 【虚拟机名】 【快照名】

(2)查看虚拟机快照的版本

代码语言:javascript
复制
[root@kvm-node1 /]# virsh snapshot-list node03
 Name                 Creation Time             State
------------------------------------------------------------
 1652791487           2022-05-17 20:44:47 +0800 running

(3)查看当前虚拟机镜像快照的版本

代码语言:javascript
复制
[root@kvm-node1 /]# virsh snapshot-current node03

(4)查看当前虚拟机镜像文件,快照文件的路径

代码语言:javascript
复制
在/var/lib/libvirt/qemu/snapshot/ 下
[root@kvm-node1 /]# ll /var/lib/libvirt/qemu/snapshot/node03/
total 8
-rw------- 1 root root 4793 May 17 20:44 1652791487.xml

(5)恢复虚拟机快照

确认恢复快照的时间,这里是恢复到1454577442

代码语言:javascript
复制
[root@kvm-node1 /]#  virsh snapshot-list node03
 Name                 Creation Time             State
------------------------------------------------------------
 1652791487           2022-05-17 20:44:47 +0800 running

(6)执行恢复,并确认恢复版本

代码语言:javascript
复制
[root@kvm-node1 /]# virsh snapshot-revert  node03 1652791487

(7)删除虚拟机快照,查看虚拟机快照

代码语言:javascript
复制
[root@kvm-node1 img]# qemu-img info node03.qcow2
image: node03.qcow2
file format: qcow2
virtual size: 50G (53687091200 bytes)
disk size: 2.4G
cluster_size: 65536
Snapshot list:
ID        TAG                 VM SIZE                DATE       VM CLOCK
1         1652791487             334M 2022-05-17 20:44:47   00:01:11.872
Format specific information:
    compat: 1.1
    lazy refcounts: false

(8)删除快照

代码语言:javascript
复制
[root@kvm-node1 img]# virsh snapshot-delete node03 1652791487
Domain snapshot 1652791487 deleted

[root@kvm-node1 img]# qemu-img info node03.qcow2             
image: node03.qcow2
file format: qcow2
virtual size: 50G (53687091200 bytes)
disk size: 2.4G
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-07-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源搬运工宋师傅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档