virsh命令
[root@ ~]# virsh --help
virsh [选项]... [<命令字符串>]
virsh [选项]... <命令> [参数...]
选项:
-c | --connect=URI 超级管理程序连接 URI
-d | --debug=NUM 调试级别 [0-4]
-e | --escape <char> 为控制台设置转义序列
-h | --help 显示此帮助
-k | --keepalive-interval=NUM
保持连接间隔(秒),0 表示禁用
-K | --keepalive-count=NUM
允许丢失的保持连接消息数量
-l | --log=FILE 将日志输出到文件
-q | --quiet 安静模式
-r | --readonly 只读连接
-t | --timing 打印计时信息
-v 简短版本
-V 完整版本
--version[=TYPE] 版本信息,TYPE 可为 short 或 long(默认 short)
命令(非交互模式):
域管理(帮助关键字 'domain')
attach-device 从 XML 文件附加设备
attach-disk 附加磁盘设备
attach-interface 附加网络接口
autostart 自动启动一个域
blkdeviotune 设置或查询块设备 I/O 调优参数。
blkiotune 获取或设置块 I/O 参数
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 从电源挂起状态唤醒域
domuuid 将域名或 ID 转换为域 UUID
domxml-from-native 将本地配置转换为域 XML
domxml-to-native 将域 XML 转换为本地配置
dump 将域的核心转储到文件中以供分析
dumpxml 域信息(XML 格式)
edit 编辑域的 XML 配置
event 域事件
inject-nmi 向客户机注入 NMI
iothreadinfo 查看域 IO 线程
iothreadpin 控制域 IO 线程亲和性
iothreadadd 向客户机域添加 IO 线程
iothreaddel 从客户机域删除 IO 线程
send-key 向客户机发送按键代码
send-process-signal 向进程发送信号
lxc-enter-namespace 进入 LXC 客户机命名空间
managedsave 管理保存域状态
managedsave-remove 移除已管理保存的域
memtune 获取或设置内存参数
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 域的虚拟 CPU 数量
vcpuinfo 域虚拟 CPU 的详细信息
vcpupin 控制或查询域虚拟 CPU 的亲和性
emulatorpin 控制或查询域模拟器的亲和性
vncdisplay VNC 显示
guestvcpus 查询或修改客户机虚拟 CPU 的状态(通过代理)
setvcpu 附加/分离虚拟 CPU 或线程组
domblkthreshold 设置给定块设备或其后备链元素的块阈值事件阈值
liveupgrade 超级管理程序实时升级
domresctrl-bitmask-update 更新域 resctrl 组 L3 缓存位掩码
erase-volume 擦除主机卷
host-mgmt-ctr 发送管理命令并返回命令输出
query-timer-passth 检查 AMD 虚拟机是否启用计时器直通
域监控(帮助关键字 'monitor')
domblkerror 显示块设备错误
domblkinfo 显示域块设备大小信息
domblklist 列出所有域块设备
domblkstat 获取域设备块统计信息
domcontrol 域控制接口状态
domif-getlink 获取虚拟接口链路状态
domifaddr 获取运行中域的网络接口地址
domiflist 列出所有域虚拟接口
domifstat 获取域网络接口统计信息
dominfo 域信息
dommemstat 获取域内存统计信息
domstate 域状态
domstats 获取一个或多个域的统计信息
domtime 域时间
list 列出域
主机和超级管理程序(帮助关键字 'host')
allocpages 操作页面池大小
capabilities 功能
cpu-models CPU 模型
domcapabilities 域功能
freecell NUMA 空闲内存
freepages NUMA 空闲页面
hugepageinfo NUMA 大页信息
eth0ip 打印超级管理程序的 eth0 IP
hostname 打印超级管理程序主机名
maxvcpus 连接虚拟 CPU 最大数
node-memory-tune 获取或设置节点内存参数
nodecpumap 节点 CPU 映射
nodecpustats 打印节点 CPU 统计信息
nodeinfo 节点信息
nodememstats 打印节点内存统计信息
nodesuspend 挂起主机节点指定的时间
sysinfo 打印超级管理程序系统信息
uri 打印超级管理程序规范 URI
resctrlinfo L3 缓存 Resctrl 信息
resctrl-group-update 更新 Resctrl 组 L3 缓存位掩码
version 显示版本
query-host-timer-passth 检查 AMD 主机 /dev/kvm 是否支持计时器直通
接口(帮助关键字 'interface')
iface-begin 创建当前接口设置的快照,可稍后提交(iface-commit)或回滚(iface-rollback)
iface-bridge 创建桥接设备并附加一个已有的网络设备
iface-commit 提交自 iface-begin 后所做的更改并释放恢复点
iface-define 定义一个非活动的持久物理主机接口或从 XML 文件修改已有持久接口
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 取消定义物理主机接口(将其从配置中移除)
网络过滤器(帮助关键字 'filter')
nwfilter-define 从 XML 文件定义或更新网络过滤器
nwfilter-dumpxml 网络过滤器信息(XML 格式)
nwfilter-edit 编辑网络过滤器的 XML 配置
nwfilter-list 列出网络过滤器
nwfilter-undefine 取消定义网络过滤器
网络(帮助关键字 'network')
net-autostart 自动启动网络
net-create 从 XML 文件创建网络
net-define 定义一个非活动持久虚拟网络或从 XML 文件修改已有网络
net-destroy 销毁(停止)网络
net-dhcp-leases 打印指定网络的租约信息
net-dumpxml 网络信息(XML 格式)
net-edit 编辑网络的 XML 配置
net-event 网络事件
net-info 网络信息
net-list 列出网络
net-name 将网络 UUID 转换为网络名称
net-start 启动一个(先前定义的)非活动网络
net-undefine 取消定义持久网络
net-update 更新现有网络配置的部分内容
net-uuid 将网络名称转换为网络 UUID
节点设备(帮助关键字 'nodedev')
nodedev-create 从 XML 文件在节点上创建设备
nodedev-destroy 销毁(停止)节点上的设备
nodedev-detach 从设备驱动程序分离节点设备
nodedev-dumpxml 节点设备详细信息(XML 格式)
nodedev-list 列举本主机上的设备
nodedev-reattach 将节点设备重新附加到其设备驱动程序
nodedev-reset 重置节点设备
nodedev-event 节点设备事件
密钥(帮助关键字 'secret')
secret-define 从 XML 文件定义或修改密钥
secret-dumpxml 密钥属性(XML 格式)
secret-event 密钥事件
secret-get-value 输出密钥值
secret-list 列出密钥
secret-set-value 设置密钥值
secret-undefine 取消定义密钥
快照(帮助关键字 'snapshot')
snapshot-create 从 XML 创建快照
snapshot-create-as 从一组参数创建快照
snapshot-current 获取或设置当前快照
snapshot-delete 删除域快照
snapshot-dumpxml 导出域快照的 XML
snapshot-edit 编辑快照的 XML
snapshot-info 快照信息
snapshot-list 列出域的快照
snapshot-parent 获取快照的父快照名称
snapshot-revert 恢复域到某个快照
存储池(帮助关键字 'pool')
find-storage-pool-sources-as 查找潜在的存储池来源(参数形式)
find-storage-pool-sources 发现潜在的存储池来源
pool-autostart 自动启动存储池
pool-build 构建存储池
pool-create-as 从一组参数创建存储池
pool-create 从 XML 文件创建存储池
pool-define-as 从一组参数定义存储池
pool-define 定义一个非活动持久存储池或从 XML 文件修改已有存储池
pool-delete 删除存储池
pool-destroy 销毁(停止)存储池
pool-dumpxml 存储池信息(XML 格式)
pool-edit 编辑存储池的 XML 配置
pool-info 存储池信息
pool-list 列出存储池
pool-name 将存储池 UUID 转换为存储池名称
pool-refresh 刷新存储池
pool-start 启动一个(先前定义的)非活动存储池
pool-undefine 取消定义非活动存储池
pool-uuid 将存储池名称转换为存储池 UUID
pool-event 存储池事件
存储卷(帮助关键字 'volume')
vol-clone 克隆存储卷。
vol-create-as 从一组参数创建存储卷
vol-create 从 XML 文件创建存储卷
vol-create-from 使用其他存储卷作为输入创建存储卷
vol-delete 删除存储卷
vol-download 下载存储卷内容到文件
vol-dumpxml 存储卷信息(XML 格式)
vol-info 存储卷信息
vol-key 返回给定存储卷名称或路径的存储卷键
vol-list 列出存储卷
vol-name 返回给定存储卷键或路径的存储卷名称
vol-path 返回给定存储卷名称或键的存储卷路径
vol-pool 返回给定存储卷键或路径对应的存储池
vol-resize 调整存储卷大小
vol-upload 上传文件内容到存储卷
vol-wipe 擦除存储卷
Virsh 本身(帮助关键字 'virsh')
cd 改变当前目录
echo 回显参数
exit 退出此交互式终端
help 打印帮助信息
pwd 打印当前目录
quit 退出此交互式终端
connect (重新)连接到超级管理程序
(指定 help <组> 来获取该组命令的详细信息)
(指定 help <命令> 来获取该命令的详细信息)
virsh
是用于管理 KVM 虚拟机的命令行工具,支持创建、管理、监控和删除虚拟机(VM)。以下是一些常用的 virsh
命令及其用途:
1. 虚拟机管理
启动、停止、重启
virsh start <VM_NAME> # 启动虚拟机
virsh shutdown <VM_NAME> # 关闭虚拟机(优雅关闭)
virsh reboot <VM_NAME> # 重启虚拟机
virsh destroy <VM_NAME> # 强制关闭虚拟机(相当于拔电源)
暂停、恢复
virsh suspend <VM_NAME> # 挂起虚拟机
virsh resume <VM_NAME> # 恢复虚拟机
删除虚拟机
virsh undefine <VM_NAME> # 取消定义虚拟机(删除配置文件,不删除磁盘)
2. 查看虚拟机信息
查看虚拟机状态
virsh list --all # 列出所有虚拟机(运行和关闭的)
virsh list --state-running # 仅列出正在运行的虚拟机
virsh list --state-shutoff # 仅列出已关闭的虚拟机
virsh domstate <VM_NAME> # 查询指定虚拟机状态
查看虚拟机详细信息
virsh dominfo <VM_NAME> # 获取虚拟机的详细信息(CPU、内存等)
virsh dumpxml <VM_NAME> # 显示虚拟机的 XML 配置
查看虚拟机的 CPU 和内存使用情况
virsh cpu-stats <VM_NAME> # 查看 CPU 统计信息
virsh memstats <VM_NAME> # 查看内存使用情况
3. 虚拟机快照管理
virsh snapshot-list <VM_NAME> # 列出虚拟机的快照
virsh snapshot-create-as <VM_NAME> <SNAP_NAME> --disk-only --atomic # 创建快照
virsh snapshot-revert <VM_NAME> <SNAP_NAME> # 恢复快照
virsh snapshot-delete <VM_NAME> <SNAP_NAME> # 删除快照
4. 虚拟机存储管理
列出存储池和卷
virsh pool-list --all # 列出存储池
virsh vol-list <POOL_NAME> # 列出存储池中的卷
创建存储池
virsh pool-create <XML_FILE> # 通过 XML 文件创建存储池
virsh pool-start <POOL_NAME> # 启动存储池
virsh pool-destroy <POOL_NAME> # 停止存储池
5. 虚拟机网络管理
查看网络
virsh net-list --all # 列出所有虚拟网络
virsh net-info <NET_NAME> # 查看指定网络的信息
管理网络
virsh net-start <NET_NAME> # 启动网络
virsh net-destroy <NET_NAME> # 停止网络
virsh net-autostart <NET_NAME> # 设置网络开机自动启动
查看虚拟机的 IP
virsh domifaddr <VM_NAME> # 获取虚拟机的 IP 地址
6. 虚拟机控制台
virsh console <VM_NAME> # 连接虚拟机的控制台