使用KVM命令集管理虚拟机

14.2.1案例分析

     

      案例环境使用一台物理机器,一台服务器安装CentOS7.3的64位系统(即node01),rhel7.1是在宿主机node01中安装的虚拟机。

 14.2.2案例实施

1.安装Linux虚拟机

安装过程同上一案例,使用Xshell 远程控制node01主机。

2.KVM基本功能管理

1)查看命令帮助

[root@node01 ~]# virsh -h

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

[root@node01 ~]# ls /etc/libvirt/qemu

3)查看虚拟机状态

[root@node01 ~]# virsh list --all

4)虚拟机关机与开机

首先需要确认acpid服务安装并运行。

[root@node01 ~]# virsh shutdown rhel7.1 

[root@node01 ~]# virsh start rhel7.1

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

[root@node01 ~]# virsh destroy rhel7.1

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

[root@node01 ~]# virsh create /etc/libvirt/qemu/rhel7.1.xml

7) 挂起虚拟机

[root@node01 ~]# virsh  suspend rhel7.1

查看虚拟机状态:

[root@node01 ~]# virsh list --all

8)恢复虚拟机

[root@node01 ~]# virsh resume rhel7.1
[root@node01 ~]# virsh list --all

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

[root@node01 ~]# virsh autostart rhel7.1

上述命令将创建/etc/libvirt/qemu/autostart/目录,目录内容为开机自动启动的系统。

10)导出虚拟机配置

[root@node01 ~]# virsh dumpxml rhel7.1 > /etc/libvirt/qemu/rhel7.2.xml

11)虚拟机的删除与添加

删除虚拟机:

[root@node01 ~]# virsh shutdown rhel7.1
[root@node01 ~]# virsh undefine rhel7.1  //删除rhel7.1虚拟机

查看删除结果,rhel7.1的配置文件被删除,但是磁盘文件不会被删除。

[root@node01 ~]# ls /etc/libvirt/qemu

通过“virsh list --all查看不到rhel7.1的信息,说明此虚拟机被删除。

[root@node01 ~]# virsh list --all

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

[root@node01 ~]# cd /etc/libvirt/qemu/
[root@node01 qemu]# mv rhel7.2.xml rhel7.1.xml

重新定义虚拟机:

[root@node01 qemu]# virsh define rhel7.1.xml

查看虚拟机信息:

[root@node01 qemu]# virsh list --all 

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

直接通过 vim命令修改:

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

通过 virsh 命令修改:

[root@node01 ~]# virsh edit rhel7.1

3.KVM文件管理

通过文件管理可以直接查看、修改、复制虚拟机的内部文件。例如,当系统因为配置问题无法启动时,可以直接修改虚拟机的文件。虚拟机磁盘文件有raw、qcow2与qed格式,KVM虚拟机默认使用qcow2格式,这里介绍本地YUM安装libguestfs-tools后产生的命令行工具,这个工具可以直接读取qcow2格式的磁盘文件。

(1)查看当前磁盘格式:

[root@node01 ~]# mount /dev/cdrom /mnt/
[root@node01 ~]# yum -y install libguestfs-tools

[root@node01 ~]# qemu-img info /data_kvm/store/bdqn_kvm.qcow2

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

[root@node01 ~]# virsh shutdown rhel7.1

[root@node01 ~]# qemu-img convert -f raw -O qcow2 /data_kvm/store/test01.img /data_kvm/store/test01.qcow2

执行转换磁盘格式的命令后还需要修改test01 的xml 配置文件中磁盘的类型与磁盘文件名。(因安装的硬盘文件已是qcow2格式,所以无需修改)

[root@node01 ~]# virsh edit rhel7.1

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

[root@node01 ~]# virt-cat -a /data_kvm/store/bdqn_kvm.qcow2 /etc/sysconfig/grub

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

[root@node01 ~]# virt-edit -a /data_kvm/store/bdqn_kvm.qcow2 /etc/resolv.conf

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

[root@node01 ~]# virt-df -h rhel7.1

4.虚拟机克隆

1)查看虚拟机状态

[root@node01 ~]# virsh list --all

2)从 rhel7.1克隆rhel7.2

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

3)查看虚拟机状态

[root@node01 ~]# virsh list --all

4)启动虚拟机

[root@node01 ~]# virsh start rhel7.2

5.虚拟机快照

KVM虚拟机要使用镜像功能,磁盘格式必须为qcow2。下面介绍KVM虚拟机快照备份的过程。

1)对rhel7.1创建快照

[root@node01 ~]# virsh snapshot-create rhel7.1

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

[root@node01 ~]# virsh snapshot-current rhel7.1

3)查看快照信息

