5 虚拟化工具 #
libvirt
是一个库,提供用于管理 KVM、LXC、Xen 等流行虚拟化解决方案的通用 API。该库为这些虚拟化解决方案提供规范化管理 API,以便为更高层级的管理工具提供一个跨超级管理程序的稳定接口。该库还提供用于管理 VM 主机服务器上的虚拟网络和储存的 API。每个 VM Guest 的配置都储存在 XML 文件中。
您还可以使用 libvirt
来远程管理 VM Guest。它支持 TLS 加密、x509 证书和 SASL 身份验证。这样,您便可以通过单个工作站集中管理 VM 主机服务器,无需再单独访问每台 VM 主机服务器。
建议您使用基于 libvirt
的工具来管理 VM Guest。libvirt
与基于 libvirt
的应用程序之间的互操作性已经过测试,SUSE 的支持原则将其视为不可或缺的一部分。
5.1 虚拟化控制台工具 #
SUSE Linux Enterprise Server 提供了以下适用于命令行的基于 libvirt 的工具:
virsh
(软件包: libvirt-client)用于管理 VM Guest 的命令行工具,其功能与虚拟机管理器类似。可让您更改 VM Guest 的状态(启动、停止、暂停等)、设置新的 Guest 和设备,或编辑现有配置。
virsh
还可用于编写 VM Guest 管理操作的脚本。virsh
将第一个参数作为命令,将后续参数作为此命令的选项:virsh [-c URI] COMMAND DOMAIN-ID [OPTIONS]
与
zypper
一样,您也可以调用不带命令的virsh
。在此情况下,virsh 会启动一个外壳并等待您发出命令。此模式非常适合必须运行后续命令的情形:~> virsh -c qemu+ssh://wilber@mercury.example.com/system Enter passphrase for key '/home/wilber/.ssh/id_rsa': Welcome to virsh, the virtualization interactive terminal. Type: 'help' for help with commands 'quit' to quit virsh # hostname mercury.example.com
virt-install
(软件包: virt-install)用于通过
libvirt
库创建新 VM Guest 的命令行工具。它支持通过 VNC 或 SPICE 协议进行图形安装。如果指定了适当的命令行参数,virt-install
能够以完全无人照管的方式运行。这样便可以轻松自动完成 Guest 安装。virt-install
是虚拟机管理器使用的默认安装工具。
5.2 虚拟化 GUI 工具 #
SUSE Linux Enterprise Server 提供了以下基于 libvirt 的图形工具。所有工具由带有相应工具名称的软件包提供。
- 虚拟机管理器(软件包: virt-manager)
虚拟机管理器是用于管理 VM Guest 的桌面工具。此工具提供控制现有计算机生命周期(启动/关机、暂停/继续、保存/恢复)以及创建新 VM Guest 的功能。它可用于管理各种类型的储存设备和虚拟网络。使用它可以通过内置 VNC 查看器访问 VM Guest 的图形控制台,以及查看性能统计信息。
virt-manager
支持连接到本地libvirtd
来管理本地 VM 主机服务器,或连接到远程libvirtd
来管理远程 VM 主机服务器。要启动虚拟机管理器,请在命令提示符处输入
virt-manager
。注意要禁用通过 spice 对 VM Guest 自动进行 USB 设备重定向的功能,请结合
--spice-disable-auto-usbredir
参数启动virt-manager
,或运行以下命令来永久更改默认行为:tux >
dconf write /org/virt-manager/virt-manager/console/auto-redirect falsevirt-viewer
(软件包: virt-viewer)VM Guest 图形控制器的查看器。它使用 SPICE(默认已在 VM Guest 上配置)或 VNC 协议,并支持 TLS 和 x509 证书。可按名称、ID 或 UUID 访问 VM Guest。如果 Guest 尚未运行,可以告知该查看器先等待 Guest 启动,然后再尝试连接到控制台。
virt-viewer
默认未安装,安装软件包virt-viewer
后即可使用它。注意要禁用通过 spice 对 VM Guest 自动进行 USB 设备重定向的功能,请使用
--spice-usbredir-auto-redirect-filter=''
参数添加一个空过滤器。yast2 vm
(软件包: yast2-vm)一个 YaST 模块,可简化虚拟化工具的安装并可设置网桥: