Linux—KVM虚拟化中使用基本命令管理虚拟机(纯实例)

 

🏡作者主页:点击! 

👨‍💻Linux高级管理专栏:点击!

⏰️创作时间:2024年7月2日11点11分

🀄️文章质量:94分


文章目录

前言

1.查看命令帮助

2.查看KVM 的配置文件

3.查看虚拟机状态

4虚拟机关机与开机

5.强制关机

6.配置文件启动虚拟机系统实例

7.挂起虚拟机

8.恢复虚拟机

9.配置虚拟机实例伴随宿主机自动启动

11.虚拟机的删除与添加

12.配置文件恢复虚拟机


前言

作为一款成熟稳定的开源虚拟化解决方案,KVM为管理员提供了丰富的命令行工具,可以高效地创建、启动、停止和监控虚拟机。熟练掌握这些基本的KVM管理命令,是虚拟化运维工作中的必备技能。无论是新手还是经验丰富的管理员,都需要对KVM的核心管理命令有深入的了解和熟练的操作。

1.查看命令帮助

[root@localhost ~]# virsh -h

2.查看KVM 的配置文件

存放目录(Centos7.0.xml是虚拟机系统实例的配置文件)

[root@localhost ~]# ls /etc/libvirt/qemu/
centos7.0.xml  networks

/etc/libvirt/qemu/虚拟机配置文件
这个目录存放了各个虚拟机的配置文件,每个虚拟机都有一个对应的XML配置文件。这些文件定义了虚拟机的硬件资源、网络、存储等详细信息。

3.查看虚拟机状态

[root@localhost ~]# virsh list --allId    名称                         状态
-----------------------------------------------------     centos7.0                      关闭

"virsh list --all"是KVM/QEMU虚拟化环境中一个非常常用的管理命令,用于列出系统中所有定义的虚拟机,包括运行中和关闭状态的虚拟机。

4虚拟机关机与开机

 virsh shutdown centos7.0virsh start centos7.0

如图所示:

5.强制关机

强制实例系统关闭电源

[root@localhost ~]# virsh destroy centos7.0
域 centos7.0 被删除

强制关闭并销毁一个名为"centos7.0"的KVM虚拟机。

6.配置文件启动虚拟机系统实例

[root@localhost ~]# virsh create /etc/libvirt/qemu/centos7.0.xml 
域 centos7.0 被创建(从 /etc/libvirt/qemu/centos7.0.xml)[root@localhost ~]# virsh list --allId    名称                         状态
----------------------------------------------------4     centos7.0                      running

7.挂起虚拟机

[root@localhost ~]# virsh suspend centos7.0
域 centos7.0 被挂起[root@localhost ~]# virsh list --allId    名称                         状态
----------------------------------------------------4     centos7.0                      暂停

执行完成后,centos7.0 虚拟机已被成功挂起。您可以随时使用 virsh resume centos7.0 命令来恢复该虚拟机。

图示:

8.恢复虚拟机

[root@localhost ~]# virsh resume centos7.0
域 centos7.0 被重新恢复[root@localhost ~]# virsh list --allId    名称                         状态
----------------------------------------------------4     centos7.0                      running

centos7.0 虚拟机已经成功恢复运行状态。

图示:

9.配置虚拟机实例伴随宿主机自动启动

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

centos7.0 虚拟机已被设置为在宿主机启动时自动启动。这意味着下次宿主机重启后,centos7.0 虚拟机会自动启动,无需手动操作。

10)导出虚拟机配置

[root@localhost ~]# virsh dumpxml centos7.0 > /mnt/centos7.xml
[root@localhost ~]# cat /mnt/centos7.xml

执行完成后,系统会将 centos7.0 虚拟机的完整XML配置信息导出到 /mnt/centos7.xml 文件中。

请确保您有足够的权限访问 /mnt 目录并写入文件。

11.虚拟机的删除与添加

删除虚拟机:

先闭关在删除
[root@localhost ~]# virsh shutdown centos7.0
域 centos7.0 被关闭[root@localhost ~]# virsh undefine centos7.0
域 centos7.0 已经被取消定义[root@localhost ~]# ls /etc/libvirt/qemu/
autostart  networks

命令解释

首先使用 virsh shutdown centos7.0 命令将名为 centos7.0 的虚拟机正常关机。

然后使用 virsh undefine centos7.0 命令将这个虚拟机从 libvirt 中完全删除(取消定义)。

最后查看 /etc/libvirt/qemu/ 目录,发现只剩下 autostart 和 networks 两个目录,说明 centos7.0 虚拟机的所有配置文件已经被彻底删除。

