第 14 章 使用 virsh 管理 guest 虚拟机
virsh 是用于管理 guest 虚拟机和 hypervisor 的命令行工具。virsh 命令行工具在 libvirt 管理 API 上构建,并作为 qemu-kvm 命令和图形 virt-manager 应用程序的替代操作。virsh 命令可在只读模式下供非特权用户使用,也可以使用 root 访问权限、完整的管理功能。virsh 命令是编写虚拟化管理脚本的理想选择。
14.1. 通用命令 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
本节中的命令是通用的,因为它们不特定于任何域。
14.1.1. 帮助 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
$ virsh help [command|group] help 命令可与 或不使用选项一起使用。当在没有选项的情况下使用时,将列出所有命令,每行一个。与选项一起使用时,它将分组为不同的类别,显示每个组的关键字。
要显示只针对特定选项的命令,您需要为该组提供关键字作为选项。例如:
使用与命令选项相同的命令,提供该特定命令的帮助信息。例如:
14.1.2. 退出并退出 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
quit 命令和 exit 命令将关闭终端。例如:
virsh exit
$ virsh exit
virsh quit
$ virsh quit
14.1.3. version 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
version 命令显示当前 libvirt 版本,并显示有关构建位置的信息。例如:
14.1.4. 参数显示 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
virsh echo [--shell][--xml][arg] 命令回显或显示指定的参数。调用的每个参数都将一个空格分开。通过使用
--shell
选项,输出将根据需要进行单引号,以便其适合在 shell 命令中重复使用。如果使用 --xml
选项,则输出将适合用于 XML 文件。例如,命令 virsh echo --shell "hello world" 将发送输出 'hello world'
。
14.1.5. connect 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
连接到管理程序会话.当 shell 首次启动时,该命令会在 -c 命令请求 URI 参数时自动运行。URI 指定如何连接到虚拟机监控程序。最常用的 URI 是:
- Xen:/// - 连接到本地 Xen 管理程序.
- QEMU :///system - 以 root 身份从本地连接守护进程,可打开 QEMU 和 KVM 域。
- Xen:///session - 以用户身份本地连接到用户一组 QEMU 和 KVM 域。
- lxc:/// - 连接到本地 Linux 容器。
libvirt 的网站 http://libvirt.org/uri.html 提供了其他值。
该命令可以按如下方式运行:
virsh connect {name|URI}
$ virsh connect {name|URI}
其中
{name}
是 hypervisor 的机器名称(主机名)或 URL( virsh uri 命令的输出)。要启动只读连接,请使用 --readonly
附加上述命令。如需有关 URI 的更多信息,请参阅 远程 URI。如果您不确定 URI,则 virsh uri 命令将显示它:
virsh uri
$ virsh uri
qemu:///session
14.1.6. 显示基本信息 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
以下命令可以用来显示基本信息:
- $ hostname - 显示虚拟机监控程序的主机名
- $ sysinfo - 显示管理程序系统信息的 XML 表(如果可用)
14.1.7. 注入 NMI 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
$ virsh inject-nmi [domain] 将 NMI(不可屏蔽中断)信息注入给客户机虚拟机。这在响应时间至关重要时使用,如不可恢复的硬件错误。要运行这个命令:
virsh inject-nmi guest-1
$ virsh inject-nmi guest-1