KVM-6、virsh 命令及功能详解

2023-11-09

1. 虚拟机管理操作

attach-device                从XML文件附加设备
attach-disk                  附加磁盘设备
attach-interface             连接网络接口
autostart                    自动启动一个域
blkdeviotune                 设置或查询块设备I/O调整参数。
blkiotune                    获取或设置blkio参数
blockcommit                  开始块提交操作。
blockcopy                    开始一个块复制操作。
blockjob                     管理活动的块操作
blockpull                    从其背景图像填充磁盘。
blockresize                  调整域的块设备。
change-media                 更换CD或软驱的媒体
console                      连接到访客控制台
cpu-baseline                 计算基准CPU
cpu-compare                  比较主机CPU和由XML文件描述的CPU
cpu-stats                    显示域的CPU统计信息
create                       从XML文件创建一个域
define                       从XML文件中定义(但不要启动)域
desc                         显示或设置域的描述或标题
destroy                      摧毁(停止)一个域名
detach-device                从XML文件中分离设备
detach-disk                  分离磁盘设备
detach-interface             分离网络接口
domdisplay                   域显示连接URI
domfsfreeze                  冻结域的挂载文件系统。
domfsthaw                    解冻域的安装文件系统。
domfsinfo                    获取域安装的文件系统的信息。
domfstrim                    在域的挂载文件系统上调用fstrim。
domhostname                  打印域的主机名
domid                        将域名或UUID转换为域ID
domif-setlink                设置虚拟接口的链路状态
domiftune                    获取/设置虚拟接口的参数
domjobabort                  中止活动的域名工作
domjobinfo                   域名工作信息
domname                      将域ID或UUID转换为域名
domrename                    重命名一个域
dompmsuspend                 使用电源管理功能优雅地暂停域
dompmwakeup                  从pmsuspended状态唤醒一个域
domuuid                      将域名或ID转换为域UUID
domxml-from-native           将本地配置转换为域XML
domxml-to-native             将域XML转换为本地配置
dump                         将域的核心转储到文件进行分析
dumpxml                      XML中的域信息
edit                         编辑域的XML配置
event                        域名事件
inject-nmi                   向客人注入NMI
iothreadinfo                 查看域名IOThreads
iothreadpin                  控制域IOThread亲和力
iothreadadd                  将IOThread添加到来宾域
iothreaddel                  从来宾域中删除一个IOThread
send-key                     将密钥发送给客人
send-process-signal          发送信号给进程
lxc-enter-namespace          LXC访客输入名称空间
managedsave                  管理域名状态保存
managedsave-remove           删除管理的域名保存
memtune                      获取或设置内存参数
perf                         获取或设置perf事件
metadata                     显示或设置域的自定义XML元数据
migrate                      将域迁移到其他主机
migrate-setmaxdowntime       设置最大可容忍的停机时间
migrate-compcache            获取/设置压缩缓存大小
migrate-setspeed             设置最大迁移带宽
migrate-getspeed             获得最大的迁移带宽
migrate-postcopy             切换运行从预复制到后复制的迁移
numatune                     获取或设置numa参数
qemu-attach                  QEMU附件
qemu-monitor-command         QEMU监视器命令
qemu-monitor-event           QEMU监控事件
qemu-agent-command           QEMU访客代理命令
reboot                       重新启动一个域
reset                        重置一个域
restore                      从文件中保存的状态恢复域
resume                       恢复一个域名
save                         将域状态保存到文件
save-image-define            重新定义一个域的保存状态文件的XML
save-image-dumpxml           保存XML中的状态域信息
save-image-edit              编辑域的已保存状态文件的XML
schedinfo                    显示/设置调度程序参数
screenshot                   截取当前的域控制台并将其存储到文件中
set-user-password            在域内设置用户密码
setmaxmem                    改变最大内存限制
setmem                       改变内存分配
setvcpus                     更改虚拟CPU的数量
shutdown                     正常关闭域
start                        启动一个(以前定义的)非活动域
suspend                      暂停域名
ttyconsole                   tty控制台
undefine                     取消定义一个域
update-device                从XML文件更新设备
vcpucount                    域的vcpu数量
vcpuinfo                     详细的域名vcpu信息
vcpupin                      控制或查询域vcpu亲和力
emulatorpin                  控制或查询域模拟器亲和力
vncdisplay                   vnc显示
guestvcpus                   查询或修改guest虚拟机中的vcpu状态(通过代理)
setvcpu                      附加/分离vcpu或线程组
domblkthreshold              为给定块设备或其支持链元素设置块阈值事件的阈值

