首页 > 其他分享 >KVM--虚拟机备份还原

KVM--虚拟机备份还原

时间:2023-04-07 18:34:16浏览次数:44  
标签:kvm 快照 -- 虚拟机 KVM virsh docker02 root

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

kvm虚拟机基础备份方式

虚拟机克隆备份

虚拟机文件复制备份

快照备份

1,虚拟机克隆备份

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

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

[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虚拟机

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

cp  /kvm/img/docker02.img  /opt/vm-docker02/
cp /etc/libvirt/qemu/docker02.xml /opt/vm-docker02/

(2)删除docker02 虚拟机

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

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

#将对应的虚拟机文件拷贝到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 访问

virsh  list  --all
virsh start docker02
virsh console docker02

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

tar jcvf docker02_backup.tar.bz  /opt/vm-docker02/

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

rsync -vaz docker02_backup.tar.bz kvm-node2:/opt

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

tar jxfv docker02_backup.tar.bz

3,虚拟机快照备份恢复

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

[root@kvm-node1 opt]# virsh snapshot-create node03
Domain snapshot 1652791487 created

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

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

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

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

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

[root@kvm-node1 /]# virsh snapshot-current node03

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

在/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

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

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

[root@kvm-node1 /]# virsh snapshot-revert  node03 1652791487

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

[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)删除快照

[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

标签:kvm,快照,--,虚拟机,KVM,virsh,docker02,root
From: https://www.cnblogs.com/cheyunhua/p/17297076.html

相关文章

  • leetcode-1109-差分
    classSolution{publicint[]corpFlightBookings(int[][]bookings,intn){int[]diff=newint[n];for(int[]booking:bookings){intfirst=booking[0],last=booking[1],seats=booking[2];diff[first-1]......
  • 计算机网络通信
    今日目标理解OSI和TCP/IP分层模型理解数据封装与解封、数据传输过程掌握数制转换方法掌握IP地址及其分类/子网掩码及其作用 1、第一台多用途电子计算机:1946.2.14美国宾夕法尼亚大学计算导弹的弹道30人占地170平方重量30吨 2、1957年苏联卫星上天3、1969年-------......
  • openGauss体系架构
    一、体系架构图二、Instance部分Instance部分其实主要指的是数据库运行时的内存部分。openGauss属于单进程多线程模型的数据库,客户端可以使用JDBC/ODBC/Libpq/Psycopg等驱动程序,向openGauss的后端管理线程GaussMaster发起连接请求。当GaussMaster线程接收到客户端程序发送过来的......
  • 利用书签和选择功能实现隐藏切片器
    首先在界面上拖拽切片器:   然后拖拽一个矩形并置于切片器下方:   并排拖拽两个空按钮,分别输入文本文字:打开筛选/关闭筛选  在导航栏【视图】中,点击【书签】和【选择】,开启对应窗口: 在【选择】区域中,选中刚刚添加的两个切片器+一个矩形+两个空按钮,然后点击......
  • ZGC原理
    ZGC中目前会有四种机制导致GC被触发:①定时触发,默认为不使用,可通过ZCollectionInterval参数配置。②预热触发,最多三次,在堆内存达到10%、20%、30%时触发,主要时统计GC时间,为其他GC机制使用。③分配速率,基于正态分布统计,计算内存99.9%可能的最大分配速率,以及此速率下内存将要耗尽的时......
  • 点击子级影响父级点击事件的解决办法
    我要做的一个功能,点击选中一个配料,然后可以加减配料单数量,如图  为了避免点击加减的时候取消选中,给子级的点击事件这样写 @click.native.stop="",父级正常写就好 然后就可以实现各不干扰的点击事件了 ......
  • 源码共读 | tdesign-vue 初始化组件
    前言Tdesign-vue是一由腾讯开源的Vue.js组件库。我们知道,这些大型的组件库业务覆盖面很广,基本都包含了很多组件,很多组件包含了一些通用性代码,如果每开发一个组件,都去把这些通用性代码复制出来,无疑是非常繁琐的,那么作者在开发这些组件时是如何做的呢?学习目标:新增组件:npmrun......
  • 【开源免费】ChatGPT-Java版SDK重磅更新至1.0.10版,支持Tokens计算,快来一键接入。
    简介ChatGPTJava版SDK开源地址:https://github.com/Grt1228/chatgpt-java,目前收获将近1000个star。有bug欢迎朋友们指出,互相学习,所有咨询全部免费。最新版:1.0.10<dependency><groupId>com.unfbx</groupId><artifactId>chatgpt-java</artifactId><version......
  • 连夜干出来一个自动处理【支付宝交易支付投诉管理系统】,支持多商户
    大家好,我是小悟1、问题背景关于支付宝交易支付投诉,目前有两个入口,一个是从账单详情页中点击【对此订单有疑问】>【交易投诉】进行反馈,从这个入口的投诉数据是在支付宝商家平台-账号中心-小程序与代扣等投诉列表显示。另一个入口是从账单详情页中点击【投诉】>【举报中心】进行......
  • 同步合约数据到数据库经典案例1
    之前在《数字藏品发行平台的架构》里讲过,有一种架构希望以区块链的数据为核心。这样就需要将合约保存在区块链上的数据同步到数据库里,方便后续中间件接口的开发。本次我们以同步ConfirmSale事件日志为例,介绍数据同步程序开发的相关知识点。一、先上全部代码```javascriptconst{......