9 Guest 安装 #
VM Guest 由一个包含操作系统和数据文件的映像以及一个描述 VM Guest 虚拟硬件资源的配置文件构成。VM Guest 托管在 VM 主机服务器上并受其控制。本节提供有关安装 VM Guest 的概括说明。有关支持的 VM Guest 列表,请参见第 7 章 “支持的主机、Guest 和功能”。
与运行操作系统需要满足的要求相比,虚拟机几乎没有什么要求。如果操作系统未根据虚拟机主机环境进行优化,它将只能以全虚拟化模式在硬件辅助虚拟化计算机硬件上运行,并需要装载特定的设备驱动程序。提供给 VM Guest 的硬件取决于主机的配置。
您应该了解与在多个虚拟机上运行单个已许可操作系统副本相关的任何许可问题。有关详细信息,请查阅操作系统许可协议。
9.1 基于 GUI 的 Guest 安装 #
向导将帮助您完成创建虚拟机和安装其操作系统所需执行的步骤。可通过两种方式启动该向导:在虚拟机管理器中,单击 或选择 › 。或者启动 YaST 并选择 › 。
从 YaST 或虚拟机管理器中启动
向导。选择安装源 — 本地可用的媒体或网络安装源。如果您要从现有映像安装 VM Guest,请选择
。在运行 Xen 超级管理程序的 VM 主机服务器上,您可以选择是要安装半虚拟化 Guest 还是全虚拟化 Guest。您可以在
下选择相应的选项。根据此项选择,并非所有安装选项均可用。根据在上一步中所做的选择,您需要提供以下数据:
在 VM 主机服务器上指定包含安装数据的 ISO 映像的路径。如果该映像是作为 libvirt 储存池中的卷提供的,您也可以使用第 12 章 “管理储存”。
来选择。有关更多信息,请参见或者,选择已插入到 VM 主机服务器光驱中的物理 CD-ROM 或 DVD。
提供指向安装源的
。有效的 URL 前缀包括ftp://
、http://
、https://
和nfs://
等。在
下,提供自动安装文件(例如 AutoYaST 或 Kickstart)的路径以及内核参数。提供 URL 后,应该就会自动正确检测到操作系统。如果情况并非如此,请取消选择 ,并手动选择 和 。通过 PXE 引导时,您只需提供
和 。要从现有映像安装 VM Guest,您需要在 VM 主机服务器上指定该映像的路径。如果该映像是作为 libvirt 储存池中的卷提供的,您也可以使用第 12 章 “管理储存”。
来选择。有关更多信息,请参见
选择新虚拟机的内存大小和 CPU 数量。
如果在第一步中选择了
,则会省略此步骤。设置 VM Guest 的虚拟硬盘。创建新磁盘映像,或者从储存池中选择一个现有的磁盘映像(有关详细信息,请参见第 12 章 “管理储存”)。如果您选择创建磁盘,将会创建一个
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 期间以及安装之后,都可以在虚拟机管理器中使用粘滞键功能。
9.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
或lxc
。
- 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 章 “引导参数”。例 9.1︰ 从 HTTP 服务器装载内核和 Initrd #root #
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"
:tux >
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.5 节 “安装 UEFI 支持”中所述安装 OVMF。然后将
--boot uefi
选项添加到virt-install
命令。设置使用 OVMF 的新 VM 时,将自动使用安全引导。要使用特定的固件,请使用
--boot loader=/usr/share/qemu/ovmf-VERSION.bin
。请将 VERSION 替换为所需的文件。
virt-install
命令行示例 #下面的命令行示例会创建带有 virtio 加速磁盘和网卡的新 SUSE Linux Enterprise Desktop 12 虚拟机。它将创建新的 10 GB qcow2 磁盘映像作为储存空间,源安装媒体为主机 CD-ROM 驱动器。此命令行将使用 VNC 图形,并自动启动图形客户端。
- KVM
tux >
virt-install --connect qemu:///system --virt-type kvm --name sled12 \ --memory 1024 --disk size=10 --cdrom /dev/cdrom --graphics vnc \ --os-variant sled12- Xen
tux >
virt-install --connect xen:// --virt-type xen --name sled12 \ --memory 1024 --disk size=10 --cdrom /dev/cdrom --graphics vnc \ --os-variant sled12
9.3 高级 Guest 安装方案 #
本节提供有关超出了正常安装范围的操作(例如使用内存气球和安装附加产品)的说明。
9.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。
9.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 一并安装:
tux >
virt-install --name sles15+storage --memory 2048 --disk size=10 \
--disk /path/to/SLE-15-SP2-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 sles15