10 Guest 安装 #
VM Guest 由一个包含操作系统和数据文件的映像以及一个描述 VM Guest 虚拟硬件资源的配置文件构成。VM Guest 托管在 VM 主机服务器上并受其控制。本节提供有关安装 VM Guest 的概括说明。有关支持的 VM Guest 列表,请参见第 7 章 “虚拟化限制和支持”。
与运行操作系统需要满足的要求相比,虚拟机几乎没有什么要求。如果操作系统未根据虚拟机主机环境进行优化,它将只能以全虚拟化模式在硬件辅助虚拟化计算机硬件上运行,并需要装载特定的设备驱动程序。提供给 VM Guest 的硬件取决于主机的配置。
您应该了解与在多个虚拟机上运行单个已许可操作系统副本相关的任何许可问题。有关详细信息,请查阅操作系统许可协议。
10.1 基于 GUI 的 Guest 安装 #
可以更改在创建新虚拟机时要应用的默认值。例如,要将 UEFI 设置为新虚拟机的默认固件类型,请从虚拟机管理器的主菜单中选择
› ,单击 ,然后将 设置为默认固件。向导将帮助您完成创建虚拟机和安装其操作系统所需执行的步骤。要启动该向导,请打开虚拟机管理器并选择 › 。或者,启动 YaST 并选择 › 。
从 YaST 或虚拟机管理器中启动
向导。选择安装源 — 本地可用的媒体或网络安装源。如果您要从现有映像安装 VM Guest,请选择
。在运行 Xen 超级管理程序的 VM 主机服务器上,您可以选择是要安装半虚拟化 Guest 还是全虚拟化 Guest。您可以在
下选择相应的选项。根据此项选择,并非所有安装选项均可用。根据在上一步中所做的选择,您需要提供以下数据:
在 VM 主机服务器上指定包含安装数据的 ISO 映像的路径。如果该映像是作为 libvirt 储存池中的卷提供的,您也可以使用第 13 章 “高级储存主题”。
来选择。有关更多信息,请参见或者,选择已插入到 VM 主机服务器光驱中的物理 CD-ROM 或 DVD。
提供指向安装源的
。例如,有效的 URL 前缀包括ftp://
、http://
和https://
。在
下,提供自动安装文件(例如 AutoYaST 或 Kickstart)的路径以及内核参数。提供 URL 后,应该就会自动正确检测到操作系统。如果情况并非如此,请取消选择 ,并手动选择 和 。要从现有映像安装 VM Guest,您需要在 VM 主机服务器上指定该映像的路径。如果该映像是作为 libvirt 储存池中的卷提供的,您也可以使用第 13 章 “高级储存主题”。
来选择。有关更多信息,请参见如果您要创建虚拟机,手动配置其组件并稍后安装其操作系统,则适合使用这种安装方法。要将 VM 调整为特定的产品版本,请开始键入版本名称(例如
sles
),然后在出现匹配项时选择所需的版本。
选择新虚拟机的内存大小和 CPU 数量。
如果在第一步中选择了
,则会省略此步骤。设置 VM Guest 的虚拟硬盘。创建新磁盘映像,或者从储存池中选择一个现有的磁盘映像(有关详细信息,请参见第 13 章 “高级储存主题”)。如果您选择创建磁盘,将会创建一个
qcow2
映像。默认情况下,该映像储存在/var/lib/libvirt/images
下。设置磁盘是可选操作。例如,如果您正在直接从 CD 或 DVD 运行实时系统,可以通过停用
来省略此步骤。在向导的最后一个屏幕上指定虚拟机的名称。如果您希望能够查看和更改虚拟化硬件选择,请激活
。在 下指定网络设备。使用 时,系统会预先填充主机上的第一个网桥。要使用其他网桥,请在文本框中手动更新为该网桥名称。单击
。(可选) 如果您在上一步中保留了默认设置,安装现在就会开始。如果您选择了 ,一个 VM Guest 配置对话框将会打开。有关配置 VM Guest 的详细信息,请参见第 14 章 “使用虚拟机管理器配置虚拟机”。
完成配置后,单击
。
安装将在一个虚拟机管理器控制台窗口中开始。某些组合键(例如 Ctrl–Alt–F1)会被 VM 主机服务器接受,但不会传递给虚拟机。虚拟机管理器提供“粘滞键”功能来绕过 VM 主机服务器。按 Ctrl、Alt 或 Shift 三次使该键成为粘滞键,然后按组合键中剩余的键便可将组合键传递给虚拟机。
例如,要将 Ctrl–Alt–F2 传递给 Linux 虚拟机,请按 Ctrl 三次,然后按 Alt–F2。也可以按 Alt 三次,然后按 Ctrl–F2。
在安装 VM Guest 期间以及安装之后,都可以在虚拟机管理器中使用粘滞键功能。
10.1.1 为虚拟机配置 PXE 引导 #
PXE 引导使虚拟机能够从网络引导安装媒体,而无需从物理媒体或安装磁盘映像进行引导。有关设置 PXE 引导环境的更多细节,请参见第 17 章 “准备网络引导环境”。
要使您的 VM 从 PXE 服务器引导,请执行以下步骤:
按照第 10.1 节 “基于 GUI 的 Guest 安装”中所述启动安装向导。
选择
方法。按照向导操作到最后一步,然后选中
。单击 确认。在
屏幕上,选择 。检查
,并选中 旁边的框。在
下,选中 并单击 确认。单击
以开始安装。如果正确配置了 PXE 服务器,PXE 菜单屏幕将会显示。
10.2 使用 virt-install
从命令行安装 #
virt-install
是个命令行工具,可帮助您使用 libvirt
库创建新虚拟机。如果您无法使用图形用户界面,或需要自动化虚拟机创建过程,此工具十分有用。
virt-install
是个复杂的脚本,其中包含大量命令行开关。下面是必需的开关。有关详细信息,请参见 virt-install
(1) 手册页。
- 一般选项
--name VM_GUEST_NAME
:指定新虚拟机的名称。该名称必须在同一连接上超级管理程序已知的所有 Guest 中保持唯一。该名称用于创建和命名 Guest 的配置文件,您可以通过virsh
使用该名称来访问 Guest。名称可包含字母数字和_-.:+
字符。--memory REQUIRED_MEMORY
:以 MB 为单位指定分配给新虚拟机的内存量。--vcpus NUMBER_OF_CPUS
:指定虚拟 CPU 数量。要获得最佳性能,虚拟处理器数量应小于或等于物理处理器数量。
- 虚拟化类型
--paravirt
:安装半虚拟化 Guest。如果 VM 主机服务器支持半虚拟化和全虚拟化,这就是默认设置。--hvm
:安装全虚拟化 Guest。--virt-type HYPERVISOR
:指定超级管理程序。支持的值为kvm
或xen
。
- Guest 储存
指定
--disk
、--filesystem
或--nodisks
作为新虚拟机的储存类型。例如,--disk size=10
会在超级管理程序的默认映像位置创建 10 GB 磁盘,并将此磁盘用于 VM Guest。--filesystem /export/path/on/vmhost
指定 VM 主机服务器上要导出到 Guest 的目录。--nodisks
安装不带本地储存的 VM Guest(适合使用实时 CD 的情形)。- 安装方法
使用
--location
、--cdrom
、--pxe
、--import
或--boot
指定安装方法。- 访问安装
使用
--graphics VALUE
选项指定如何访问安装。SUSE Linux Enterprise Server 支持值vnc
或none
。如果使用 VNC,
virt-install
将尝试启动virt-viewer
。如果 virt-viewer 未安装或无法运行,请使用您偏好的查看器手动连接到 VM Guest。要显式阻止virt-install
启动查看器,请使用--noautoconsole
。要定义用于访问 VNC 会话的口令,请使用以下语法:--graphics vnc,password=PASSWORD
。如果您使用
--graphics none
,可以通过操作系统支持的服务(例如 SSH 或 VNC)访问 VM Guest。请参见操作系统安装手册了解如何在安装系统中设置这些服务。- 传递内核和 initrd 文件
可以直接指定安装程序的内核和 Initrd,例如,指定来自网络来源的内核和 Initrd。要设置网络来源,请参见第 16.4 节 “手动设置 HTTP 软件源”。
要传递其他引导参数,请使用
--extra-args
选项。此选项可用于指定网络配置。有关详细信息,请参见第 7 章 “引导参数”。例 10.1︰ 从 HTTP 服务器装载内核和 initrd ##
virt-install
--location "http://example.tld/REPOSITORY/DVD1/" \ --extra-args="textmode=1" --name "SLES15" --memory 2048 --virt-type kvm\ --connect qemu:///system --disk size=10 --graphics vnc \ --network network=vnet_nated- 启用控制台
默认不会对使用
virt-install
安装的新虚拟机启用控制台。要启用控制台,请按下面的示例所示使用--extra-args="console=ttyS0 textmode=1"
:>
virt-install --virt-type kvm --name sles12 --memory 1024 \ --disk /var/lib/libvirt/images/disk1.qcow2 --os-variant sles12 --extra-args="console=ttyS0 textmode=1" --graphics none安装完成后,VM 映像中的
/etc/default/grub
文件将会更新,在GRUB_CMDLINE_LINUX_DEFAULT
行中包含console=ttyS0
选项。- 使用 UEFI 安全引导
按照第 6.3 节 “安装 UEFI 支持”中所述安装 OVMF。然后将
--boot uefi
选项添加到virt-install
命令。使用 OVMF 设置新 VM 时,将自动使用 UEFI 安全引导。要使用特定的固件,请使用
--boot loader=PATH_TO_FIRMWARE
。例如,对于 AArch64 体系结构:
--boot loader=/usr/share/qemu/qemu-uefi-aarch32.bin
对于 AMD64/Intel 64 体系结构:
--boot loader=/usr/share/qemu/ovmf-x86_64-opensuse.bin
virt-install
命令行示例 #以下命令行示例将创建带有 virtio 加速磁盘和网卡的新 SUSE Linux Enterprise 15 SP2 虚拟机。它将创建新的 10 GB qcow2 磁盘映像作为储存空间,源安装媒体为主机 CD-ROM 驱动器。此命令行将使用 VNC 图形,并自动启动图形客户端。
- KVM
>
virt-install --connect qemu:///system --virt-type kvm \ --name sle15sp2 --memory 1024 --disk size=10 --cdrom /dev/cdrom --graphics vnc \ --os-variant sle15sp2- Xen
>
virt-install --connect xen:// --virt-type xen --hvm \ --name sle15sp2 --memory 1024 --disk size=10 --cdrom /dev/cdrom --graphics vnc \ --os-variant sle15sp2
10.3 高级 Guest 安装方案 #
本节提供有关超出了正常安装范围的操作(例如使用内存气球和安装附加产品)的说明。
10.3.1 对 Windows Guest 使用内存气球 #
内存气球是在运行时更改 VM Guest 所用内存量的方法。KVM 和 Xen 超级管理程序都提供此方法,但需要 Guest 也支持此方法。
基于 openSUSE 和 SLE 的 Guest 支持内存气球,而 Windows Guest 需要通过虚拟机驱动程序包 (VMDP) 来提供气球技术。要使设置的最大内存大于为 Windows Guest 配置的初始内存,请执行以下步骤:
安装最大内存等于或小于初始值的 Windows Guest。
在 Windows Guest 中安装虚拟机驱动程序包,以提供所需的驱动程序。
关闭 Windows Guest。
将 Windows Guest 的最大内存重设置为所需值。
再次启动 Windows Guest。
10.3.2 在安装中包含附加产品 #
某些操作系统(例如 SUSE Linux Enterprise Server)允许在安装过程中包含附加产品。如果附加产品安装源是通过 SUSE Customer Center 提供的,则无需进行特殊的 VM Guest 配置。如果安装源是通过 CD/DVD 或 ISO 映像提供的,则需要向 VM Guest 安装系统提供标准安装媒体映像和附加产品的映像。
如果您使用的是基于 GUI 的安装,请在向导的最后一步选择
,并通过 › 添加附加产品 ISO 映像。指定映像的路径,并将 设置为 。
如果您是从命令行安装的,则需要使用 --disk
参数而不是 --cdrom
来设置虚拟 CD/DVD 驱动器。将使用第一个指定的设备进行引导。下面的示例会将 SUSE Enterprise Storage 扩展随 SUSE Linux Enterprise Server 15 一并安装:
>
virt-install \
--name sles15+storage \
--memory 2048 --disk size=10 \
--disk /path/to/SLE-15-SP4-Full-ARCH-GM-media1.iso-x86_64-GM-DVD1.iso,device=cdrom \
--disk /path/to/SUSE-Enterprise-Storage-VERSION-DVD-ARCH-Media1.iso,device=cdrom \
--graphics vnc --os-variant sle15