KVM管理-快照

news2025/1/19 12:47:34

KVM管理-快照

创建快照

为虚拟机vm1创建一个快照

在这里插入图片描述

[root@myserver ~]# virsh snapshot-create-as vm1 vm1.snap
Domain snapshot vm1.snap created

快照只能使用qcow2创建,raw格式一般无法创建快照

查看磁盘镜像信息

[root@myserver ~]# qemu-img info /var/lib/libvirt/images/vm1.qcow2
image: /var/lib/libvirt/images/vm1.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 11G
cluster_size: 65536
Snapshot list:
ID        TAG                 VM SIZE                DATE       VM CLOCK
1         vm1.snap               284M 2023-05-15 22:53:00   00:04:29.314
Format specific information:
    compat: 1.1
    lazy refcounts: true

查看vm1的快照

[root@myserver ~]# virsh snapshot-list vm1
 Name                 Creation Time             State
------------------------------------------------------------
 vm1.snap             2023-05-15 22:53:00 -0400 running

创建raw磁盘文件

[root@myserver ~]# qemu-img create -f raw /var/lib/libvirt/images/vm1-1.raw 2G
Formatting '/var/lib/libvirt/images/vm1-1.raw', fmt=raw size=2147483648
[root@myserver ~]# ll -h /var/lib/libvirt/images/vm1-1.raw
-rw-r--r-- 1 root root 2.0G May 15 23:00 /var/lib/libvirt/images/vm1-1.raw

修改配置文件

[root@myserver ~]# cd /etc/libvirt/qemu/
[root@myserver qemu]# ls
networks  vm1.xml
[root@myserver qemu]# vim vm1.xml


[root@myserver qemu]# virsh define vm1.xml
Domain vm1 defined from vm1.xml

在vm1.xml将这段内容修改成你需要的,slot不能相同,复制粘贴到文件中此格式相同文本的位置附近

   <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/var/lib/libvirt/images/vm1-1.raw'/>
      <target dev='vdb' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
    </disk>

创建一个快照

[root@myserver qemu]# virsh snapshot-create-as vm1 vm1.snap1
error: unsupported configuration: internal snapshot for disk vdb unsupported for storage type raw

刚刚放进去的raw磁盘不支持拍摄快照

将这个磁盘文件格式做一个转换

[root@myserver qemu]# qemu-img convert -O qcow2 /var/lib/libvirt/images/vm1-1.raw /var/lib/libvirt/images/vm1-1.qcow2
[root@myserver qemu]# cd /var/lib/libvirt/images/
[root@myserver images]# ll -h
total 11G
-rw-r--r-- 1 root root 193K May 15 23:19 vm1-1.qcow2
-rw-r--r-- 1 root root 2.0G May 15 23:00 vm1-1.raw
-rw------- 1 qemu qemu  11G May 15 23:19 vm1.qcow2
[root@myserver images]# qemu-img info vm1-1.qcow2
image: vm1-1.qcow2
file format: qcow2
virtual size: 2.0G (2147483648 bytes)
disk size: 196K
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false

再次修改配置文件,将磁盘修改为qcow2格式

[root@myserver images]# vim /etc/libvirt/qemu/vm1.xml
[root@myserver images]# virsh de
define               destroy              detach-device-alias  detach-interface
desc                 detach-device        detach-disk
[root@myserver images]# virsh define /etc/libvirt/qemu/vm1.xml
Domain vm1 defined from /etc/libvirt/qemu/vm1.xml
   <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/var/lib/libvirt/images/vm1-1.qcow2'/>
      <target dev='vdb' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
    </disk>

恢复快照

创建一个快照测试

[root@myserver images]# virsh snapshot-create-as vm1 vm1.snap2
Domain snapshot vm1.snap2 created

成功创建

启动虚拟机vm1

在这里插入图片描述
在这里插入图片描述

在Linux主机上给vm1创建第三个快照

[root@myserver ~]# virsh snapshot-create-as vm1 vm1.snap3
Domain snapshot vm1.snap3 created

回到虚拟机vm1中,给/test中复制两个文件
在这里插入图片描述

在Linux主机上给vm1创建第四个快照

[root@myserver ~]# virsh snapshot-create-as vm1 vm1.snap4
Domain snapshot vm1.snap4 created

