首页 > 文章列表 > KVM常用虚拟机操作virsh命令,virsh命令是什么

KVM常用虚拟机操作virsh命令,virsh命令是什么

418 2025-04-03

KVM虚拟机管理利器:virsh命令详解

virsh命令是基于libvirt API的强大命令行工具,用于管理KVM虚拟机。它提供与图形化工具virt-manager类似的功能,但更适合自动化脚本和命令行操作。本文将详细介绍virsh命令的常用功能。

KVM常用虚拟机操作virsh命令,virsh命令是什么

一、虚拟机管理

  1. 列出虚拟机:

    • 运行中虚拟机:virsh list
    • 所有虚拟机(包括已停止的):virsh list --all
  2. 启动/停止/重启虚拟机:

    • 启动:virsh start <vm_name>
    • 停止(优雅关机):virsh shutdown <vm_name>
    • 强制停止:virsh destroy <vm_name>
    • 重启:virsh reboot <vm_name>
  3. 创建/删除虚拟机:

    • 从XML配置文件创建:virsh create <config_file.xml>
    • 定义虚拟机(不启动):virsh define <config_file.xml>
    • 删除虚拟机定义(保留磁盘):virsh undefine <vm_name>
    • 删除虚拟机及其磁盘:virsh undefine <vm_name> --remove-all-storage
  4. 修改虚拟机配置:

    • 编辑XML配置:virsh edit <vm_name>
    • 查看XML配置:virsh dumpxml <vm_name>
  5. 快照管理:

    • 列出快照:virsh snapshot-list <vm_name>
    • 创建快照:virsh snapshot-create-as <vm_name> <snapshot_name> --description "Snapshot description"
    • 恢复快照:virsh snapshot-revert <vm_name> <snapshot_name>
    • 删除快照:virsh snapshot-delete <vm_name> <snapshot_name>
  6. 虚拟机信息:

    • 详细信息:virsh dominfo <vm_name>
    • CPU使用情况:virsh cpu-stats <vm_name>

二、网络和存储管理

  1. 网络:

    • 列出网络:virsh net-list --all
    • 启动/停止网络:virsh net-start <network_name>, virsh net-stop <network_name>
  2. 存储池:

    • 列出存储池:virsh pool-list --all
    • 启动/停止存储池:virsh pool-start <pool_name>, virsh pool-stop <pool_name>

三、监控和调试

  1. 监控:

    • 运行中虚拟机:virsh list --state-running
  2. 日志:

    • 查看虚拟机日志 (通常位于 /var/log/libvirt/qemu/ 目录下,文件名与虚拟机名相同)。

四、其他常用命令

  • 版本信息:virsh -version
  • 帮助信息:virsh --helpvirsh help <command>

五、补充说明

以上命令中 <vm_name>, <config_file.xml>, <network_name>, <pool_name>, <snapshot_name> 需要替换成实际的虚拟机名称、配置文件路径、网络名称、存储池名称和快照名称。 请根据实际情况选择合适的命令和参数。 建议在执行 virsh undefine 命令前备份重要的虚拟机数据。

通过熟练掌握virsh命令,您可以高效地管理KVM虚拟机,实现虚拟化环境的自动化和精细化控制。