当前位置: 首页 > news >正文

kvm 虚拟机命令行虚拟机操作、制作快照和恢复快照以及工作常用总结

文章目录

  • kvm 虚拟机命令行虚拟机操作、制作快照和恢复快照
    • 一、kvm 虚拟机命令行虚拟机操作(创建和删除)
      • 查看虚拟机
      • virt-install创建一个虚拟机
      • 关闭虚拟机
      • 重启虚拟机
      • 销毁虚拟机
    • 二、kvm 制作快照和恢复快照
      • **创建快照**
      • 工作常见问题
        • 创建快照报错::internal snapshots of a VM with pflash based firmware are not supported
          • 检查虚拟机是否包含 pflash 设备
    • 工作常用总结
      • 获取某个镜像的qcow文件
      • 压缩快照

kvm 虚拟机命令行虚拟机操作、制作快照和恢复快照

一、kvm 虚拟机命令行虚拟机操作(创建和删除)

查看virsh支持的命令

virsh --help

查看虚拟机

显示服务器上所有虚拟机,如果没有root权限,将只能输出当前用户创建的虚拟机。

virsh list --all

virt-install创建一个虚拟机

我们在最新欧拉系统(Kylin Linux Advanced Server release V10 (Lance)
)上,创建Kylin-Server-V10-SP3-General-Release-2303-ARM64 为例子

virt-install \
--virt-type=kvm \
--name KylinV10-{ip} \
--vcpus=8 \
--ram 16384 \
--os-variant=generic \
--location=/home/she/Kylin-Server-V10-SP3-General-Release-2303-ARM64.iso \
--network bridge=virbr0 \
--graphics none \
--console pty \
--noautoconsole -v \
--disk path=/home/she/kvm/KylinV10.qcow2,format=qcow2,size=200
  • –name:指定虚拟机名称

  • –ram:内存大小

  • –disk:系统盘路径和大小

  • –vcpus:vCPU核心数

  • –os-type:操作系统类型

  • –network:网络模式,桥接到 virbr0,
    virt-install 前可以使用 brctl show 查看当前主机上的桥设备

  • –os-variant:操作系统变种,这里用generic

如果指定了 --console pty 参数,可以通过 virsh console 来连接:

virsh console <vm-name>

或者,通过ID值接入虚拟机终端窗口,进入虚拟机窗口。

virsh console 2

在使用 virt-install 创建虚拟机时,有两种方法可以提供 ISO 镜像:

  1. 使用 --location 参数指定 ISO 镜像路径:
    –location=/path/to/iso/image.iso
    这会在创建虚拟机时上传指定的 ISO 到虚拟机中。
  2. 使用 --cdrom 参数指定 ISO 镜像路径:
    –cdrom=/path/to/iso/image.iso
    这会在虚拟机创建后,挂载给定的 ISO 作为 CDROM。
    两者的区别是:
  • –location: 在虚拟机安装时提供 ISO,系统安装完成后会被删除。
  • –cdrom: 挂载 ISO 作为 CDROM,可以在系统运行时继续访问。
    如果只需要在安装时使用 ISO,推荐使用 --location 参数,这样安装完成后不会占用资源。
    如果需要持续访问 ISO 中的数据,则可以使用 --cdrom,这样可以像真实 CDROM 一样使用。

虚拟机安装前设置,[!]表示必填,[X]表示选填。
在这里插入图片描述各选项含义如下:
1)语言设置 2)时区设置 3)安装源 4)软件包选择
5)系统分区 6)Kdump功能 7)网络配置 8)密码设置
9)创建用户
按“q”退出,按“b”开始安装。必须把带“!”号的都设置好才能开始安装。

总结,发现使用命令行安装,也需要很多交互,因此这里推荐使用界面安装虚拟机,创建快照等操作,再使用命令行方式。

关闭虚拟机

virsh shutdown CNEOS-xxx

重启虚拟机

virsh reboot CNEOS-wangyang16-1

销毁虚拟机

virsh undefine CNEOS-wangyang16-1

二、kvm 制作快照和恢复快照

在 KVM 中,可以通过 libvirt 提供的接口来为虚拟机创建快照和恢复快照。

创建快照

使用 virsh snapshot-create 命令创建快照:

virsh list
virsh snapshot-create vm1 --atomic --disk-only

这里我们为虚拟机 vm1 创建了一个快照,使用了 --disk-only 表示仅对磁盘创建快照。

查看快照
使用 virsh snapshot-list 命令可以查看虚拟机的快照:
bash