恢复到第三个快照

[root@myserver ~]# virsh snapshot-revert vm1 vm1.snap3

查看/test目录

在这里插入图片描述

恢复到第四个快照

[root@myserver ~]# virsh snapshot-revert vm1 vm1.snap4

在这里插入图片描述

删除虚拟机快照

[root@myserver ~]# virsh snapshot-list vm1
 Name                 Creation Time             State
------------------------------------------------------------
 vm1.snap             2023-05-15 22:53:00 -0400 running
 vm1.snap2            2023-05-15 23:35:28 -0400 shutoff
 vm1.snap3            2023-05-15 23:46:23 -0400 running
 vm1.snap4            2023-05-15 23:50:32 -0400 running
[root@myserver ~]# virsh snapshot-delete --snapshotname vm1.snap4 vm1
Domain snapshot vm1.snap4 deleted

[root@myserver ~]# virsh snapshot-list vm1
 Name                 Creation Time             State
------------------------------------------------------------
 vm1.snap             2023-05-15 22:53:00 -0400 running
 vm1.snap2            2023-05-15 23:35:28 -0400 shutoff
 vm1.snap3            2023-05-15 23:46:23 -0400 running

一个批量删除虚拟机快照的小脚本

进入Linux主机创建一个脚本,直接删除所有快照

查看所有guestos虚拟机名
[root@myserver test]# virsh list --all --name
vm1


获取某个虚拟机的所有快照名
[root@myserver test]# virsh snapshot-list vm1 --name
vm1.snap
vm1.snap2
vm1.snap3

测试过程

[root@myserver test]# ./rm-all-snap
获取所有虚拟机
vm1
请输入你要删除所有快照的虚拟机名称 :
vm1
获取 vm1 所有快照列表
vm1.snap1 vm1.snap2 vm1.snap3 vm1.snap4 vm1.snap5
确定要删除 vm1 的所有快照吗[y/n]?
n
取消删除
脚本执行完毕
[root@myserver test]# virsh snapshot-list vm1
 Name                 Creation Time             State
------------------------------------------------------------
 vm1.snap1            2023-05-16 01:59:29 -0400 shutoff
 vm1.snap2            2023-05-16 01:59:32 -0400 shutoff
 vm1.snap3            2023-05-16 01:59:38 -0400 shutoff
 vm1.snap4            2023-05-16 01:59:40 -0400 shutoff
 vm1.snap5            2023-05-16 01:59:43 -0400 shutoff

[root@myserver test]# ./rm-all-snap
获取所有虚拟机
vm1
请输入你要删除所有快照的虚拟机名称 :
vm1
获取 vm1 所有快照列表
vm1.snap1 vm1.snap2 vm1.snap3 vm1.snap4 vm1.snap5
确定要删除 vm1 的所有快照吗[y/n]?
y
Domain snapshot vm1.snap1 deleted

vm1.snap1 已被删除
Domain snapshot vm1.snap2 deleted

vm1.snap2 已被删除
Domain snapshot vm1.snap3 deleted

vm1.snap3 已被删除
Domain snapshot vm1.snap4 deleted

vm1.snap4 已被删除
Domain snapshot vm1.snap5 deleted

vm1.snap5 已被删除
脚本执行完毕
[root@myserver test]# virsh snapshot-list vm1
 Name                 Creation Time             State
------------------------------------------------------------


注意执行脚本前首先要给脚本赋予执行权限

查看脚本代码:

[root@myserver test]# cat rm-all-snap

#!/bin/bash
echo "获取所有虚拟机"
vm_list=$(virsh list --all --name)
echo $vm_list

echo "请输入你要删除所有快照的虚拟机名称 :"
read vm_name
snap_list=$(virsh snapshot-list "$vm_name" --name)
echo "获取" $vm_name "所有快照列表"
echo $snap_list
echo "确定要删除" $vm_name "的所有快照吗[y/n]?"
read chocie
if [ "$chocie" == "y" ];then
  for snap_name in $snap_list;do
    virsh snapshot-delete --snapshotname "$snap_name" "$vm_name"
    echo "$snap_name" "已被删除"
  done
else
  echo "取消删除"
fi

echo "脚本执行完毕"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/532435.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