先关机再删除,确保虚拟机完全从系统中移除。删除后再次查看目录也验证了删除操作的成功。

这时候我们把虚拟主机已经删掉了

利用刚刚导出的文件来恢复

12.配置文件恢复虚拟机

[root@localhost ~]# cd /mnt/
[root@localhost mnt]# ls
cdrom  centos7.xml
[root@localhost mnt]# virsh define centos7.xml 
定义域 centos7.0(从 centos7.xml)

根据指定的XML配置文件在 libvirt 中定义(创建)一个新的虚拟机。

查看已经恢复了虚拟机

[root@localhost mnt]# virsh list --allId    名称                         状态
-----------------------------------------------------     centos7.0                      关闭

总结

通过本文的介绍,我们学习了如何使用 virsh 命令行工具来管理 KVM 虚拟机的各种生命周期操作,包括查看状态、开机关机、挂起恢复、配置自动启动等同时也学会了如何使用虚拟机的 XML 配置文件来定义和恢复虚拟机。

这些操作和知识对于 KVM 虚拟化环境的管理非常重要和实用。通过掌握这些基本命令和概念,我们就能够高效地部署、维护和管理 KVM 虚拟机环境。

"成功的路上没有捷径,只有不断的努力与坚持。如果你和我一样,坚信努力会带来回报,请关注我,点个赞,一起迎接更加美好的明天!你的支持是我继续前行的动力!"

"每一次创作都是一次学习的过程,文章中若有不足之处,还请大家多多包容。你的关注和点赞是对我最大的支持,也欢迎大家提出宝贵的意见和建议,让我不断进步。"

神秘泣男子

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

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

相关文章

c/c++语言的一种日志的编写办法

今日分享一下,从某源码中看到这种日志编写方式,很强。可以借鉴。 这个函数调用的日志函数是不一样的,仔细观看: 这几种日志输出函数,背后都调用了相同的调用。 与之对应的区别就是,函数名称的差异取决于…

mpeg格式怎么转换成mp4?这四种转换方法非常好用!

mpeg格式怎么转换成mp4?在数字视频领域中,MPEG格式算是相对冷门的一种选择,然而,选择这种格式却不是没有代价的,首先,MPEG采用了有损压缩技术,这意味着在视频处理过程中,会丢失一些细…

单个企业年收入达24.7亿!银发游学市场按下“加速键”,兴趣教育平台抢滩布局

干货抢先看 1. 银发游学市场渐趋火热,美国最大的银发游学机构Road Scholar最新披露的财报显示,上个财年公司收入达3.395亿美元(约合人民币24.7亿)。 2. 在国内,一批专注银发兴趣教育的品牌纷纷入局,拓展游…

Redis的两种持久化方案

Redis 提供了多种持久化机制来保证数据在发生意外情况下(如断电或服务器崩溃)不丢失。以下是几种主要的 Redis 持久化方案及其特点: 1. RDB (Redis Database Backup) RDB 是 Redis 创建的数据库快照,它可以将数据集快照以二进制…

MYSQL8.0配置

1、下载安装包 2、解压软件包 将MySQL软件包解压在没有中文和空格的目录下 3、设置配置文件my.ini my.ini中加入以下内容 [client] #客户端设置,即客户端默认的连接参数 # 设置mysql客户端连接服务端时默认使用的端口 port3306#默认编码 default-character-set…

如何保证Kafka顺序消费

在分布式消息系统中,消息的顺序性是一个重要的问题。Apache Kafka 提供了多种机制来确保消息的顺序消费,但需要根据具体的使用场景进行配置和设计。以下是一些确保 Kafka 顺序消费的关键点和方法: 1. Kafka 消息的顺序保证原理 单分区内的消…

一个使用 g++ 模块化编译的 hello world 示例( Ubuntu 20.04 )

1. 确认 ubuntu 版本&#xff1a; 2. 文件夹结构&#xff1a; 3. 各个文件内容&#xff1a; 3.1. myadd.cpp&#xff1a; #include<iostream> using namespace std; int add_xxx( int a,int b ){int result a b;cout << a << " " << …

【C语言】return 关键字

在C语言中&#xff0c;return是一个关键字&#xff0c;用于从函数中返回值或者结束函数的执行。它是函数的重要组成部分&#xff0c;负责将函数的计算结果返回给调用者&#xff0c;并可以提前终止函数的执行。 主要用途和原理&#xff1a; 返回值给调用者&#xff1a; 当函数执…

Git 常用操作详解