virsh snapshot-list vm1

这会列出 vm1 所有可用的快照。
恢复快照
使用 virsh snapshot-revert 命令可以恢复快照:

virsh snapshot-revert vm1 snapshot1

这会将 vm1 恢复到名为 snapshot1 的快照状态。
删除快照
使用 virsh snapshot-delete 命令可以删除快照:

virsh snapshot-delete vm1 snapshot1

这会删除名为 snapshot1 的快照。
在创建和管理快照时,可以添加选项控制快照类型(disk-only、system-checkpoint等)、是否包含内存状态等,灵活控制快照行为。

工作常见问题

创建快照报错::internal snapshots of a VM with pflash based firmware are not supported

virsh snapshot-create 24
错误:不支持的操作:internal snapshots of a VM with pflash based firmware are not supported

在通过图形界面创建 KVM 虚拟机时,可以选择不添加 pflash 设备。
通常 pflash 设备是默认被添加的,用于提供 UEFI 固件支持。但是它也会带来快照不兼容等限制。
如果您使用 Virt Manager 等图形工具创建虚拟机,可以在存储配置界面,取消选择 “UEFI ROM” 选项,即可避免添加 pflash 设备。
具体步骤如下:

  1. 在创建虚拟机向导的“存储”界面
  2. 找到“控制器”下拉框,选择需要的控制器模型(如 VirtIO)
  3. 在下方的“管理固件”组
  4. 取消勾选“UEFI ROM”选项
  5. 点击完成后,pflash 设备就不会被添加到虚拟机中
    如果已经添加了 pflash,也可以通过编辑 XML 配置移除它们。
    通过跳过 pflash的添加,可以避免后续的快照问题。但虚拟机将无法使用自定义 UEFI 固件。需要根据需求权衡。
检查虚拟机是否包含 pflash 设备
  1. 关闭虚拟机
virsh shutdown your_vm
  1. 打印虚拟机 XML 配置, 在输出的 XML 中查找是否存在 pflash 的定义
virsh dumpxml your_vm   |grep pflash 

为了移除 pflash 并解决快照问题:

virsh edit  your_vm
  1. 在XML文件里找到上面这一段 pflash loader 的定义
  2. 删除这一整段内容,移除 pflash loader
    在这里插入图片描述
  3. 保存编辑后的XML文件
    修改完xml报错配置报错:# virsh edit openEuler22.03-144.65
    错误:不支持的配置:ACPI requires UEFI on this architecture
    失败的。 再次尝试? [y,n,i,f,?]:
    在删除了 pflash loader 配置后,虚拟机的 ACPI 设置还依赖于 UEFI 模式。
    由于 pflash 提供了 UEFI 支持,直接删除它会导致这种不兼容。
    可以尝试:
  4. 同时删除 XML 文件里与 ACPI 相关的设置,例如:
    xml


测试失败,改为之后,虚拟机启动不起来了。

直接在虚拟机配置中删除 pflash 设备后导致虚拟机无法启动,这通常有以下几个原因:

  1. 删除pflash后,虚拟机仍被配置为UEFI模式启动,而缺少pflash无法实现UEFI启动。
  2. 虚拟机配置依赖于pflash提供的OVMF固件,删除后引发不兼容。
  3. pflash上保存了UEFI NVRAM变量数据,删除后这些变量丢失,导致启动失败。
  4. pflash删除后,虚拟机的其他设备配置存在不兼容,例如声明需要APIC/ACPI但未正确启用。

不推荐该方式尝试~

在这里插入图片描述
如果machine是virt,表示默认是UEFI固件。

工作常用总结

获取某个镜像的qcow文件

  1. 列出所有虚拟机
    首先,使用以下命令列出所有虚拟机及其状态:
virsh list --all

这将显示所有虚拟机,包括正在运行和已关闭的虚拟机。

  1. 检查虚拟机的 XML 配置
    使用 virsh dumpxml 命令查看虚拟机的完整 XML 配置,其中将包含有关磁盘设备的信息:
virsh dumpxml "vm-name-or-id"

替换 为您的虚拟机名称或 ID。

  1. 查找 标签

在输出中,查找包含 标签的部分。这通常会包含关于虚拟磁盘的信息,例如:

<disk type='file' device='disk'><driver name='qemu' type='qcow2'/><source file='/var/lib/libvirt/images/your_image.qcow2'/>...
</disk>

压缩快照

镜像主机先关机,通过宿主机压缩镜像

  1. 镜像主机先关机
