2.2. 创建虚拟机
要在 RHEL 8 中创建虚拟机(VM),请使用 命令行界面 或 RHEL 8 web 控制台。
2.2.1. 使用命令行界面创建虚拟机
要使用 virt-install
工具在 RHEL 8 主机上创建虚拟机(VM),请按照以下步骤操作。
先决条件
- 虚拟化已在您的主机系统中启用。
- 您有足够的系统资源来分配给虚拟机,如磁盘空间、RAM 或 CPU。根据虚拟机的预期任务和工作负载,推荐的值可能会有很大不同。
操作系统(OS)安装源可存在于本地或者网络中。可以是以下之一:
- 安装介质的 ISO 镜像
现有虚拟机安装的磁盘镜像
警告在 RHEL 8 中无法从主机 CD-ROM 或者 DVD-ROM 设备安装。当使用 RHEL 8 中的任何虚拟机安装方法时,如果选择了 CD-ROM 或者 DVD-ROM 作为安装源,则安装将失败。如需更多信息,请参阅红帽知识库。
另请注意,红帽只对 一组有限的客户机操作系统 提供支持。
- 可选:对于快速、简单的配置安装,可以使用 Kickstart 文件。
流程
要创建虚拟机并启动其操作系统安装,请使用 virt-install
命令以及以下强制参数:
-
--name
: 新机器的名称 -
--memory
:分配的内存量 -
--
vCPUs :分配的虚拟 CPU 数量 -
--disk
:分配的存储的类型和大小 -
--cdrom
或--location
:操作系统安装源的类型和位置
根据所选安装方法,所需选项和值可能会有所不同。有关示例,请参阅以下命令:
列出的命令使用 VNC 远程显示协议,而不是默认的 SPICE 协议。VNC 目前没有 SPICE 的一些功能,但在 RHEL 9 中被完全支持。因此,如果您将主机迁移到 RHEL 9,使用 VNC 的虚拟机将无法停止工作。如需更多信息,请参阅使用 RHEL 9 的注意事项。
以下命令创建一个名为 demo-guest1 的虚拟机,它从本地存储在 /home/username/Downloads/Win10install.iso 文件中的 ISO 镜像安装 Windows 10 OS。此虚拟机还可分配 2048 MiB RAM 和 2 个 vCPU,为虚拟机自动配置 80 GiB qcow2 虚拟磁盘。
# virt-install \ --graphics vnc \ --name demo-guest1 --memory 2048 \ --vcpus 2 --disk size=80 --os-variant win10 \ --cdrom /home/username/Downloads/Win10install.iso
以下命令创建一个名为 demo-guest2 的虚拟机,它使用 /home/username/Downloads/rhel8.iso 镜像从 live CD 运行 RHEL 8 OS。没有为这个虚拟机分配磁盘空间,因此在此会话中所做的更改不会被保留。另外,虚拟机被分配 4096 MiB RAM 和 4 个 vCPU。
# virt-install \ --graphics vnc \ --name demo-guest2 --memory 4096 --vcpus 4 \ --disk none --livecd --os-variant rhel8.0 \ --cdrom /home/username/Downloads/rhel8.iso
以下命令创建一个名为 demo-guest3 的 RHEL 8 虚拟机,它连接到现有磁盘镜像 /home/username/backup/disk.qcow2。这和在不同的机器间物理地移动硬盘驱动器类似,因此 demo-guest3 可用的操作系统和数据由之前处理镜像的方式决定。另外,这个虚拟机还会分配 2048 MiB RAM 和 2 个 vCPU。
# virt-install \ --graphics vnc \ --name demo-guest3 --memory 2048 --vcpus 2 \ --os-variant rhel8.0 --import \ --disk /home/username/backup/disk.qcow2
请注意,在导入磁盘镜像时,强烈建议使用
--os-variant
选项。如果没有提供,创建虚拟机的性能将会受到负面影响。以下命令创建一个名为 demo-guest4 的虚拟机,它从
http://example.com/OS-install
URL 安装。要使安装成功启动,URL 必须包含可正常工作的操作系统安装树。另外,操作系统使用 /home/username/ks.cfg kickstart 文件自动配置。此虚拟机还可分配 2048 MiB RAM、2 个 vCPU 和 160 GiB qcow2 虚拟磁盘。# virt-install \ --graphics vnc \ --name demo-guest4 --memory 2048 --vcpus 2 --disk size=160 \ --os-variant rhel8.0 --location http://example.com/OS-install \ --initrd-inject /home/username/ks.cfg --extra-args="inst.ks=file:/ks.cfg console=tty0 console=ttyS0,115200n8"
以下命令创建一个名为 demo-guest5 的虚拟机,它以纯文本模式从
RHEL8.iso
镜像文件安装,而无需图形。它将客户端控制台连接到串行控制台。虚拟机有 16384 MiB 内存、16 个 vCPU 和 280 GiB 磁盘。当通过慢速网络连接连接到主机时这种安装很有用。# virt-install \ --name demo-guest5 --memory 16384 --vcpus 16 --disk size=280 \ --os-variant rhel8.0 --location RHEL8.iso \ --graphics none --extra-args='console=ttyS0'
以下命令创建一个名为 demo-guest6 的虚拟机,其配置与 demo-guest5 相同,但位于 192.0.2.1 远程主机上。
# virt-install \ --connect qemu+ssh://root@192.0.2.1/system --name demo-guest6 --memory 16384 \ --vcpus 16 --disk size=280 --os-variant rhel8.0 --location RHEL8.iso \ --graphics none --extra-args='console=ttyS0'
验证
- 如果成功创建虚拟机,则使用虚拟机的图形控制台打开 virt-viewer 窗口并启动客户端操作系统安装。
故障排除
如果
virt-install
失败,且出现cannot find default network
错误:确定
libvirt-daemon-config-network
软件包已安装:# {PackageManagerCommand} info libvirt-daemon-config-network Installed Packages Name : libvirt-daemon-config-network [...]
验证
libvirt
默认网络是否处于活动状态,并且已配置为自动启动:# virsh net-list --all Name State Autostart Persistent -------------------------------------------- default active yes yes
如果没有,激活默认网络并将其设置为 auto-start:
# virsh net-autostart default Network default marked as autostarted # virsh net-start default Network default started
如果激活默认网络失败并显示以下错误,则代表还没有正确安装
libvirt-daemon-config-network
软件包。error: failed to get network 'default' error: Network not found: no network with matching name 'default'
要解决这个问题,请重新安装
libvirt-daemon-config-network
:# {PackageManagerCommand} reinstall libvirt-daemon-config-network
如果激活默认网络失败并显示类似如下的错误,则默认网络子网和主机上现有接口之间出现了冲突。
error: Failed to start network default error: internal error: Network is already in use by interface ens2
要解决这个问题,请使用
virsh net-edit default
命令,并将配置中的192.0.2.*
值改为主机上尚未使用的子网。
其它资源
-
您系统上的
virt-install (1)
手册页 - 使用 web 控制台创建虚拟机并安装客户端操作系统
- 克隆虚拟机
2.2.2. 使用 web 控制台创建虚拟机并安装客户端操作系统
要在 RHEL 8 主机上的 GUI 中管理虚拟机(VM),请使用 web 控制台。以下小节介绍了如何使用 RHEL 8 web 控制台创建虚拟机,并在其上安装客户机操作系统。
使用 Web 控制台创建的虚拟机当前默认使用 SPICE 远程桌面协议。但是,RHEL 9 不支持 SPICE,因此如果您将主机升级到 RHEL 9,则虚拟机将停止工作。如需更多信息,请参阅使用 RHEL 9 的注意事项。
要创建使用 VNC 协议的虚拟机,该协议将在 RHEL 9 上正常工作 ,请使用 命令行界面。
2.2.2.1. 使用 web 控制台创建虚拟机
要在 RHEL 8 web 控制台连接的主机机器上创建一个虚拟机(VM),请使用以下说明。
先决条件
已安装 RHEL 8 web 控制台。
具体步骤请参阅安装并启用 Web 控制台。
- 虚拟化已在您的主机系统上启用。
- Web 控制台 VM 插件已安装在主机系统上。
- 您有足够的系统资源来分配给虚拟机,如磁盘空间、RAM 或 CPU。根据虚拟机的预期任务和工作负载,推荐的值可能会有很大不同。
流程
在 web 控制台的 Virtual Machines 界面中,点 。
此时会出现 Create new virtual machine 对话框。
输入您要创建的虚拟机的基本配置。
- Name - 虚拟机的名称。
- Connection - 授予会话的权限级别。如需了解更多详细信息,请在 web 控制台中展开相关的对话框。
- Installation type - 安装可以使用本地安装介质、URL、PXE 网络引导、云基础镜像,或者从有限的操作系统集中下载操作系统。
Operating system - 在虚拟机上运行的客户机操作系统。请注意,红帽只对 一组有限的客户机操作系统提供支持。
注意要从 web 控制台直接下载并安装 Red Hat Enterprise Linux,您必须在 Offline token 字段中添加一个离线令牌。
- Storage - 存储的类型。
- Storage Limit - 存储空间量。
- Memory - 内存量。
创建虚拟机:
- 如果您希望虚拟机自动安装操作系统,请点 。
- 如果要在安装操作系统前编辑虚拟机,请点击 。
后续步骤
其它资源
2.2.2.2. 使用 web 控制台导入磁盘镜像来创建虚拟机
您可以通过在 RHEL 8 web 控制台中导入现有虚拟机安装的磁盘镜像来创建一个虚拟机(VM)。
先决条件
已安装 RHEL 8 web 控制台。
具体步骤请参阅安装并启用 Web 控制台。
- Web 控制台 VM 插件已安装在您的系统上。
- 您有足够的系统资源来分配给虚拟机,如磁盘空间、RAM 或 CPU。根据虚拟机的预期任务和工作负载,推荐的值可能会有很大不同。
- 您已下载了现有虚拟机安装的磁盘镜像。
流程
在 web 控制台的 Virtual Machines 界面中,单击 。
此时会出现 Import a virtual machine 对话框。
输入您要创建的虚拟机的基本配置:
- Name - 虚拟机的名称。
- Disk image - 主机系统上虚拟机现有磁盘映像的路径。
- Operating system - 在 VM 磁盘上运行的操作系统。请注意,红帽只对 一组有限的客户机操作系统提供支持。
- Memory - 分配给虚拟机使用的内存量。
导入虚拟机:
- 要在虚拟机上安装操作系统,而无需对虚拟机设置进行额外的编辑,请点 。
- 要在安装操作系统前编辑虚拟机设置,请点 。
2.2.2.3. 使用 Web 控制台安装客户端操作系统
当虚拟机(VM)第一次引导时,您必须在虚拟机上安装操作系统。
如果您在创建新虚拟机时点了
或 ,则操作系统的安装例程会在创建虚拟机时自动启动。先决条件
已安装 RHEL 8 web 控制台。
具体步骤请参阅安装并启用 Web 控制台。
- Web 控制台 VM 插件已安装在主机系统上。
流程
登录到 RHEL 8 web 控制台。
详情请参阅 登录到 web 控制台。
在 Virtual Machines 界面中,单击要在其上安装客户机操作系统的虚拟机。
此时将打开一个新页面,其中包含有关所选虚拟机的基本信息,以及管理虚拟机各方面的控制。
可选:更改固件。
注意只有在创建新虚拟机时选择了
或 ,且还没有在虚拟机上安装操作系统,您才能更改固件。- 点击固件。
- 在 Change Firmware 窗口中,选择所需的固件。
- 点 。
点
。在 VM 控制台中运行的操作系统的安装过程。
故障排除
- 如果安装例程失败,请在再次开始安装前删除并重新创建虚拟机。
2.2.3. 使用 web 控制台使用云镜像身份验证创建虚拟机
默认情况下,发行版云镜像没有登录帐户。但是,通过使用 RHEL web 控制台,您现在可以创建虚拟机(VM),并指定 root 和用户帐户登录凭证,然后传递给 cloud-init。
先决条件
已安装 RHEL 8 web 控制台。
具体步骤请参阅安装并启用 Web 控制台。
- Web 控制台 VM 插件 已安装在您的系统上。
- 虚拟化已在您的主机系统上 启用。
- 您有足够的系统资源来分配给虚拟机,如磁盘空间、RAM 或 CPU。根据虚拟机的预期任务和工作负载,推荐的值可能会有很大不同。
流程
登录到 RHEL 8 web 控制台。
详情请参阅 登录到 web 控制台。
在 web 控制台的 。
界面中,点此时会出现 Create new virtual machine 对话框。
- 在 Name 字段中输入虚拟机的名称。
在 Details 标签页中,在 Installation type 字段中选择 Cloud base image。
- 在 Installation source 字段中,设置主机系统上镜像文件的路径。
输入您要创建的虚拟机的配置。
- Operating system - 虚拟机的操作系统.请注意,红帽只对 一组有限的客户机操作系统提供支持。
- Storage - 用于配置虚拟机的存储的类型。
- Storage Limit - 配置虚拟机的存储空间量。
- Memory - 用于配置虚拟机的内存量。
点 Automation 标签页。
设置云身份验证凭证。
- Root password - 输入虚拟机的 root 密码。如果您不想设置 root 密码,请将该字段留空。
- User login - 输入 cloud-init 用户登录名。如果您不想创建用户帐户,请将此字段留空。
User password - 输入密码.如果您不想创建用户帐户,请将此字段留空。
点
。虚拟机已创建。
其它资源