方案设计——食物测温仪方案

食物测温仪&#xff0c;在食物烹饪时&#xff0c;温度和时间至关重要&#xff0c;所以食物测温仪孕育而生&#xff0c;当用户使用时只需将食物测温仪的探头插入食物中&#xff0c;即刻能得到当前食物温度数据&#xff0c;不必用经验判断。做为一款食物测温仪&#xff0c;运用场…

Spring Boot :统一功能处理

在用户登陆验证的业务中&#xff0c;如果只是使用Spring AOP的话&#xff0c;session无法获取的&#xff0c;还有各种参数&#xff08;request等&#xff09;很难获取&#xff0c;这时候Spring拦截器就发挥了重大的作用了。 1.Spring 拦截器 创建拦截器分俩步&#xff1a;1.创…

项目集效益管理

项目集效益管理是定义、创建、最大化和交付项目集所提供的效益的绩效领域。 本章内容包括&#xff1a; 1 效益识别 2 效益分析和规划 3 效益交付 4 效益移交 5 效益维持 项目集效益管理包括一系列对项目集的成功极为重要的要素。项目集效益管理包括阐明项目集的 计划效益和预期…

AMBER分子动力学模拟之结果分析(最低能量结果)-- HIV蛋白酶-抑制剂复合物(3)

AMBER分子动力学模拟之结果分析(最低能量结果)-- HIV蛋白酶-抑制剂复合物(3) 在analysis目录下 解析.out文件 下载process_mdout.perl 脚本 perl process_mdout.perl ../md/md0.out ../md/md1.out ../md/md2.out # 可以不使用md0.out # 或者 $AMBERHOME/bin/process_md…

ShardingSphere 5.3 系列ShardingSphere-Proxy保姆级教程 | Spring Cloud 50

一、前言 通过以下系列章节&#xff1a; Spring Boot集成ShardingSphere实现数据分片&#xff08;一&#xff09; | Spring Cloud 40 Spring Boot集成ShardingSphere实现数据分片&#xff08;二&#xff09; | Spring Cloud 41 Spring Boot集成ShardingSphere实现数据分片&…

Linux:centos:组账户管理 》》添加组,用户加入组(设置组密码),删除组,查询账户信息,查询登录用户信息

/etc/group # 组信息文件 /etc/gshadow # 组密码文件&#xff08;不常用&#xff09; groupadd &#xff08;属性&#xff09; 组名 # 新建组 groupdel &#xff08;属性&#xff09; 组名 # 删除组 gpasswd # 可以…

Cartographer源码阅读---番外篇: Submap封装与维护

