使用KVM命令集管理虚拟机

news2025/6/2 9:20:42

1、KVM基本功能管理

1)查看命令帮助

[root@localhost ~]# virsh -h
......//省略输出内容

2)查看KVM的配置文件存放目录(rhel7.1是虚拟机系统实例的配置文件)

[root@localhost ~]# ls /etc/libvirt/qemu
autostart  networks  rhel7.1.xml

3)查看虚拟机状态

[root@localhost ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 3     rhel7.1                        running

4)虚拟机关机与开机

[root@localhost ~]# virsh shutdown rhel7.1 
[root@localhost ~]# virsh start rhel7.1 

[root@localhost ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 6     rhel7.1                        running

5)强制实例系统关闭电源

[root@localhost ~]# virsh destroy rhel7.1 
域 rhel7.1 被删除

[root@localhost ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 -     rhel7.1                        关闭

6)通过配置文件启动虚拟机系统实例

[root@localhost ~]# virsh create /etc/libvirt/qemu/rhel7.1.xml 
域 rhel7.1 被创建(从 /etc/libvirt/qemu/rhel7.1.xml)

[root@localhost ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 7     rhel7.1                        running

7)挂起虚拟机

[root@localhost ~]# virsh suspend rhel7.1 
域 rhel7.1 被挂起

//查看虚拟机状态
[root@localhost ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 7     rhel7.1                        暂停

8)恢复虚拟机

[root@localhost ~]# virsh resume rhel7.1 
域 rhel7.1 被重新恢复

[root@localhost ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 7     rhel7.1                        running

9)配置虚拟机实例伴随宿主机自动启动,会自动创建/etc/libvirt/qemu/autostart/目录,目录内容为开机自动启动的系统

[root@localhost ~]# virsh autostart rhel7.1 
域 rhel7.1标记为自动开始

10)导出虚拟机配置

[root@localhost ~]# virsh dumpxml rhel7.1 > /etc/libvirt/qemu/rhel7.2.xml
[root@localhost ~]# ls /etc/libvirt/qemu/
autostart  networks  rhel7.1.xml  rhel7.2.xml

11)虚拟机的删除与添加

        删除虚拟机:

[root@localhost ~]# virsh shutdown rhel7.1 
域 rhel7.1 被关闭

[root@localhost ~]# virsh undefine rhel7.1 
域 rhel7.1 已经被取消定义

//查看删除结果,rhe17.1的配置文件被删除,但是磁盘文件不会被删除
[root@localhost ~]# ls /etc/libvirt/qemu/
autostart  networks  rhel7.2.xml

[root@localhost ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------

        通过备份的配置文件重新定义虚拟机:

[root@localhost ~]# cd /etc/libvirt/qemu/
[root@localhost qemu]# mv rhel7.2.xml rhel7.1.xml 
[root@localhost qemu]# virsh define rhel7.1.xml 
定义域 rhel7.1(从 rhel7.1.xml)

[root@localhost qemu]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 -     rhel7.1                        关闭

12)修改虚拟机配置信息(用来修改系统内存大小、磁盘文件等信息)

        直接通过vim命令修改:

[root@localhost qemu]# vim /etc/libvirt/qemu/rhel7.1.xml 

        通过virsh命令修改:

[root@localhost qemu]# virsh edit rhel7.1 
没有更改域 rhel7.1 XML 配置。

2、KVM文件管理

        通过文件管理可以直接查看、修改、复制虚拟机的内部文件。例如,当系统因为配置问题无法启动时,可以直接修改虚拟机的文件。虚拟机磁盘文件有raw、qcow2与qed格式,KVM虚拟机默认使用qcow2格式。

1)查看当前磁盘格式:

[root@localhost ~]# qemu-img info /data_kvm/store/bdqn_kvm.qcow2 
image: /data_kvm/store/bdqn_kvm.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 10G
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: true

        如果虚拟机磁盘文件不是qcow2格式,可以通过"qemu-img"命令转换磁盘文件格式,如执行以下操作可以将test01虚拟机raw格式磁盘转换至qcow2格式。