1.1 虚拟机状态

通过 virsh 管理虚拟机,虚拟机的状态显示为以下几种:

runing 是运行状态
idel 是空闲状态
pause 暂停状态
shutdown 关闭状态
crash 虚拟机崩坏状态
daying 垂死状态
shut off 不运行完全关闭
pmsuspended客户机被关掉电源中中断

1.2 虚拟机的创建、开机、重启、关机

首先看下 create 和 define 创建虚拟机异同:

create 创建虚拟机
[root@192.168.118.14 ~]#virsh list --all
Id    Name                           State
----------------------------------------------------
76    centos                         running
 
[root@192.168.118.14 ~]#virsh create cirros.xml
Domain cirros created from cirros.xml
 
[root@192.168.118.14 ~]#virsh list --all
Id    Name                           State
----------------------------------------------------
76    centos                         running
79    cirros                         running
 
 
define 创建虚拟机
[root@192.168.118.14 ~]#virsh list --all
Id    Name                           State
----------------------------------------------------
76    centos                         running
 
[root@192.168.118.14 ~]#virsh define cirros.xml
Domain cirros defined from cirros.xml
 
[root@192.168.118.14 ~]#virsh list --all
Id    Name                           State
----------------------------------------------------
76    centos                         running
-     cirros                         shut off

create 是通过 xml 格式文件创建虚拟机,创建完毕启动。当关闭虚拟机时,create创建的虚拟机消失。

define 是通过 xml 格式文件创建虚拟机,创建完毕不启动。当关闭虚拟机时,define 在 list 中依然能查看到。

开启、重启、关闭虚拟机

开启:
virsh start domain
 
重启:
virsh reboot domain
 
关闭:
virsh shutdown domain  - 正常关闭虚拟机
virsh destroy domain - 直接断电关闭虚拟机

1.3 虚拟机 CPU 的操作

cpu-stats 宿主机和虚拟机cpu 运行时间状态

[root@192.168.118.14 ~]#virsh cpu-stats centos
CPU0:
    cpu_time           131.344620748 seconds
    vcpu_time           78.559064700 seconds
CPU1:
    cpu_time           145.769793063 seconds
    vcpu_time           81.011781142 seconds
CPU2:
    cpu_time           132.633396527 seconds
    vcpu_time           12.782286092 seconds
CPU3:
    cpu_time            49.708745382 seconds
    vcpu_time           11.473885669 seconds
Total:
    cpu_time           459.456555720 seconds
    user_time            8.220000000 seconds
    system_time         17.180000000 seconds

vcpucount 查看虚拟机 vcpu 的配置数量

[root@192.168.118.14 ~]#virsh vcpucount centos
maximum      config         2
maximum      live           2
current      config         2
current      live           2

vcpuinfo 查看 vcpu 详细信息,vcpu0 运行在宿主机的 cpu0 上。

[root@192.168.118.14 ~]#virsh vcpuinfo cirros
VCPU:           0
CPU:            3
State:          running
CPU time:       8.1s
CPU Affinity:   yyyy

1.3.1 vcpu 亲和性绑定

使用 virsh vcpuinfo 命令查看实例 vcpu 和 物理 cpu 的对应关系

[root@192.168.118.11 ~]#virsh vcpuinfo cirros
VCPU:           0
CPU:            2
State:          running
CPU time:       3.5s
CPU Affinity:   yyyy
 