Cartographer中Submap(子图)没有被直接的调用进行维护, 而是针对2D和3D场景分别派生出子类Submap2D和Submap3D, 进行调用. 以2D为例, 为了方便维护, 又把Submap2D封装成了ActiveSubmaps2D进行维护, 其维护方式类似与滑窗, 也是只维护最近的一些数据. 1. Submap类 /*** brief …

Python学习之生成带logo背景图的二维码(静态和动态图)

前言 二维码简称 QR Code&#xff08;Quick Response Code&#xff09;&#xff0c;学名为快速响应矩阵码&#xff0c;是二维条码的一种&#xff0c;由日本的 Denso Wave 公司于 1994 年发明。现随着智能手机的普及&#xff0c;已广泛应用于平常生活中&#xff0c;例如商品信息…

探索三维世界【4】:Three.js dat.gui gsap 的使用

探索三维世界【4】&#xff1a;Three.js & dat.gui & gsap 的使用 1、dat.gui是什么&#xff1f;2、gsap的介绍与使用2.1、前提准备工作&#xff08;绘制一个BoxGeometry&#xff09;2.2、安装引入gsap动画库2.3、使用gsap动画2.4、配合事件使用 3、使用dat.gui3.1、添…

生物信息学知识点

生物信息学知识点 1. 序列比对&#xff1a;1.1 基本概念&#xff1a;1.2 全局比对和局部比对&#xff1a;1.3 空位罚分的改进&#xff1a;1.4 同源性和相似性&#xff1a;1.5 相似性矩阵&#xff1a;1.5.1 PAM&#xff1a;1.5.2 BLOSUM&#xff1a; 2. BLAST算法&#xff1a;2.…

React | React的过渡动画

✨ 个人主页&#xff1a;CoderHing &#x1f5a5;️ React.js专栏&#xff1a;React的过渡动画 &#x1f64b;‍♂️ 个人简介&#xff1a;一个不甘平庸的平凡人&#x1f36c; &#x1f4ab; 系列专栏&#xff1a;吊打面试官系列 16天学会Vue 11天学会React Node专栏 &#…

Grafana之Clock Panel使用(06)

Clock Panel可以用来显示当前(各国)时间或用于倒计时,并支持每秒更新一次。 Clock plugin for Grafana | Grafana Labs Clock Panel也是Grafana Labs提供,但并非Native,需自行安装,安装命令如下: # grafana-cli plugins install grafana-clock-panel # systemctl …

前端面试题 — — vue篇

前端面试笔记之vue篇 前言1.数据双向绑定原理⭐⭐⭐2. VUE生命周期⭐⭐⭐3.组件之间如何传值⭐⭐⭐4.路由之间如何传参⭐5.谈一谈VUEX⭐⭐6.如何解决VUEX页面刷新数据丢失问题&#xff1f;⭐⭐7.computed和watch的区别&#xff1f;⭐⭐⭐8.如何封装axios&#xff1f;⭐9.Route和…

APP和小程序共同塑造现代化政务服务

随着移动互联网的飞速发展&#xff0c;政务服务也开始向移动端转移&#xff0c;政务App和小程序结合&#xff0c;可以使政府更好地实现数字化转型和提供优质的政务服务。本文将探讨政务App和小程序的结合优势&#xff0c;以及如何推进政务App和小程序的发展。 移动政务服务应用…

RTSP/RTP on TCP 协议抓包记录

仅做记录&#xff0c;无他。 RTSP OPTIONS 客户端发送&#xff1a; 服务端响应 RTSP DESCRIBE 客户端发送 服务端响应 RTSP SETTUP 客户端发送请求 服务端响应 RTSP PLAY 客户端发送请求 服务端响应 RTP包 这个比较复杂&#xff0c;得好好解析&#xff0…

Git 解决missing Change-Id in message footer

ERROR: commit b007456: missing Change-Id in message footer 无论是linux 还是 window 出现这个&#xff0c;提示都是一样的&#xff0c;按照提示执行就好&#xff0c;网上基本都是这么说的&#xff0c;有的基本都是抄来抄去。 window 遇到这个问题解决步䠫&#xff1a; …

数学天才陶哲轩主持白宫生成式AI工作组,李飞飞、Hassabis发表演讲

夕小瑶科技说 分享 来源 | 新智元 最近&#xff0c;「数学天才」陶哲轩表示&#xff0c;自己将领导白宫生成式人工智能工作组&#xff0c;就当前AI评估并收集意见。在陶哲轩看来&#xff0c;加入工作流的ChatGPT在数学专业领域中&#xff0c;并没有太多增值。 近来&#xff0c…

Windows 环境解压 zip 压缩包乱码问题

前言 最近在接受他人上传的 ZIP 压缩包时&#xff0c;发现解压后文件名出现了乱码&#xff0c;记得自己很久以前似乎把系统的编码改为了 UTF&#xff0c;所以盲猜是压缩包发送人的系统使用了 GBK 编码&#xff0c;出现了错误。 正文 探索 搜了一下&#xff0c;发现了知乎上一…

360°VR全景图片,探索未知,畅游全景

随着科技的不断发展&#xff0c;人们对于视觉的需求越来越高&#xff0c;单一平面的图片已经无法满足人们的需要。360VR全景图片的出现填补了这个空白&#xff0c;它以其全景视角和互动体验&#xff0c;为我们带来了一场视觉盛宴。下面就让我们一起来探讨一下360VR全景图片的特…

网易云商·七鱼智能客服自适应 ProtoStuff 数据库缓存实践

需求背景 目前&#xff0c;网易云商七鱼智能客服数据库缓存使用了 spring-data-redis 框架&#xff0c;并由自研的缓存组件进行管理。该组件使用 Jackson 框架对缓存数据进行序列化和反序列化&#xff0c;并将其以明文 JSON 的形式存储在 Redis 中。 这种方式存在两个问题&…