[root@node01 ~]# virsh snapshot-list rhel7.1

4)创建新快照

[root@node01 ~]# virsh snapshot-create rhel7.1

5)查看快照信息

[root@node01 ~]# virsh snapshot-list rhel7.1

6)恢复虚拟机状态至1704357112

[root@node01 ~]# virsh snapshot-revert rhel7.1 1704357112

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

[root@node01 ~]# virsh snapshot-current rhel7.1

8) 测除快照

[root@node01 ~]# virsh snapshot-delete rhel7.1 1704357112

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

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

相关文章

【科研绘图】Origin科研绘图超快速上手指南

Origin教程 Part 1:Origin界面介绍项目管理器graph文件工具栏文字工具箭头工具,直线工具 菜单栏文件新建导出 图图表绘制 Part 2:绘图实例讲解1.创建工程2.导入数据到book3.创建空Graph,设置画布尺寸4. 添加坐标系,设置坐标系的位置与尺寸5.添…

智能合约:3分钟开发ERC20 token(2)

0.前言 上一节我们讲到了开发智能合约的准备工作,以及在线编程平台remix 智能合约(1) 这一节讲解如何开发、发行一个代币,并具备包括代币铸造mint,转账transfer和销毁burn功能,并确保合约拥有者owner的权限…

切换node.js不同版本

切换node.js不同版本 因新项目用到vite4创建项目,输入命令后报错,经查询得知是node版本过低导致,所以需要升级node版本,但是又有老的项目需要维护,因此需要多个版本的node使用需求。 流程: 卸载原有的node…

苗情生态自动监测系统-科普知识

随着科技的飞速发展,智能化技术在各个领域的应用越来越广泛。在农业领域,苗情生态自动监测系统的出现,为农业生产带来了革命性的变革。它不仅能够实时监测植物的生长状况,还能对环境因素进行全面监控,为农业生产提供科…

.NetCore部署微服务(一)

目录 前言 什么是微服务 微服务的优势 微服务的原则 创建项目 在Docker中运行服务 客户端调用 简单的集群服务 前言 写这篇文章旨在用最简单的代码阐述一下微服务 什么是微服务 微服务描述了从单独可部署的服务构建分布式应用程序的体系结构流程,同时这些…

构建健康游戏环境:DFA算法在敏感词过滤的应用

现在的游戏有敏感词检测这一点,相信大家也不陌生了,不管是聊天,起名,签名还是简介,只要是能让玩家手动输入的地方,一定少不了敏感词识别,至于识别之后是拒绝修改还是星号替换,这个就各有各的做法了,但是绕不开的一定是需要高效的敏感词检测机制。 相信大家对于游戏里聊…

CloudQuery 的过去、现在和未来

CloudQuery (后续简称「CQ」)这个产品从设计/研发到现在,一晃已经 5 年多时间了,在不断的完善中,也积累了不少的社区/企业用户,我意识到,CQ 已经从一个 Idea 变成了公众软件,开始有它的使命、责任和价值主张…

软件安全测试有哪些测试方法?安全测试报告如何申请?

随着网络条件越来越好,软件产品质量和软件安全处于同等重要的地位,一款好的软件产品安全系数至关重要,因此安全测试必不可少,那么软件安全测试有哪些测试方法呢?安全测试报告又该如何申请? 软件安全测试是指测试人员…

电路笔记 :自激振荡电路笔记 电弧打火机

三极管相关 三极管的形象描述 二极管 简单求解(理想) 优先导通(理想) 恒压降 稳压管(二极管plus) 基础工作模块 理想稳压管的工作特性 晶体管之三极管(“两个二极管的组合” ) 电弧打火机电路 1.闭合开…

图像预处理——transforms

一、transforms 运行机制 torchvision是PyTorch的一个扩展库,提供了许多计算机视觉相关的工具和功能。下面是关于torchvision中常用模块的介绍: torchvision.transforms:提供了一系列常用的图像预处理方法,用于对图像进行变换、…

【操作系统xv6】学习记录2 -RISC-V Architecture

说明:看完这节,不会让你称为汇编程序员,知识操作系统的前置。 ref:https://binhack.readthedocs.io/zh/latest/assembly/mips.html https://www.bilibili.com/video/BV1w94y1a7i8/?p7 MIPS MIPS的意思是 “无内部互锁流水级的微…

Spring(3):声明式事务管理案例-转账(xml、注解)

1 编写转账案例,引出事务管理问题 需求:账号转账,Tom账号取出1000元,存放到Jack账号上 1.1 建表脚本(MySQL) CREATE TABLE t_account (id INT(11) NOT NULL AUTO_INCREMENT,name VARCHAR(20) NOT NULL,m…