一、什么是virsh
virsh 是kvm一个管理工具包。virsh提供两种执行模式:”直接模式(Direct Mode)”与”互动模式(Interactive Mode)”。在直接模式里,你必须在Shell中以参数、自变量的方式来执行virsh,如果在互动模式中,则virsh会提供一个提示字符串, 你可以在该提示字符串后,输入要执行的命令。如果执行virsh没有指定任何参数或自变量则默认就是进入互动模式。 与xm一样,COMMAND也是 virsh提供的命令。
二、virsh 语法及参数
virsh命令有2使用方式,一种是在命令行上 virsh + [COMMAND](指令) +[ARGS…](具体参数)工作;另一种是直接在命令行输入virsh进入控制台通过[COMMAND](指令) +[ARGS…](具体参数)工作。需要注意的是virsh命令只能运行在Linux内核下的主机中,不能运行在windows操作系统中。
方法一:
[root@localhost ~]# virsh version
根据库编译:libvirt 4.5.0
使用库:libvirt 4.5.0
使用的 API: QEMU 4.5.0
运行管理程序: QEMU 1.5.3
方法二:
[root@localhost ~]# virsh
欢迎使用 virsh,虚拟化的交互式终端。
输入:'help' 来获得命令的帮助信息
'quit' 退出
virsh # verison
根据库编译:libvirt 4.5.0
使用库:libvirt 4.5.0
使用的 API: QEMU 4.5.0
运行管理程序: QEMU 1.5.3
三、virsh 命令介绍
virsh 命令包含了domain(工作域),host(宿主机),interface(接口),network(网络), Node Device(节点设备),Snapshot(快照),Secret (安全性),Storage Pool (存储池),Storage Volume(存储卷)
通过 virsh --help 可以查询到:
virsh [options]... [<command_string>]
virsh [options]... <command> [args...]
options:
-c | --connect=URI hypervisor connection URI
-d | --debug=NUM debug level [0-4]
-e | --escape <char> set escape sequence for console
-h | --help this help
-k | --keepalive-interval=NUM
keepalive interval in seconds, 0 for disable
-K | --keepalive-count=NUM
number of possible missed keepalive messages
-l | --log=FILE output logging to file
-q | --quiet quiet mode
-r | --readonly connect readonly
-t | --timing print timing information
-v short version
-V long version
--version[=TYPE] version, TYPE is short or long (default short)
commands (non interactive mode):
Domain Management (help keyword 'domain')
attach-device 从一个XML文件附加装置
attach-disk 附加磁盘设备
attach-interface 获得网络界面
autostart 自动开始一个域
blkdeviotune 设定或者查询块设备 I/O 调节参数。
blkiotune 获取或者数值 blkio 参数
blockcommit 启动块提交操作。
blockcopy 启动块复制操作。
blockjob 管理活跃块操作
blockpull 使用其后端映像填充磁盘。
blockresize 创新定义域块设备大小
change-media 更改 CD 介质或者软盘驱动器
console 连接到客户会话
cpu-stats 显示域 cpu 统计数据
create 从一个 XML 文件创建一个域
define 从一个 XML 文件定义(但不开始)一个域
desc 显示或者设定域描述或者标题
destroy 销毁(停止)域
detach-device 从一个 XML 文件分离设备
detach-device-alias detach device from an alias
detach-disk 分离磁盘设备
detach-interface 分离网络界面
domdisplay 域显示连接 URI
domfsfreeze Freeze domain's mounted filesystems.
domfsthaw Thaw domain's mounted filesystems.
domfsinfo Get information of domain's mounted filesystems.
domfstrim 在域挂载的文件系统中调用 fstrim。
domhostname 输出域主机名
domid 把一个域名或 UUID 转换为域 id
domif-setlink 设定虚拟接口的链接状态
domiftune 获取/设定虚拟接口参数
domjobabort 忽略活跃域任务
domjobinfo 域任务信息
domname 将域 id 或 UUID 转换为域名
domrename rename a domain
dompmsuspend 使用电源管理功能挂起域
dompmwakeup 从 pmsuspended 状态唤醒域
domuuid 把一个域名或 id 转换为域 UUID
domxml-from-native 将原始配置转换为域 XML
domxml-to-native 将域 XML 转换为原始配置
dump 把一个域的内核 dump 到一个文件中以方便分析
dumpxml XML 中的域信息
edit 编辑某个域的 XML 配置
event Domain Events
inject-nmi 在虚拟机中输入 NMI
iothreadinfo view domain IOThreads
iothreadpin control domain IOThread affinity
iothreadadd add an IOThread to the guest domain
iothreaddel delete an IOThread from the guest domain
send-key 向虚拟机发送序列号
send-process-signal 向进程发送信号
lxc-enter-namespace LXC 虚拟机进入名称空间
managedsave 管理域状态的保存
managedsave-remove 删除域的管理保存
managedsave-edit edit XML for a domain's managed save state file
managedsave-dumpxml Domain information of managed save state file in XML
managedsave-define redefine the XML for a domain's managed save state file
memtune 获取或者数值内存参数
perf Get or set perf event
metadata show or set domain's custom XML metadata
migrate 将域迁移到另一个主机中
migrate-setmaxdowntime 设定最大可耐受故障时间
migrate-getmaxdowntime get maximum tolerable downtime
migrate-compcache 获取/设定压缩缓存大小
migrate-setspeed 设定迁移带宽的最大值
migrate-getspeed 获取最长迁移带宽
migrate-postcopy Switch running migration from pre-copy to post-copy
numatune 获取或者数值 numa 参数
qemu-attach QEMU 附加
qemu-monitor-command QEMU 监控程序命令
qemu-monitor-event QEMU Monitor Events
qemu-agent-command QEMU 虚拟机代理命令
reboot 重新启动一个域
reset 重新设定域
restore 从一个存在一个文件中的状态恢复一个域
resume 重新恢复一个域
save 把一个域的状态保存到一个文件
save-image-define 为域的保存状态文件重新定义 XML
save-image-dumpxml 在 XML 中保存状态域信息
save-image-edit 为域保存状态文件编辑 XML
schedinfo 显示/设置日程安排变量
screenshot 提取当前域控制台快照并保存到文件中
set-lifecycle-action change lifecycle actions
set-user-password set the user password inside the domain
setmaxmem 改变最大内存限制值
setmem 改变内存的分配
setvcpus 改变虚拟 CPU 的号
shutdown 关闭一个域
start 开始一个(以前定义的)非活跃的域
suspend 挂起一个域
ttyconsole tty 控制台
undefine 取消定义一个域
update-device 从 XML 文件中关系设备
vcpucount 域 vcpu 计数
vcpuinfo 详细的域 vcpu 信息
vcpupin 控制或者查询域 vcpu 亲和性
emulatorpin 控制火车查询域模拟器亲和性
vncdisplay vnc 显示
guestvcpus query or modify state of vcpu in the guest (via agent)
setvcpu attach/detach vcpu or groups of threads
domblkthreshold set the threshold for block-threshold event for a given block device or it's backing chain element
Domain Monitoring (help keyword 'monitor')
domblkerror 在块设备中显示错误
domblkinfo 域块设备大小信息
domblklist 列出所有域块
domblkstat 获得域设备块状态
domcontrol 域控制接口状态
domif-getlink 获取虚拟接口链接状态
domifaddr Get network interfaces' addresses for a running domain
domiflist 列出所有域虚拟接口
domifstat 获得域网络接口状态
dominfo 域信息
dommemstat 获取域的内存统计
domstate 域状态
domstats get statistics about one or multiple domains
domtime domain time
list 列出域
Host and Hypervisor (help keyword 'host')
allocpages Manipulate pages pool size
capabilities 性能
cpu-baseline 计算基线 CPU
cpu-compare 使用 XML 文件中描述的 CPU 与主机 CPU 进行对比
cpu-models CPU models
domcapabilities domain capabilities
freecell NUMA可用内存
freepages NUMA free pages
hostname 打印管理程序主机名
hypervisor-cpu-baseline compute baseline CPU usable by a specific hypervisor
hypervisor-cpu-compare compare a CPU with the CPU created by a hypervisor on the host
maxvcpus 连接 vcpu 最大值
node-memory-tune 获取或者设定节点内存参数
nodecpumap 节点 cpu 映射
nodecpustats 输出节点的 cpu 状统计数据。
nodeinfo 节点信息
nodememstats 输出节点的内存状统计数据。
nodesuspend 在给定时间段挂起主机节点
sysinfo 输出 hypervisor sysinfo
uri 打印管理程序典型的URI
version 显示版本
Interface (help keyword 'interface')
iface-begin 生成当前接口设置快照,可在今后用于提交 (iface-commit) 或者恢复 (iface-rollback)
iface-bridge 生成桥接设备并为其附加一个现有网络设备
iface-commit 提交 iface-begin 后的更改并释放恢复点
iface-define define an inactive persistent physical host interface or modify an existing persistent one from an XML file
iface-destroy 删除物理主机接口(启用它请执行 "if-down")
iface-dumpxml XML 中的接口信息
iface-edit 为物理主机界面编辑 XML 配置
iface-list 物理主机接口列表
iface-mac 将接口名称转换为接口 MAC 地址
iface-name 将接口 MAC 地址转换为接口名称
iface-rollback 恢复到之前保存的使用 iface-begin 生成的更改
iface-start 启动物理主机接口(启用它请执行 "if-up")
iface-unbridge 分离其辅助设备后取消定义桥接设备
iface-undefine 取消定义物理主机接口(从配置中删除)
Network Filter (help keyword 'filter')
nwfilter-define 使用 XML 文件定义或者更新网络过滤器
nwfilter-dumpxml XML 中的网络过滤器信息
nwfilter-edit 为网络过滤器编辑 XML 配置
nwfilter-list 列出网络过滤器
nwfilter-undefine 取消定义网络过滤器
nwfilter-binding-create create a network filter binding from an XML file
nwfilter-binding-delete delete a network filter binding
nwfilter-binding-dumpxml XML 中的网络过滤器信息
nwfilter-binding-list list network filter bindings
Networking (help keyword 'network')
net-autostart 自动开始网络
net-create 从一个 XML 文件创建一个网络
net-define define an inactive persistent virtual network or modify an existing persistent one from an XML