[root@localhost ~]# virsh shutdown rhel7.1 
域 rhel7.1 被关闭
 
[root@localhost ~]# qemu-img convert -f raw -o qcow2 /data_kvm/store/"更改的文件" /data_kvm/store/"更改的文件"

        执行转换磁盘格式的命令后还需要修改配置文件中磁盘的类型与磁盘文件名

2)virt-cat命令,类似于cat命令

 

[root@localhost ~]# yum -y install libguestfs-tools

[root@localhost ~]# virt-cat -a /data_kvm/store/bdqn_kvm.qcow2 /etc/sysconfig/grub 
GRUB_TIMEOUT=5
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

3)virt-edit命令,用于编辑文件,用法与vim基本一致

[root@localhost ~]# virt-edit -a /data_kvm/store/bdqn_kvm.qcow2 /etc/resolv.conf 
nameserver 202.96.128.86
nameserver 119.29.29.29

4)virt-df命令用于查看虚拟机磁盘信息

[root@localhost ~]# virt-df -h rhel7.1
文件系统                            大小 已用空间 可用空间 使用百分比%
rhel7.1:/dev/sda1                         950M        79M       870M    9%
rhel7.1:/dev/sda3                         8.1G       3.2G       4.9G   40%

3、虚拟机克隆

1)查看虚拟机状态

[root@localhost ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 -     rhel7.1                        关闭

2)从rhel7.1克隆rhel7.2

[root@localhost ~]# virt-clone -o rhel7.1 -n rhel7.2 -f /data_kvm/store/bdqn02_kvm.qcow2 

3)查看虚拟机状态

[root@localhost ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 -     rhel7.1                        关闭
 -     rhel7.2                        关闭

4)启动虚拟机

[root@localhost ~]# virsh start rhel7.2 
域 rhel7.2 已开始

[root@localhost ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 18    rhel7.2                        running
 -     rhel7.1                        关闭

4、虚拟机快照

        KVM虚拟机要使用镜像功能,磁盘格式必须为qcow2

1)对rhel7.1创建快照

[root@localhost ~]# virsh snapshot-create rhel7.1
已生成域快照 1704355792

2)查看虚拟机快照版本信息

[root@localhost ~]# virsh snapshot-current rhel7.1
<domainsnapshot>
  <name>1704355792</name>  //快照版本号
  <state>shutoff</state>  //关机状态下的快照

3)查看快照信息

[root@localhost ~]# virsh snapshot-list rhel7.1
 名称               生成时间              状态
------------------------------------------------------------
 1704355792           2024-01-04 16:09:52 +0800 shutoff

4)创建新快照

[root@localhost ~]# virsh snapshot-create rhel7.2
已生成域快照 1704355880

5)查看快照信息

[root@localhost ~]# virsh snapshot-create rhel7.1
已生成域快照 1704356048
[root@localhost ~]# virsh snapshot-list rhel7.1
 名称               生成时间              状态
------------------------------------------------------------
 1704355792           2024-01-04 16:09:52 +0800 shutoff
 1704356048           2024-01-04 16:14:08 +0800 shutoff

6)将虚拟机开机,恢复虚拟机状态至1704355792(关机状态)

[root@localhost ~]# virsh start rhel7.1 
域 rhel7.1 已开始

[root@localhost ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 20    rhel7.1                        running

[root@localhost ~]# virsh snapshot-revert rhel7.1 1704355792
[root@localhost ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
       rhel7.1                        关闭

7)查看虚拟机快照版本信息

[root@localhost ~]# virsh snapshot-current rhel7.1
<domainsnapshot>
  <name>1704355792</name>  //快照版本号
  <state>shutoff</state>  //关机状态下的快照

8)删除快照

[root@localhost ~]# virsh snapshot-delete rhel7.1 1704355792
已删除域快照 1704355792

[root@localhost ~]# virsh snapshot-delete rhel7.1 1704356048
已删除域快照 1704356048

[root@localhost ~]# virsh snapshot-list rhel7.1
 名称               生成时间              状态