Git 是一个功能强大且广泛使用的版本控制系统。掌握 Git 的基本操作是每个开发者必备的技能之一。本篇博客将介绍 Git 的一些常用操作&#xff0c;并通过一个完整的示例来引导你更好地理解这些操作。 1. Git 基本概念 在开始使用 Git 之前&#xff0c;我们需要了解一些基本概…

技术成神之路:设计模式(二)建造者模式

1.定义 建造者模式&#xff08;Builder Pattern&#xff09;是一种创建型设计模式&#xff0c;它允许你分步骤创建复杂对象&#xff0c;而不必直接调用构造函数。建造者模式特别适合那些包含多个组成部分并且构造过程复杂的对象。 2. 结构 建造者模式的主要组成部分包括&#…

恶意代码防范技术原理

恶意代码的定义 恶意代码&#xff08;Malware&#xff09;是指由攻击者创建或利用的恶意软件&#xff0c;旨在破坏、损害或未经授权地访问计算机系统、网络或数据。恶意代码的种类繁多&#xff0c;包括病毒、蠕虫、特洛伊木马、勒索软件、间谍软件、广告软件等。恶意代码通常通…

面试官:自定义`String`类,包名为`java.lang`,是否能编译和运行

面试问题背景 面试官询问自定义String类&#xff0c;包名为java.lang&#xff0c;是否能编译和运行。 结论 编译&#xff1a;能成功编译。运行&#xff1a;会报错&#xff0c;因为JDK中的String类会被优先加载。 知识点涉及 Java代码的编译过程Java代码的运行过程类加载器…

朗新天霁eHR GetFunc_code.asmx SQL注入致RCE漏洞复现

0x01 产品简介 朗新天霁人力资源管理系统(LongShine eHR)是一款由北京朗新天霁软件技术有限公司研发的人力资源管理系统,该产品融合了国外先进的人力资源管理理念和国内大量人力资源管理实践经验,是国内功能较为全面、性价比较高的人力资源管理系统之一,系统凭借其集成化…

中国农业会计编辑部中国农业会计杂志社2024年第10期目录

人物风采 为民服务守初心 平凡岗位担使命——记云南省漾濞县畜牧兽医管理服务中心高级畜牧师徐健春 2 会计研究 管理会计在企业全面管理中的应用——以D公司为例 蒯浠语; 3-5,《中国农业会计》投稿&#xff1a;cnqikantg126.com AI时代企业会计数据集成管理策略研究…

MySQL单表千万级数据查询优化大家怎么说(评论有亮点)

题图来自APOD 上次写了一篇MySQL优化实战的文章“MySQL千万级数据从190秒优化到1秒全过程”。 这篇文章主要还是在实战MySQL优化&#xff0c;所以从造数据到查询SQL优化SQL都没有业务或者其它依赖&#xff0c;优化的技巧也不涉及软件架构就是纯SQL优化。 由于笔者经验有限和…

Asynchronous Global Index

RDBMS 19.23 -- 参考文档&#xff1a; https://docs.oracle.com/database/121/VLDBG/GUID-087B87A6-959A-40C6-82AF-36E401FD089B.htm#VLDBG14107 -- 异步GIDX简介 https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_3001.htm#CIHCAAGD -- up…

jQuery UI 定制

jQuery UI 定制 jQuery UI 是一个建立在 jQuery JavaScript 库之上的用户界面交互、特效、小部件和主题框架。它提供了一系列的预构建组件,如拖放、排序、折叠等,以及用于构建高级富交互界面的工具。虽然 jQuery UI 提供了丰富的功能和组件,但有时候开发人员可能需要根据特…

SQL Server和Oracle数据库的实时同步

数据同步在大数据应用中扮演着关键角色&#xff0c;它确保了数据的实时性和一致性&#xff0c;为数据分析和决策提供了重要支持。常见的数据同步方式包括ETL实时同步和实时ETL工具&#xff0c;后者可以基于日志追踪或触发器进行分类。不同的数据库系统针对实时同步也有各自的实…

开发经验:go切片的继承

package main import ( "errors" "fmt" ) // LimitedSlice 是一个封装了切片的结构体&#xff0c;用于限制切片的最大容量 type LimitedSlice struct { slice []int maxCap int } // NewLimitedSlice 创建一个新的LimitedSlice实例&#xff…

python安装或升级模块时,[WinError 5] 拒绝访问

参考&#xff1a; https://www.cnblogs.com/hyisangie/p/15154426.html 基本上遇到 Consider using the --user option… 就是需要管理员权限才能安装或更新 Windows 在命令提示符中输入 安装&#xff1a;pip install <模块名> --user # 这里的 --user 照打就行了&…