目录
一、GuestOS安装问题解析
问题1:用图形安装guest os 时卡住
解决:升级系统
[root@localhost ~]# yum upgrade -y
问题2:升级系统后安装guest os的时候还是卡住
解决:需要在安装宿主机的时候安装兼容性程序
注:有些没有安装也可以使用,这可能是bug。
问题3:安装兼容性程序后还是不能正常安装
解决:检查安装包是否正确(有点安装过程中装的主包是qemu-kvm-ev,这个包是不可用的,必须是qemnu-kvm)
[root@localhost ~]# rpm -q qemu-kvm
qemu-kvm-1.5.3-175.el7_9.6.x86_64
[root@localhost ~]# rpm -q qemu-kvm-ev
未安装软件包 qemu-kvm-ev
[root@localhost ~]# rpm -qa | grep kvm
qemu-kvm-tools-1.5.3-175.el7_9.6.x86_64
qemu-kvm-common-1.5.3-175.el7_9.6.x86_64
qemu-kvm-1.5.3-175.el7_9.6.x86_64
如果所有问题都排查过后还是安装不上guestos,最后的原因就是在安装宿主机系统的时候各
种兼容性软件没有安装⽽且Yum也没有⾃动处理导致的。
二、GuestOS升级配置
1、修改配置文件
如:添加磁盘,就要修改下面一段配置
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/vm1-1.img'/> #修改磁盘镜像文件
<target dev='vda' bus='virtio'/> #dev修改磁盘名字
<address type='pci' domain='0x0000' bus='0x00' slot='0x16' function='0x0'/> #slot修改卡槽,centos8是修改bus
</disk>
注:在centos8⾥⾯硬盘和⽹卡的添加已经不能修改slot了,要求修改的是bus地址
2、创建新的空磁盘卷
[root@localhost ~]# qemu-img create -f qcow2 /var/lib/libvirt/images/vm1-1.qcow2 2G
释义:qemu-img create 创建一个磁盘镜像,-f 指定格式为 qcow2,/var/lib/libvirt/images/vm1-1.qcow2创建在此路径下及镜像文件名为vm1-1.qcow2,2G指给新创建的磁盘分配的存储。
3、重新定义
[root@localhost ~]# virsh define /etc/libvirt/qemu/vm1.xml
然后启动虚拟机查看是否添加成功。
或在图形界面修改(注意虚拟机必须处于关闭状态)
1.打开在管理器中选择要修改的虚拟机,点击打开
2.在打开的虚拟机窗口的任务栏上选择 查看 --> 详情
3.在虚拟机硬件详情里选择 磁盘 右击 --> 添加磁盘 --> 在弹出窗口选择存储 填写添加磁盘的信息
添加完成后就可以运行虚拟机查看添加磁盘的了。
三、KVM存储
1、概念
KVM必须要配置⼀个⽬录当作他存储磁盘镜像(存储卷)的⽬录,我们称这个⽬录为存储池。
默认存储池:/var/lib/libvirt/images/
2、存储池管理
1.创建基于文件夹的存储池(目录)
[root@localhost /]# mkdir -p /data/vmfs
2.定义存储池与其目录
[root@localhost ~]# virsh pool-define-as vmdisk --type dir --target /data/vmfs
定义池 vmdisk
释义:virsh pool-define-as 定义池名为vmdisk;–type类型为目录的(dir);–target给 /data/vmfs 定义
3.创建已定义的存储池
1)创建已定义的存储池
[root@localhost ~]# virsh pool-build vmdisk
构建池 vmdisk
2)查看已定义的存储池,存储池不激活⽆法使⽤。
[root@localhost ~]# virsh pool-list --all
名称 状态 自动开始
-------------------------------------------
default 活动 是
root 活动 是
vmdisk 不活跃 否
4.激活并⾃动启动已定义的存储池
[root@localhost ~]# virsh pool-start vmdisk
池 vmdisk 已启动
[root@localhost ~]# virsh pool-autostart vmdisk
池 vmdisk 标记为自动启动
这⾥vmdisk存储池就已经创建好了,可以直接在这个存储池中创建虚拟磁盘⽂件了。
5.在存储池中创建虚拟机存储卷
[root@localhost ~]# virsh vol-create-as vmdisk oeltest03.qcow2 3G --format qcow2
创建卷 oeltest03.qcow2
注:1)KVM存储池主要是体现⼀种管理⽅式,可以通过挂载存储⽬录,lvm逻辑卷的⽅式创建存储池,虚拟机存储卷创建完成后,剩下的操作与⽆存储卷的⽅式⽆任何区别了。
2)KVM存储池也要⽤于虚拟机迁移任务。
6.存储池相关管理命令
1)在存储池中删除虚拟机存储卷
[root@localhost ~]# virsh vol-delete --pool vmdisk oeltest03.qcow2
卷 oeltest03.qcow2 被删除
2)取消激活存储池
[root@localhost ~]# virsh pool-destroy vmdisk
销毁池 vmdisk
3)删除存储池定义的⽬录/data/vmfs
[root@localhost ~]# virsh pool-delete vmdisk
池 vmdisk 被删除
4)取消定义存储池
[root@localhost ~]# virsh pool-undefine vmdisk
池 vmdisk 已经被取消定义
3、生产环境存储的使用
添加lvm和远程存储即可。
4、磁盘格式
1.磁盘镜像文件格式
- raw :原始格式,性能最好;
- qcow2:性能上不如raw,但raw不支持快照,qcow2支持;
(qcow:cow写时拷贝copy on write,性能远不如raw,现在基本不用了,多用于他的升级版qcow2) - qed:现在默认安装是raw格式,所以做快照要把他转换成qcow2。
注:
什么是写时拷贝?
raw⽴刻分配空间,不管你有没有⽤到那么多空间;
qcow2只是承诺给你分配空间,只有当你需要⽤空间的时候,才会给你空间。最多只给你承诺空间的大小,避免空间浪费。
2.创建磁盘文件
1)建立qcow2格式的磁盘文件:
[root@localhost ~]# qemu-img create -f qcow2 /var/lib/libvirt/images/test.qcow2 2G
Formatting '/var/lib/libvirt/images/test.qcow2', fmt=qcow2 size=2147483648 encryption=off cluster_size=65536 lazy_refcounts=off
2)建立raw格式磁盘文件:
[root@localhost ~]# qemu-img create -f raw /var/lib/libvirt/images/test.img 2G
Formatting '/var/lib/libvirt/images/test.img', fmt=raw size=2147483648
3)查看已经创建的虚拟磁盘文件信息:
[root@localhost ~]# qemu-img info /var/lib/libvirt/images/test.qcow2
image: /var/lib/libvirt/images/test.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
5、挂载磁盘
情景:当遇到虚拟机⽆法启动的情况,会对虚拟机的内部进⾏检查。这里使用Libguestfs Linux⼯具集可以在这种情况下提供帮助。
利⽤Libguestfs找出损坏的虚拟机⽂件;
Libguestfs允许在虚拟机上挂载任何类型的⽂件系统,以便修复启动故障。
使⽤Libguestfs,⾸先需要使⽤Libvirt。Libvirt是⼀个管理接⼝,可以和KVM、Xen和其他⼀些基于Liunx的虚拟机相互连接。Libguestfs的功能更加强⼤,可以打开Windows虚拟机上的⽂件。但是⾸先你需要将虚拟机迁移到libguestfs可⽤的环境当中,也就是Linux环境。
注:这里libvirt工具在前面已经安装
假如在系统管理器有台虚拟机不能正常启动了,但文件系统还是正常的,我们通过宿主机的终端执行命令来解决(例如vm1)。
查看磁盘镜像分区信息:
[root@localhost ~]# virt-df -h -d vm1
文件系统 大小 已用空间 可用空间 使用百分比%
vm1:/dev/sda1 1014M 92M 922M 10%
vm1:/dev/centos/root 3.5G 864M 2.6G 25%
#只查看文件系统
[root@localhost ~]# virt-filesystems -d vm1
/dev/sda1
/dev/centos/root
注:在使用命令前先下载Libguestfs工具 yum install libguestfs-tools
挂载磁盘镜像分区:
[root@localhost ~]# guestmount -d vm1 -m /dev/centos/root --rw /mnt
释义:用guestmount命令挂载,-d 挂载vm1,-m 挂载/dev/centos/root 这个分区,–rw权限读写,最终挂载到/mnt。挂载后可在里面提取需要的资源。
注:如果挂载过程中报错fuse: mountpoint is not empty fuse: if you are sure this is safe, use the ‘nonempty’ mount option libguestfs: error: fuse_mount failed: /mnt, see error messages above 可以在前面命令后面添加参数 -o nonempty 。
取消挂载
[root@localhost ~]# guestunmount /mnt/
四、KVM管理
1、KVM基本管理
1.查看虚拟机
[root@localhost ~]# virsh list
Id 名称 状态
----------------------------------------------------
#只查看运行的虚拟机
[root@localhost ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
- vm1 关闭
- vm2 关闭
#查看全部虚拟机
2.查看kvm虚拟机配置文件(例如这里查看vm1)
[root@localhost ~]# virsh dumpxml vm1
3.将vm1虚拟机的配置文件另保存名为vm6.xml
[root@localhost ~]# virsh dumpxml vm1 > /etc/libvirt/qemu/vm6.xml
4.修改vm6的配置文件(不用重启libvirtd)
[root@localhost ~]# virsh edit vm6
编辑了域 vm6 XML 配置。
如果直接用vim修改了配置文件,需要重启libvirtd服务
5.启动
[root@localhost ~]# virsh start vm1
域 vm1 已开始
6.暂定虚拟机
[root@localhost ~]# virsh suspend vm1
域 vm1 被挂起
7.恢复虚拟机
[root@localhost ~]# virsh resume vm1
域 vm1 被重新恢复
8.关闭虚拟机
1)方法1常用
[root@localhost ~]# virsh shutdown vm1
域 vm1 被关闭
2)方法2了解即可
[root@localhost ~]# virsh destroy vm1
域 vm1 被删除
9.重启虚拟机
[root@localhost ~]# virsh reboot vm1
域 vm1 正在被重新启动
10.重置虚拟机(断电重启,比reboot要稍快)
[root@localhost ~]# virsh reset vm1
重新设定域 vm1
11.删除虚拟机
[root@localhost ~]# virsh undefine vm2
注:虚拟机删除一般在关闭状态,在开启状态下undefine是无法删除的(只删除了配置文件,镜像文件未删除),这时再destroy就会直接删除掉了。
12.虚拟机开机自启动
1)设置自动启动
[root@localhost ~]# virsh autostart vm1
域 vm1标记为自动开始
注:默认正常在qemu目录下是没有autostrat这个目录的要设置了自动启动才会自动创建此目录
[root@localhost ~]# ls /etc/libvirt/qemu/autostart/
vm1.xml
2)取消自动启动
[root@localhost ~]# virsh autostart --disable vm1
域 vm1取消标记为自动开始
3)查看所有开机自动启动的GuestOS
#查看自启动目录下设备
[root@localhost ~]# ls /etc/libvirt/qemu/autostart/
#命令列出所有设置了自动启动的虚拟机
[root@localhost ~]# virsh list --all --autostart
Id 名称 状态
----------------------------------------------------
2、虚拟机克隆
1.图形界面
Applications (左上⻆)-----> System Tools ------>Virtual Machine Manager
关闭要克隆的虚拟机,右击虚拟机选择clone。
2.命令行克隆
[root@localhost ~]# virt-clone -o vm1 --auto-clone
正在分配 'vm1-clone.qcow2' | 5.0 GB 00:00:59
成功克隆 'vm1-clone'
#-o 参数指明克隆原始对象(origin);其他都是克隆原始对象的默认配置,名称系统默认。
[root@localhost ~]# virt-clone -o vm1 -n vm2 --auto-clone
#-n 参数用于自定义名称,这里命令克隆虚拟机名称为vm2.
[root@localhost ~]# virt-clone -o vm1 -n vm2 -f /var/lib/libvirt/images/vm2.img
#-f,--file NEW_DISKFILE:为新的客户机使用新的磁盘镜像文件。
3、增量镜像
1.概述
目的:通过⼀个基础镜像(node.img),⾥⾯把各个虚拟机都需要的环境都搭建好,然后基于这个镜像建⽴起⼀个个增量镜像,每个增量镜像对应⼀个虚拟机,虚拟机对镜像中所有的改变都记录在增量镜像⾥⾯,基础镜像始终保持不变。
功能:节省磁盘空间,快速复制虚拟机。
2.实验
准备基础镜像文件(vm1.img),创建一个名为node4.img的增量镜像
1)创建增量镜像文件:
[root@localhost ~]# qemu-img create -b /var/lib/libvirt/images/vm1.img -f qcow2 /var/lib/libvirt/images/node4.img
#创建
[root@localhost ~]#qemu-img info node4.img
#查看增量镜像信息
注:该实验只是针对qcow2格式的镜像文件做了测试,未测试raw格式的镜像文件是否可行。
2)创建虚拟机node4的xml配置文件
#创建
[root@localhost ~]# cp /etc/libvirt/qemu/vm1.xml /etc/libvirt/qemu/node4.xml
#编辑
[root@localhost ~]# vim /etc/libvirt/qemu/node4.xml
<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
virsh edit vm1
or other application using the libvirt API.
-->
<domain type='kvm'>
<name>node4</name> #修改虚拟机名,为node4
<uuid>72535aa9-08b5-49fc-9ed9-0d48a2b2ff4d</uuid> #uid必须修改,否则与基本虚拟机冲突
<memory unit='KiB'>1048576</memory>
<currentMemory unit='KiB'>1048576</currentMemory>
<vcpu placement='static'>1</vcpu>
<os>
<type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
</features>
<cpu mode='custom' match='exact' check='partial'>
<model fallback='allow'>Broadwell-noTSX-IBRS</model>
<feature policy='require' name='md-clear'/>
<feature policy='require' name='spec-ctrl'/>
<feature policy='require' name='ssbd'/>
</cpu>
<clock offset='utc'>
<timer name='rtc' tickpolicy='catchup'/>
<timer name='pit' tickpolicy='delay'/>
<timer name='hpet' present='no'/>
</clock>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<pm>
<suspend-to-mem enabled='no'/>
<suspend-to-disk enabled='no'/>
</pm>
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/node4.img'/> #修改为创建好的增量镜像文件
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw'/>
<target dev='hda' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<controller type='usb' index='0' model='ich9-ehci1'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x7'/>
</controller>
<controller type='usb' index='0' model='ich9-uhci1'>
<master startport='0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0' multifunction='on'/>
</controller>
<controller type='usb' index='0' model='ich9-uhci2'>
<master startport='2'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/>
</controller>
<controller type='usb' index='0' model='ich9-uhci3'>
<master startport='4'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x2'/>
</controller>
<controller type='pci' index='0' model='pci-root'/>
<controller type='ide' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<controller type='virtio-serial' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</controller>
<interface type='network'>
<mac address='52:54:00:c9:19:9b'/> #Mac地址避免冲突也必须修改(末尾三段中一位即可)
<source network='default'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
......
3)定义虚拟机
[root@localhost ~]# virsh define /etc/libvirt/qemu/node4.xml
#定义虚拟机node4
[root@localhost ~]# virsh start node4
#启动node4虚拟机
4)测试
[root@localhost ~]# du -h /var/lib/libvirt/images/vm1.img #查看基础镜像文件信息
5.1G /var/lib/libvirt/images/vm1.img
[root@localhost ~]# du -h /var/lib/libvirt/images/node4.img #查看增量镜像文件信息
15M /var/lib/libvirt/images/node4.img
[root@localhost ~]# dd if=/dev/zero of=test bs=1M count=200 #在虚拟机node4上增量200M大小文件
200+0 records in
200+0 records out
209715200 bytes (210 MB) copied, 2.432561 seconds, 321 MB/
释义:dd用块来创建一个文件;if指从哪里去拿;of指输出文件取一个名;bs指一个块多大;count指拿多少个块。
再次查看两个镜像的信息
[root@localhost ~]# du -h /var/lib/libvirt/images/vm1.img #查看基础镜像文件信息
5.1G /var/lib/libvirt/images/vm1.img
[root@localhost ~]# du -h /var/lib/libvirt/images/node4.img #查看增量镜像文件信息
396M /var/lib/libvirt/images/node4.img
注:增量镜像了解即可。
4、快照
1.图形界面方式创建快照
2.命令行创建
1)格式说明
raw:
使⽤⽂件来模拟实际的硬盘(当然也可以使⽤⼀块真实的硬盘或⼀个分区)。==由于原⽣的裸格式,不⽀持snapshot也是很正常的。但如果你使⽤LVM的裸设备,那就另当别论。说到LVM还是⼗分的犀利的⽬前来LVM的snapshot、性能、可扩展性⽅⾯都还是有相当的效果的。目前来看的话,备份的话也问题不⼤。就是在虚拟机迁移⽅⾯还是有很⼤的限制。
qcow2:
现在⽐较主流的⼀种虚拟化镜像格式,经过⼀代的优化,⽬前qcow2的性能上接近raw裸格式的性能,这个也算是redhat的官⽅渠道了。
对于qcow2的格式,⼏点还是⽐较突出的,qcow2的snapshot,可以在镜像上做多个快照:
- 更小的存储空间
- Copy-on-write support
- 支持多个snapshot,对历史snapshot进行管理
- 支持zlib的磁盘压缩
- 支持AES的加密
2)实验
1.为虚拟机vm1创建一个快照(磁盘格式必须是qcow2)
[root@localhost ~]# virsh snapshot-create-as vm1 vm1.snap
已生成域快照 vm1.snap
2.查看磁盘文件格式
[root@localhost ~]# qemu-img info /var/lib/libvirt/images/vm1.qcow2
image: /var/lib/libvirt/images/vm1.qcow2
file format: qcow2
virtual size: 5.0G (5368709120 bytes)
disk size: 5.0G
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: true
3.查看快照
[root@localhost ~]# virsh snapshot-list vm1
名称 生成时间 状态
------------------------------------------------------------
vm1.snap 2023-02-06 14:11:47 +0800 shutoff
4.创建一块磁盘
[root@localhost ~]# 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@localhost ~]# ll -h /var/lib/libvirt/images/vm1-1.raw
-rw-r--r-- 1 root root 2.0G 2月 6 14:28 /var/lib/libvirt/images/vm1-1.raw
5.将其添加到vm1虚拟机上
[root@localhost ~]# cd /etc/libvirt/qemu/
[root@localhost qemu]# vim vm1.xml
.....
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/vm1.qcow2'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</disk>
#复制上面一段磁盘文件配置
<disk type='file' device='disk'>
<driver name='qemu' type='raw'/> #修改磁盘格式为上来创建的格式raw
<source file='/var/lib/libvirt/images/vm1-1.raw'/> #修改磁盘名,创建的路径下vm1-1.raw
<target dev='vdb' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/> #磁盘装在卡槽修改slot,避免冲突
......
[root@localhost qemu]# virsh define vm1.xml
定义域 vm1(从 vm1.xml)
#重新定义vm1
启动vm1
[root@localhost qemu]# virsh start vm1
域 vm1 已开始
尝试创建快照是否可以创建成功
[root@localhost qemu]# virsh snapshot-create-as vm1 vm1.snap1
错误:不支持的配置:存储类型 vdb 不支持磁盘 raw 的内部快照
注:因此表明raw格式不支持快照
6.格式转换
[root@localhost qemu]# qemu-img convert -O qcow2 /var/lib/libvirt/images/vm1-1.raw /var/lib/libvirt/images/vm1-1.qcow2
查看格式是否转换成功
[root@localhost 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
7.转换后需要再次修改配置文件,把创建的磁盘指向转换后的vm1-1.qcow2(虚拟机需处于关闭状态)
[root@localhost qemu]# vim /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@localhost qemu]# virsh define /etc/libvirt/qemu/vm1.xml
定义域 vm1(从 /etc/libvirt/qemu/vm1.xml)
创建快照
[root@localhost qemu]# virsh snapshot-create-as vm1 vm1.snap2
已生成域快照 vm1.snap2
注:格式转换为qcow2后就能正常创建快照了
下一步测试
8.在虚拟机vm1中创建一个空目录
[root@localhost ~]# mkdir /test
[root@localhost ~]# ls /test
9.虚拟机vm1创建第3个快照vm1.snap3
[root@localhost ~]# virsh snapshot-create-as vm1 vm1.snap3
已生成域快照 vm1.snap3
在vm1中切换到test目录,在目录下创建两个文件
[root@localhost ~]# touch a.txt b.txt
10.虚拟机vm1创建第4个快照vm1.snap4
[root@localhost ~]# virsh snapshot-create-as vm1 vm1.snap3
已生成域快照 vm1.snap4
11.关闭虚拟机,恢复到第三个快照
[root@localhost ~]# virsh shutdown vm1
域 vm1 被关闭
[root@localhost ~]# virsh snapshot-revert vm1 vm1.snap3
注:恢复到vm1.snap3后发现切换到test目录为空目录
12.关闭虚拟机,恢复到第四个快照
[root@localhost ~]# virsh shutdown vm1
域 vm1 被关闭
[root@localhost ~]# virsh snapshot-revert vm1 vm1.snap4
发现在/test下有创建的两个文件
[root@localhost ~]# ls /test
a.txt b.txt
以上测试完成。
拓展:
查看虚拟机快照
[root@localhost ~]# virsh snapshot-list vm1
名称 生成时间 状态
------------------------------------------------------------
vm1.snap 2023-02-06 14:11:47 +0800 shutoff
vm1.snap2 2023-02-06 15:24:17 +0800 shutoff
vm1.snap3 2023-02-06 15:31:47 +0800 running
vm1.snap4 2023-02-06 15:44:34 +0800 running
删除虚拟机快照
[root@localhost ~]# virsh snapshot-delete --snapshotname vm1.snap3 vm1
已删除域快照 vm1.snap3
[root@localhost ~]# virsh snapshot-list vm1
名称 生成时间 状态
------------------------------------------------------------
vm1.snap 2023-02-06 14:11:47 +0800 shutoff
vm1.snap2 2023-02-06 15:24:17 +0800 shutoff
vm1.snap4 2023-02-06 15:44:34 +0800 running
学习视频:
https://www.bilibili.com/video/BV11p4y1U7Na?p=6&vd_source=92ffd157bfd8ef398f23be5c7aba4d65