VCPU:           1
CPU:            3
State:          running
CPU time:       1.0s
CPU Affinity:   yyyy

可以发现, vcpu0 绑定到物理 cpu2 上, vcpu1 绑定到物理 cpu3 上。

使用 emulatorpin 命令可以查看虚拟机可以使用哪些物理逻辑 cpu

[root@192.168.118.11 ~]#virsh emulatorpin cirros
emulator: CPU Affinity
----------------------------------
       *: 0-3

宿主机本身有 4个 cpu。 意味着 cirros 虚拟机可以随意在这 4个cpu上切换。

在线绑定虚拟机 cpu

可以强制将虚拟机绑定到一个 cpu 区间。例如,将虚拟机 cirros 的 vcpu 绑定在 1-3 区间调度。

[root@192.168.118.11 ~]#virsh emulatorpin cirros 1-3
[root@192.168.118.11 ~]#virsh emulatorpin cirros
emulator: CPU Affinity
----------------------------------
       *: 1-3

这样,就绑定了虚拟机在 1-3 cpu 区间之类切换。

上面是为虚拟机设置一个物理 cpu 区间,如果要一对一绑定就需要使用 vcpupin

[root@192.168.118.11 ~]#virsh vcpuinfo cirros
VCPU:           0
CPU:            3
State:          running
CPU time:       3.6s
CPU Affinity:   yyyy
 
VCPU:           1
CPU:            2
State:          running
CPU time:       1.0s
CPU Affinity:   yyyy
 
# 将vcpu0 绑定到 cpu0
[root@192.168.118.11 ~]#virsh vcpupin cirros 0 0
# 将 vcpu1 绑定到 cpu1
[root@192.168.118.11 ~]#virsh vcpupin cirros 1 1
[root@192.168.118.11 ~]#virsh vcpuinfo cirros
VCPU:           0
CPU:            0
State:          running
CPU time:       3.6s
CPU Affinity:   y---
 
VCPU:           
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

KVM-6、virsh 命令及功能详解 的相关文章