------------------------------------------------------------

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

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

相关文章

Spark内核解析-脚本解析2(六)

2、脚本解析 在看源码之前&#xff0c;我们一般会看相关脚本了解其初始化信息以及Bootstrap类&#xff0c;Spark也不例外&#xff0c;而Spark中相关的脚本如下&#xff1a; %SPARK_HOME%/sbin/start-master.sh %SPARK_HOME%/sbin/start-slaves.sh %SPARK_HOME%/sbin/start-all…

SQL中 Group by Grouping Sets 分组的用法

文章目录 1. 用法2. 语法3. 实际应用3.1 求总和与小计3.2 按多个维度分组3.3 标记小计和总计 1. 用法 将Grouping Sets 运算符添加到Group by 子句中&#xff0c;使用Grouping Set 可以在一个查询中指定数据的多个分组&#xff0c;其结果与针对指定的组执行union all 运算等效…

《设计模式》之策略模式

策略模式定义 比如对象的某个行为&#xff0c;在不同场景有不同实现方式&#xff0c;可以将这些行为的具体实现定义为一组策略&#xff0c;每个实现类实现种策略&#xff0c;在不同场景使用不同的实现&#xff0c;并且可以自由切换策略。 策略模式结构 策略模式需要一个策略…

SpringBoot的测试

&#x1f648;作者简介&#xff1a;练习时长两年半的Java up主 &#x1f649;个人主页&#xff1a;程序员老茶 &#x1f64a; ps:点赞&#x1f44d;是免费的&#xff0c;却可以让写博客的作者开心好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全栈&#xff0c;…

【iOS安全】JS 调用Objective-C中WKWebview Handler的三种方式

有三种实现途径 1. WKScriptMessageHandler OC部分&#xff1a;注册并实现Handler 将OC中的方法"nativeMethod"注册为JavaScript Message Handler&#xff0c;从而WebView中的JavaScript代码可以调用该方法 // Register in Objective-C code - (void)setupWKWebVi…

table的最后一行需要加底色

<tr class"font12" v-for"(item, index) in OrderAuditDiscountList.list" :key"index":class"OrderAuditDiscountList.list.length - 1 index ? blodfont : "> 其中&#xff1a; :class"OrderAuditDiscountList.list.le…

分布式锁Lock4J 使用总结

Lok4j 简介 lock4j是一个分布式锁组件&#xff0c;其提供了多种不同的支持以满足不同性能和环境的需求。 立志打造一个简单但富有内涵的分布式锁组件。 特点 简单易用&#xff0c;功能强大&#xff0c;扩展性强。支持redission,redisTemplate,zookeeper。可混用&#xff0c…

羊大师讲解,羊奶为什么更适合高血压人群?

羊大师讲解&#xff0c;羊奶为什么更适合高血压人群&#xff1f; 高血压是一种常见的健康问题&#xff0c;它会引起诸多并发症并增加心脑血管疾病的风险。与此同时&#xff0c;人们越来越关注饮食对健康的影响。作为一种营养丰富且适合高血压人群的饮品&#xff0c;羊奶备受关…

Java版直播商城免 费 搭 建:平台规划与常见营销模式,电商源码、小程序、三级分销及详解

【saas云平台】打造全行业全渠道全场景的saas产品&#xff0c;为经营场景提供一体化解决方案&#xff1b;门店经营区域化、网店经营一体化&#xff0c;本地化、全方位、一站式服务&#xff0c;为多门店提供统一运营解决方案&#xff1b;提供丰富多样的营销玩法覆盖所有经营场景…

玩转JNPF可视化平台,软件开发如此简单!

以 Vue 为技术栈的低代码 JNPF &#xff0c;开发力量还可以。这款低代码和市面上的其他低代码区别很大的&#xff0c;相较于轻流、简道云、轻宜搭、微搭、帆软、活字格等等&#xff0c;这类面向业务人群使用的低代码&#xff08;不需要研发人员操作的编写的&#xff0c;我更愿意…

