virsh 常用命令
列出虚拟机
列出所有虚拟机,包括正在运行和已关闭的虚拟机。
virsh list --all
启动虚拟机
virsh start <虚拟机名称>
关闭虚拟机
优雅地关闭虚拟机,类似于发送关机命令。
virsh shutdown <虚拟机名称>
强制关闭虚拟机
立即终止虚拟机,无论其状态如何。应谨慎使用。
virsh destroy <虚拟机名称>
创建虚拟机
从给定的 XML 配置文件创建并启动新的虚拟机。
virsh create <xml文件>
定义虚拟机
从给定的 XML 配置文件定义一个新的虚拟机,但不会立即启动它。
virsh define <xml文件>
删除虚拟机
删除虚拟机定义,但不删除其存储卷(磁盘镜像)。
virsh undefine <虚拟机名称>
开机启动虚拟机
设置虚拟机在宿主机启动时自动启动。
virsh autostart <虚拟机名称>
停止自动启动
停止虚拟机的自动启动配置。
virsh autostop <虚拟机名称>
获取虚拟机信息
显示有关虚拟机的详细信息,包括 ID、状态、内存、CPU 等。
virsh dominfo <虚拟机名称>
连接到虚拟机控制台
连接到虚拟机的控制台,通常用于故障排查。
virsh console <虚拟机名称>
挂起虚拟机
暂时挂起虚拟机,类似于休眠状态。
virsh suspend <虚拟机名称>
恢复虚拟机
恢复先前挂起的虚拟机。
virsh resume <虚拟机名称>
列出所有网络
virsh net-list --all
启动网络
virsh net-start <网络名称>
停止网络
virsh net-destroy <网络名称>
列出所有存储池
virsh pool-list --all
启动存储池
virsh pool-start <存储池名称>
停止存储池
virsh pool-destroy <存储池名称>
virsh 使用说明
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参数(可能是与磁盘I/O性能相关的参数)。
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-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 查看虚拟机(domain)的IOThreads信息。
iothreadpin 控制虚拟机IOThread的亲和性。
iothreadadd 向客户机虚拟机添加IOThread。
iothreadset 修改客户机虚拟机现有IOThread的设置。
iothreaddel 从客户机虚拟机删除IOThread。
send-key 向客户机发送按键代码。
send-process-signal 向客户机进程发送信号。
lxc-enter-namespace 进入LXC客户机的命名空间。
managedsave 管理虚拟机状态保存。
managedsave-remove 删除已管理的虚拟机状态保存。
managedsave-edit 编辑虚拟机管理保存状态文件的XML。
managedsave-dumpxml 以XML格式显示管理保存状态文件的信息。
managedsave-define 为虚拟机的管理保存状态文件重新定义XML。
memtune 获取或设置内存参数。
perf 获取或设置性能事件。
metadata 显示或设置虚拟机的自定义XML元数据。
migrate 将虚拟机迁移到另一台主机上。
migrate-setmaxdowntime 设置可容忍的最大停机时间。
migrate-getmaxdowntime 获取可容忍的最大停机时间。
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客户代理命令。
guest-agent-timeout 设置客户代理超时时间。
reboot 重启虚拟机。
reset 重置虚拟机。
restore 从文件中恢复虚拟机的状态。
resume 恢复虚拟机的运行。
save 将虚拟机状态保存到文件。
save-image-define 为虚拟机的保存状态文件重新定义XML。
save-image-dumpxml 以XML格式显示保存状态虚拟机的信息。
save-image-edit 编辑虚拟机的保存状态文件的XML。
schedinfo 显示/设置调度器参数。
screenshot 截取当前虚拟机的屏幕截图并保存到文件中。
set-lifecycle-action 更改生命周期操作。
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 为给定的块设备或其存储后端链元素设置块阈值事件的阈值。
guestinfo 查询关于虚拟机(通过代理)的信息。
Domain Monitoring (help keyword 'monitor')
domblkerror 显示块设备上的错误。
domblkinfo 显示虚拟机(domain)块设备的大小信息。
domblklist 列出所有虚拟机的块设备。
domblkstat 获取虚拟机的块设备统计信息。
domcontrol 显示虚拟机的控制接口状态。
domif-getlink 获取虚拟接口的连接状态。
domifaddr 获取运行虚拟机的网络接口地址。
domiflist 列出所有虚拟机的虚拟网络接口。
domifstat 获取虚拟机的网络接口统计信息。
dominfo 显示虚拟机的信息。
dommemstat 获取虚拟机的内存统计信息。
domstate 显示虚拟机的状态。
domstats 获取一个或多个虚拟机的统计信息。
domtime 显示虚拟机的时间。
list 列出所有的虚拟机。
Host and Hypervisor (help keyword 'host')
allocpages 操作页面池大小。
capabilities 能力信息。
cpu-baseline 计算基准 CPU。
cpu-compare 比较主机 CPU 与 XML 文件描述的 CPU。
cpu-models CPU 模型。
domcapabilities 虚拟机的能力。
freecell NUMA 空闲内存。
freepages NUMA 空闲页面。
hostname 打印虚拟机监控程序主机名。
hypervisor-cpu-baseline 计算特定虚拟机监控程序可用的基准 CPU。
hypervisor-cpu-compare 比较与主机上虚拟机监控程序创建的 CPU。
maxvcpus 连接的虚拟 CPU 最大值。
node-memory-tune 获取或设置节点内存参数。
nodecpumap 节点 CPU 映射。
nodecpustats 打印节点的 CPU 统计信息。
nodeinfo 节点信息。
nodememstats 打印节点的内存统计信息。
nodesuspend 暂停主机节点指定时间。
sysinfo 打印虚拟机监控程序系统信息。
uri 打印虚拟机监控程序的规范 URI。
version 显示版本信息。
Checkpoint (help keyword 'checkpoint')
checkpoint-create 从XML创建一个检查点。
checkpoint-create-as 从一组参数创建一个检查点。
checkpoint-delete 删除一个虚拟机的检查点。
checkpoint-dumpxml 为一个虚拟机的检查点导出XML。
checkpoint-edit 编辑一个检查点的XML。
checkpoint-info 检查点信息。
checkpoint-list 列出虚拟机的所有的检查点。
checkpoint-parent 获取一个检查点的父检查点的名称。
Interface (help keyword '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 从配置中删除物理主机接口(将其移除)。
Network Filter (help keyword 'filter')
nwfilter-define 从XML文件定义或更新网络过滤器。
nwfilter-dumpxml 以XML格式输出网络过滤器的信息。
nwfilter-edit 编辑网络过滤器的XML配置。
nwfilter-list 列出所有的网络过滤器。
nwfilter-undefine 删除一个已定义的网络过滤器。
nwfilter-binding-create 从XML文件创建一个网络过滤器绑定。
nwfilter-binding-delete 删除一个网络过滤器绑定。
nwfilter-binding-dumpxml 以XML格式输出网络过滤器绑定的信息。
nwfilter-binding-list 列出所有的网络过滤器绑定。
Networking (help keyword '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。
net-port-list 列出网络端口。
net-port-create 从XML文件创建一个网络端口。
net-port-dumpxml 以XML格式输出网络端口信息。
net-port-delete 删除指定的网络端口。
Node Device (help keyword 'nodedev')
nodedev-create 在节点上根据XML文件创建一个设备。
nodedev-destroy 在节点上销毁(停止)一个设备。
nodedev-detach 从设备驱动程序中分离节点设备。
nodedev-dumpxml 以XML格式显示节点设备的详细信息。
nodedev-list 枚举此主机上的所有设备。
nodedev-reattach 将节点设备重新附加到其设备驱动程序上。
nodedev-reset 重置节点设备。
nodedev-event 节点设备事件。
Secret (help keyword 'secret')
secret-define define or modify a secret from an XML file
secret-dumpxml secret attributes in XML
secret-event Secret Events
secret-get-value Output a secret value
secret-list list secrets
secret-set-value set a secret value
secret-undefine undefine a secret
Snapshot (help keyword '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 将虚拟机还原到某个快照状态
Backup (help keyword 'backup')
backup-begin 开始一个活动虚拟机的磁盘备份。
backup-dumpxml 导出正在进行的虚拟机块备份作业的山格式(XML)信息。
Storage Pool (help keyword '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 存储池事件。
pool-capabilities 存储池的能力或功能。
Storage Volume (help keyword 'volume')
vol-clone 克隆一个卷。复制现有卷的数据到一个新的卷。
vol-create-as 根据一系列参数创建一个卷。
vol-create 从一个XML文件创建一个卷。使用预先定义的XML格式的配置创建卷。
vol-create-from 创建一个卷,使用另一个卷作为输入。这通常意味着复制另一个卷的数据来创建新的卷。
vol-delete 删除一个卷。移除存储系统中的卷及其所有数据。
vol-download 将卷的内容下载到一个文件。从一个卷中提取数据并保存到本地文件中。
vol-dumpxml 以XML格式输出卷的信息。提供卷的详细配置和数据作为XML格式的输出。
vol-info 显示存储卷的信息。提供有关卷的元数据和其他相关信息。
vol-key 返回给定卷名称或路径的卷密钥。卷密钥可能是用于识别和管理卷的特定标识符。
vol-list 列出所有的卷。显示存储系统中所有可用的卷。
vol-name 返回给定卷密钥或路径的卷名称。查询特定卷的名称。
vol-path 返回给定卷名称或密钥的卷路径。提供卷在存储系统中的具体位置或路径。
vol-pool 返回给定卷密钥或路径的存储池信息。显示与特定卷关联的存储池详情。
vol-resize 调整卷的大小。增加或减少卷的容量。
vol-upload 将文件内容上传到卷中。将本地文件的数据上传到存储系统的卷中。
vol-wipe 清除一个卷的内容或数据。删除卷中的所有数据,通常用于数据销毁或安全删除敏感数据
Virsh itself (help keyword 'virsh')
cd change the current directory
echo echo arguments
exit quit this interactive terminal
help print help
pwd print the current directory
quit quit this interactive terminal
connect (re)connect to hypervisor
(specify help <group> for details about the commands in the group)
(specify help <command> for details about the command)