随机推荐

  • 格式化数据库字段驼峰式

    public static String format String name if name contains String split name split name split 0 for int m 1 m lt split len
  • pyautogui问题解决方案记录(因为使用了:pyautogui.locateCenterOnScreen(img, confidence=0.9))

    本人环境 win10 1909 Python 3 9 13 不想多余看 只想直接解决 直接安装下面的库 pip install pyautogui pip install pillow pip install opencv python 我
  • 服务器如何发挥最好的性能,一篇文章告诉你怎么发挥固态硬盘最大性能

    对于使用固态硬盘相信大多数玩家对于其性能是否良好没有一个客观上的认知 今天就给大家详细介绍下如何让自己的固态硬盘保持良好的性能状态 从东芝TR200看固态硬盘满盘性能与读取延迟 固态硬盘的性能与很多因素有关 其中空间使用情况也会给固态硬盘的
  • Windows 下设置自定义域名解析到指定 IP

    Windows 下设置自定义域名解析到指定 IP 一 操作步骤 1 定位到 host文件 2 编辑 host文件属性 3 添加解析文件 域名 4 重启电脑 5 在命令行中测试域名即可 导言 记录一下 Windows下设置域名解析到指定 IP
  • 二次封装一个比较通用的elementUI表单

    一下代码仅添加input和select 如有需要还可以加入单选多选日期等
  • cocos2dx linux eclipse,win7下在eclipse中搭建cocos2d-x开发环境

    1 eclipse下载 进入eclipse官网下载 Eclipse standard 4 4 下载页面 3 Android SDK下载 http developer android com sdk index html 也可以下捆绑的 ec
  • Android快速编译调试framework.jar等系统包的步骤

    引言 前段时间在调试android9的系统源码 修改完了framework service等路径下的源码后 编译生成system img 但这种方式需要把system img从服务器上Down下来 再让设备进入fastboot模式 线刷 调
  • Selenium+Pytest自动化测试框架实战

    前言 selenium自动化 pytest测试框架 本章你需要 一定的python基础 至少明白类与对象 封装继承 一定的selenium基础 本篇不讲selenium 不会的可以自己去看selenium中文翻译网 一 测试框架简介 测试框
  • vue2实现百度地图定位

    用的是vue2的地图定位插件 https dafrok github io vue baidu map zh control city list 1 首先肯定是先下载了 npm i vue baidu map S 2 下载完记得全局引入 在
  • Qt 插入Label到指定位置

    QLabel label new QLabel this label gt setFrameStyle QFrame Panel QFrame Sunken label gt setText first line nsecond line
  • [C++]中介者模式

    中介者模式 Mediator Pattern 是用来降低多个对象和类之间的通信复杂性 这种模式提供了一个中介类 该类通常处理不同类之间的通信 并支持松耦合 使代码易于维护 中介者模式属于行为型模式 github源码路径 https gith
  • VSCode配置C语言环境(完整版)

    基本步骤 要在VSCode中配置C语言环境 我们首先可能要一个VSCode 废话 所以先下载安装一个VSCode 然后肯定需要相关插件 因为VSCode不能直接拿来写C 然后任何语言的程序在运行前都需要编译 那还需要一个编译器 很可惜VSC
  • (Python)蚁群算法解决旅行商问题(ACO-TSP)

    蚁群算法又称蚂蚁算法 容易与其他算法相结合 但也存在收敛速度慢 容易陷入局部最优等缺点 coding utf 8 import random import copy import time import sys import math im
  • 【刷题】华为笔试面试机考 [HJ29] - 字符串加解密

    题目地址 点击跳转 题目描述 1 对输入的字符串进行加解密 并输出 2 加密方法为 当内容是英文字母时则用该英文字母的后一个字母替换 同时字母变换大小写 如字母a时则替换为B 字母Z时则替换为a 当内容是数字时则把该数字加1 如0替换1 1
  • 【性能测试】第五篇

    JMeter环境安装 安装JDK 1 JDK下载 官网下载 http www oracle com 提示 下载时注意电脑系统是32位还是64位 桌面 计算机 右击 属性 查看 系统类型 2 安装JDK 双击安装包进行安装 所有步骤选择默认选
  • AVL树的插入操作(四种情况)

    目录 前言 一 AVL树简介 平衡因子bf 二 AVL树的插入操作 不包含重复值 1 找到要插入的位置 和普通的二叉搜索树一样 2 平衡化 情况1 右旋 Single Right Rotation 情况2 左旋 Single Left Ro
  • ubuntu shell实现加减乘除

    bin sh a 8 b 4 c expr a b 乘法 c expr a b 加法 c expr a b 减法 c expr a b 除法
  • 【Windows】 谷歌翻译停服后,chrome无法自动翻译?解决办法来了~

    早前蓝点网提到谷歌翻译中国版和谷歌地图中国版同时停服 此次停服也影响到谷歌浏览器翻译功能的使用 谷歌给出的官方回应是谷歌翻译和谷歌地图的中国版使用率都太低 既然使用率太低那直接停服也情有可原 笑笑 只是谷歌浏览器内置的翻译功能也需要调用谷歌
  • LeetCode每日一题:1462. 课程表 IV(2023.9.12 C++)

    目录 1462 课程表 IV 题目描述 实现代码与解析 拓扑排序 原理思路 1462 课程表 IV 题目描述 你总共需要上 numCourses 门课 课程编号依次为 0 到 numCourses 1 你会得到一个数组 prerequisi
  • KVM-6、virsh 命令及功能详解

    1 虚拟机管理操作 attach device 从XML文件附加设备 attach disk 附加磁盘设备 attach interface 连接网络接口 autostart 自动启动一个域 blkdeviotune 设置或查询块设备I O