poweroff
  1. 获取镜像的qcow文件(参考前面)
virsh list --all
virsh dumpxml "vm-name-or-id"  |grep qcow
  1. 通过宿主机压缩镜像
virt-sparsify --compress 源qcow2镜像路径 新qcow2镜像路径

相关文章:

kvm 虚拟机命令行虚拟机操作、制作快照和恢复快照以及工作常用总结

文章目录 kvm 虚拟机命令行虚拟机操作、制作快照和恢复快照一、kvm 虚拟机命令行虚拟机操作(创建和删除)查看虚拟机virt-install创建一个虚拟机关闭虚拟机重启虚拟机销毁虚拟机 二、kvm 制作快照和恢复快照**创建快照**工作常见问题创建快照报错&#xff1a;&#xff1a;intern…...

内网安全-横向移动【3】

1.域横向移动-内网服务-Exchange探针 Exchange是一个电子右键服务组件&#xff0c;由微软公司开发。它不仅是一个邮件系统&#xff0c;还是一个消息与协作系统。Exchange可以用来构建企业、学校的邮件系统&#xff0c;同时也是一个协作平台&#xff0c;可以基于此开发工作流、…...

语言中的浮点数

浮点数相比定点数或者整数&#xff0c;为了处理小数点引入了指数&#xff0c;导致小数点的位置根据不同浮点数而不同&#xff0c;故名为Floating Point Number. 一般而言&#xff0c;IEEE754标准被大部分编程语言的浮点数使用&#xff0c;它节省了浮点数的保存空间。如不然&…...

Pyspark下操作dataframe方法(1)

文章目录 Pyspark dataframe创建DataFrame使用Row对象使用元组与scheam使用字典与scheam注意 agg 聚合操作alias 设置别名字段设置别名设置dataframe别名 cache 缓存checkpoint RDD持久化到外部存储coalesce 设置dataframe分区数量collect 拉取数据columns 获取dataframe列 Pys…...

注解实现json序列化的时候自动进行数据脱敏

最近在进行开发的时候遇到一个问题&#xff0c;需要对用户信息进行脱敏处理&#xff0c;原有的方式是写一个util类&#xff0c;在需要脱敏的字段查出数据后&#xff0c;显示掉用方法处理后再set回去&#xff0c;觉得这种方式能实现功能&#xff0c;但是不是特别优雅&#xff0c…...

使用Python下载文件的简易指南

在日常的数据处理、自动化任务或软件开发中&#xff0c;经常需要从网络上下载文件。Python作为一门功能强大的编程语言&#xff0c;提供了多种方法来实现文件的下载。本文将介绍几种常用的方法来使用Python下载文件&#xff0c;包括使用requests库和urllib库。 准备工作 在开…...

中秋国庆双节长假,景区迎来客流高峰,如何保障景区安全管理?

一、方案背景 近年来&#xff0c;国内旅游市场持续升温&#xff0c;节假日期间景区游客数量激增&#xff0c;给景区安全管理带来了巨大挑战。然而&#xff0c;景区安全风险意识不足、防护措施不完善、游客安全意识欠缺等问题依然存在&#xff0c;导致景区安全事故频发。随着中秋…...

多维数组转一维数组:探索 JavaScript 中的数组扁平化

在 JavaScript 编程中&#xff0c;我们经常会遇到需要将多维数组转换为一维数组的情况。无论是处理复杂的数据结构还是进行数据的进一步操作&#xff0c;数组扁平化都是一个常见且有用的技术。本文将介绍几种在 JavaScript 中将多维数组转换为一维数组的方法。 什么是数组扁平…...

配环境时的一些记录

连centos&#xff1a;正常连就好&#xff08;密码验证码&#xff09;连rocky&#xff1a;需要在centos上连&#xff0c;终端里直接ssh [rocky_ip]&#xff1b;在vscode中需要&#xff1a; 修改配置文件&#xff1a;打开命令面板&#xff08;ctrlshiftp&#xff09; -> 输入并…...

如何解析域名到网站?

在现代互联网中&#xff0c;域名解析是用户访问网站的关键过程。用户通过输入易于记忆的域名来访问网站&#xff0c;而背后则是复杂的域名解析机制将域名转换为服务器的IP地址&#xff0c;使得浏览器能够找到并加载目标网站。聚名网详细介绍域名解析的过程及其相关技术。 一、…...

【F172】基于Springboot+vue实现的智能菜谱系统

作者主页&#xff1a;Java码库 主营内容&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 项目描述 近些年&#xff0c;随着中国经济发展&#xff0c;人民的…...

