跳转至

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>          # 连接虚拟机的控制台