spring boot dispatcherServlet注册到tomcat及tomcat请求如何找到dispatcherServlet

spring boot dispatcherServlet如何注册到tomcat容器中&#xff0c;及request请求如何在tomcat的servlet容器找到dispatcherServlet ##spring boot 注册dispatcherServlet javax.servlet.ServletContext.addServlet添加tomcat容器 ##spring boot 注册dispatcherServlet ##req…

H5C3练习心得 2024.01.04(鼠标悬停缩放效果)--box-shadow,font字体,文本样式

&#xff08;一&#xff09;box-shadow 1.作用 为盒子添加阴影 2.属性语法 box-shadow&#xff1a;h-shadow v-shadow blur spread color position h-shadow:水平阴影的的位置&#xff0c;允许负值&#xff08;必填&#xff09;v-shadow&#xff1a;垂直阴影的位置&#x…

Python 自学(四) 之元组字典与集合

目录 1. 列表&#xff0c;元组&#xff0c;字典与集合的区别 2. 元组的创建和删除 tuple() del P101 3. 单个元素的元组 P102 4. 元组元素的修改 P106 5. 元组的使用场景 6. 字典的创建和删除 dict() zip() : del clear() P1…

草图大师 sketchup pro2023

SketchUp Pro是一款功能强大的三维建模软件&#xff0c;适用于建筑、机械、室内设计等领域。它提供了丰富的绘图工具和灵活的建模选项&#xff0c;支持实时预览和多种设备适配&#xff0c;让用户能够快速高效地创建出逼真的三维模型。SketchUp Pro还具备强大的插件生态和团队协…

ArrayList集合综合练习

文章目录 题目1训练目标训练提示训练步骤参考答案 题目2训练目标训练提示参考方案训练步骤参考答案 题目3训练目标训练提示参考方案训练步骤参考答案 题目4&#xff08;综合&#xff09;训练目标训练提示参考方案训练步骤参考答案 题目1 现有如下字符串元素&#xff1a;[“aaa…

Go语言基本数据类型

Go语言基本数据类型 1.整型2.浮点型3.复数4.布尔型5.字符串窥探字符串类型字符串内建函数UTF-8编码字符串处理相关的四个包字符串和数字的转换 6.常量 1.整型 Go语言同时提供了有符号和无符号类型的整数运算。这里有int8、int16、int32和int64四种截然不同大小的有符号整数类型…

2024,这将是量子计算的真正挑战

2023年&#xff0c;一项项量子计算纪录被打破。 谷歌量子AI团队证明了将多个量子比特分组合成为一个逻辑量子比特的纠错方法可以提供更低的容错率。以往的纠错研究随着比特数的增加&#xff0c;错误率会提高&#xff0c;都是“越纠越错”&#xff0c;而这次谷歌首次实现了“越纠…

小兔鲜儿 - 订单模块

目录 填写订单页​ 静态结构 购物车结算​ 立即购买​ 页面传参​ 选择收货地址​ 提交订单​ 订单详情页​ 静态结构​ 自定义导航栏交互​ 获取订单详情​ 订单状态​ 再次购买​ 支付倒计时​ 订单支付​ 微信支付说明​ 参考代码​ 支付成功页​ 模拟发…

网络类型之GRE和MGRE和NHRP

GRE-通用路由封装 是一种简单的三层VPN封装技术&#xff0c;属于虚拟的点到点网络类型 优点&#xff1a;支持IP 网络作为承载网络、支持多种协议、支持IP 组播&#xff0c;配置简单&#xff0c;容易布署。 缺点&#xff1a;缺少保护功能&#xff0c;不能执行如认证、加密、以…

基于SSM实现的社区论坛系统(附PPT、设计文档)

基于SSM实现的社区论坛系统&#xff08;附PPT、设计文档&#xff09; 文章目录 基于SSM实现的社区论坛系统&#xff08;附PPT、设计文档&#xff09;系统介绍技术选型成果展示设计文档用户端管理员端 源码获取账号地址及其他说明 系统介绍 基于SSM实现的社区论坛系统是一款前后…