Spring-AOP核心源码、原理详解前篇

本文主要分4部分 Aop原理介绍介绍aop相关的一些类通过源码详解aop代理的创建过程通过源码详解aop代理的调用过程Aop代理一些特性的使用案例 Spring AOP原理 原理比较简单&#xff0c;主要就是使用jdk动态代理和cglib代理来创建代理对象&#xff0c;通过代理对象来访问目标对象…...

Reflection反射——Class类

概述 在Java中&#xff0c;除了int等基本类型外&#xff0c;Java的其他类型全部都是class&#xff08;包括interface&#xff09;。例如&#xff1a; String、Object、Runnable、Exception…… Java反射机制是Java语言的一个重要特性。在学习Java反射机制前&#xff0c;需要了…...

王朝兴替的因果

天道好轮 回&#xff0c;苍天饶过谁。王朝兴亡&#xff0c;天道无情。 而其因果循环&#xff0c;天道之森严&#xff0c;让人敬畏。 王朝创业帝王造下什么业&#xff0c;后世子孙在兴替之时&#xff0c;往往要承担何种果 报。 中国几千年的王朝史&#xff0c;因 果循环&…...

损坏SD数据恢复的8种有效方法

SD卡被用于许多不同的产品来存储重要数据&#xff0c;如图片和重要的商业文件。如果您的SD卡坏了&#xff0c;您需要SD数据恢复来获取您的信息。通过从损坏的SD卡中取回数据&#xff0c;您可以确保重要文件不会永远丢失&#xff0c;这对于工作或个人原因是非常重要的。 有许多…...

好评如潮的年度黑马韩剧,惊喜从一上线就开始

韩剧一直以来都以细腻的情感和紧凑的剧情打动观众&#xff0c;而最近播出的一部作品更是掀起了不小的风波-《法官大人》。孙贤周与金明民两大演技派领衔主演&#xff0c;凭借他们的深沉演技和复杂的角色关系&#xff0c;让这部剧集迅速成为热议焦点。故事围绕着一起交通事故展开…...

超好用的PC端语音转文字工具CapsWriter-Offline结合内网穿透实现远程使用

文章目录 前言1. 软件与模型下载2. 本地使用测试3. 异地远程使用3.1 内网穿透工具下载安装3.2 配置公网地址3.3 修改config文件3.4 异地远程访问服务端 4. 配置固定公网地址4.1 修改config文件 5. 固定tcp公网地址远程访问服务端 前言 本文主要介绍如何在Windows系统电脑端使用…...

1、https的全过程

目录 一、概述二、SSL过程如何获取会话秘钥1、首先认识几个概念&#xff1a;2、没有CA机构的SSL过程&#xff1a;3、没有CA机构下的安全问题4、有CA机构下的SSL过程 一、概述 https是非对称加密和对称加密的过程&#xff0c;首先建立https链接需要经过两轮握手&#xff1a; T…...

抢鲜体验 PolarDB PG 15 开源版

unsetunsetPolarDB 商业版unsetunset 8 月&#xff0c;PolarDB PostgreSQL 版兼容 PostgreSQL 15 版本&#xff08;商业版&#xff09;正式发布上线。 当前版本主要增强优化了以下方面&#xff1a; 改进排序功能&#xff1a;改进内存和磁盘排序算法。 增强SQL功能&#xff1a;支…...

UEFI——使用标准C库

一、C标准库 C标准库是ANSL C标准为C语言定义的标准库。C标准库包含15个头文件&#xff1a;assert.h ctype.h error.h float.h limits.h locale.h math.h setjmp.h signal.h stdarg.h stddef.h stdio.h stdlib.h string.h time.h。标准库函数与C语言的紧密结合给我们开发程序带…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

大数据学习(132)-HIve数据分析

​​​​&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4…...

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换

目录 关键点 技术实现1 技术实现2 摘要&#xff1a; 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式&#xff08;自动驾驶、人工驾驶、远程驾驶、主动安全&#xff09;&#xff0c;并通过实时消息推送更新车…...

C++ 设计模式 《小明的奶茶加料风波》

&#x1f468;‍&#x1f393; 模式名称&#xff1a;装饰器模式&#xff08;Decorator Pattern&#xff09; &#x1f466; 小明最近上线了校园奶茶配送功能&#xff0c;业务火爆&#xff0c;大家都在加料&#xff1a; 有的同学要加波霸 &#x1f7e4;&#xff0c;有的要加椰果…...