虚拟机管理指南

Red Hat Virtualization 4.3

在 Red Hat Virtualization 中管理虚拟机

摘要

本文档描述了 Red Hat Virtualization 中虚拟机的安装、配置和管理。

第 1 章 简介

虚拟机是计算机的软件实施。Red Hat Virtualization 环境使您能够创建虚拟桌面和虚拟服务器。

虚拟机整合计算任务和工作负载.在传统计算环境中,工作负载通常在单独管理和升级的服务器上运行。虚拟机可减少运行相同计算任务和工作负载所需的硬件和管理量。

1.1. 受众

Red Hat Virtualization 中的大多数虚拟机任务可以在虚拟机门户和管理门户中执行。但是,用户界面在每个门户之间有所不同,一些管理任务需要访问管理门户。本书中将介绍只能在管理门户中执行的任务。您使用哪个门户以及您可以在每个门户中执行的任务取决于您的权限级别。虚拟机权限在 第 6.8 节 “虚拟机和权限” 中解释。

虚拟机门户的用户界面在虚拟机 门户简介 中进行了说明。

管理指南中介绍了管理门户的用户界面 。

REST API 指南中记录了通过 Red Hat Virtualization REST API 创建和管理虚拟机。

1.2. 支持的虚拟机操作系统

有关可在 Red Hat Virtualization 中虚拟化为客户机操作系统的操作系统的详情请参考 https://access.redhat.com/articles/973163

有关自定义操作系统的详情请参考 第 4.1 节 “使用 osinfo 配置操作系统”

1.3. 虚拟机性能参数

有关 Red Hat Virtualization 虚拟机可以支持的参数,请参阅 Red Hat Enterprise Linux 技术功能限制和虚拟化 限制。

1.4. 在客户端机器上安装支持组件

1.4.1. 安装控制台组件

控制台是一个图形窗口,允许您查看虚拟机的启动屏幕、关闭屏幕和桌面,并以类似于物理计算机的方式与该虚拟机交互。在 Red Hat Virtualization 中,打开虚拟机控制台的默认应用程序是 Remote Viewer,在使用前必须安装在客户端计算机上。

1.4.1.1. 在 Red Hat Enterprise Linux 上安装远程查看器

远程查看器应用为用户提供了用于连接虚拟机的图形控制台。安装后,尝试打开包含虚拟机的 SPICE 会话时,将自动调用该参数。或者,它也可用作独立应用。远程查看器包含在由基础 Red Hat Enterprise Linux 工作站和 Red Hat Enterprise Linux 存储库提供的 virt-viewer 软件包中。

在 Linux 上安装远程查看器 (Remote Viewer)

  1. 安装 virt-viewer 软件包:

    # yum install virt-viewer
  2. 重新启动浏览器以使更改生效。

现在,您可以使用 SPICE 协议或 VNC 协议连接到您的虚拟机。

1.4.1.2. 在 Windows 上安装远程查看器

远程查看器应用为用户提供了用于连接虚拟机的图形控制台。安装后,尝试打开包含虚拟机的 SPICE 会话时,将自动调用该参数。或者,它也可用作独立应用。

在 Windows 上安装远程查看器

  1. 打开 Web 浏览器,并根据您系统的架构下载以下安装程序之一:

    • 用于 32 位 Windows 的 virt Viewer:

      https://your-manager-fqdn/ovirt-engine/services/files/spice/virt-viewer-x86.msi
    • 用于 64 位 Windows 的 virt Viewer:

      https://your-manager-fqdn/ovirt-engine/services/files/spice/virt-viewer-x64.msi
  2. 打开保存文件的文件夹。
  3. 双击文件。
  4. 如果出现安全警告提示,请单击 Run
  5. 如果出现用户帐户控制提示,请单击 Yes

远程查看器已经安装,并可通过启动菜单中 所有程序VirtViewer 文件夹中的 Remote Viewer 进行访问。

1.4.2. 在 Windows 上安装 usbdk

usbdk 是一个驱动程序,允许 远程查看器独占访问 Windows 操作系统上的 USB 设备。安装 usbdk 需要管理员特权。请注意,之前支持的 USB Clerk 选项已弃用,不再被支持。

在 Windows 上安装 usbdk

  1. 打开 Web 浏览器,并根据您系统的架构下载以下安装程序之一:

    • 用于 32 位 Windows 的 usbdk:

      https://[your manager’s address]/ovirt-engine/services/files/spice/usbdk-x86.msi
    • 用于 64 位 Windows 的 usbdk:

      https://[your manager’s address]/ovirt-engine/services/files/spice/usbdk-x64.msi
  2. 打开保存文件的文件夹。
  3. 双击文件。
  4. 如果出现安全警告提示,请单击 Run
  5. 如果出现用户帐户控制提示,请单击 Yes

第 2 章 安装 Red Hat Enterprise Linux 虚拟机

安装 Red Hat Enterprise Linux 虚拟机涉及以下步骤:

2.1. 创建虚拟机

创建新虚拟机并配置所需的设置。

流程

  1. 单击 ComputeVirtual Machines
  2. 单击 New 以打开 New Virtual Machine 窗口。
  3. 从下拉列表中选择 Operating System
  4. 输入虚拟机的 Name
  5. 添加存储到虚拟机.在 Instance Images附加创建虚拟磁盘。

  6. 将虚拟机连接到网络。从 General 选项卡底部的 nic1 下拉列表中选择一个 vNIC 配置集来添加网络接口。
  7. System 选项卡上指定虚拟机的 Memory Size
  8. Boot Options 选项卡中,选择虚拟机启动的第一个设备
  9. 您可以接受所有其他字段的默认设置,或者根据需要更改它们。有关 New Virtual Machine 窗口中所有字段的详情,请参考 第 A.1 节 “新虚拟机和编辑虚拟机 Windows 中的设置说明”
  10. 点击 确定

创建了新虚拟机,并显示在状态为 Down 的虚拟机列表中。在使用这个虚拟机前,您必须安装一个操作系统并使用 Content Delivery Network 注册。

2.2. 启动虚拟机

2.2.1. 启动虚拟机

启动虚拟机

  1. 单击 ComputeVirtual Machines,再选择状态为 Down 的虚拟机。
  2. Run

虚拟机的状态更改为 Up,操作系统安装开始。如果虚拟机未自动打开,请打开控制台。

注意

虚拟机不会在 CPU 超载的主机上启动。默认情况下,如果主机的 CPU 的负载超过 80% 达到 5 分钟,则主机 CPU 被视为过载,但这些值可以使用调度策略来更改。如需更多信息,请参阅管理指南中的调度策略

2.2.2. 打开虚拟机的控制台

使用远程查看器连接到虚拟机。

连接到虚拟机

  1. 安装 Remote Viewer(如果尚未安装)。请参阅 第 1.4.1 节 “安装控制台组件”
  2. 单击 ComputeVirtual Machines 并选择虚拟机。
  3. 点击 Console。将下载 console.vv 文件。
  4. 点文件,将为虚拟机打开一个控制台窗口。
注意

您可以将系统配置为自动连接到虚拟机。请参阅 第 2.2.4 节 “自动连接到虚拟机”

2.2.3. 打开串行控制台到虚拟机

您可以从命令行访问虚拟机的串行控制台,而不是从管理门户或虚拟机门户打开控制台。使用 SSH 和密钥对通过 VirtIO 通道模拟串行控制台。Manager 充当连接的代理,提供有关虚拟机放置的信息,并存储身份验证密钥。您可以从管理门户或虚拟机门户为每个用户添加公钥。您只能访问具有适当权限的那些虚拟机的串行控制台。

重要

要访问虚拟机的串行控制台,用户必须具有该虚拟机的 UserVmManagerSuperUserUserInstanceManager 权限。必须为每个用户明确定义这些权限。将这些权限分配给Everyone(每个人)是不够的。

串行控制台通过 Manager 上的 TCP 端口 2222 访问。这个端口会在新安装中的 engine-setup 期间打开。要更改端口,请参阅 ovirt-vmconsole/README

使用串行控制台需要配置防火墙规则。如需更多信息,请参阅:

串行控制台依赖于 Manager 上的 ovirt-vmconsole 软件包和 ovirt-vmconsole-proxy,以及虚拟主机上的 ovirt-vmconsole 软件包和 ovirt-vmconsole-host 软件包。这些软件包默认安装在新安装中。若要在现有安装上安装软件包,请重新安装主机。请参阅管理指南中重新安装主机

启用虚拟机的串行控制台

  1. 在您要访问的串行控制台的虚拟机上,向 /etc/default/grub 中添加以下行:

    GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8"
    GRUB_TERMINAL="console serial"
    GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
    注意

    GRUB_CMDLINE_LINUX_DEFAULT 将此配置仅应用于默认菜单条目。使用 GRUB_CMDLINE_LINUX 将配置应用到所有菜单条目。

    如果 /etc/default/grub 中已存在这些行,请更新它们。不要重复它们。

  2. 重新构建 /boot/grub2/grub.cfg

    • 基于 BIOS 的机器:

      # grub2-mkconfig -o /boot/grub2/grub.cfg
    • 基于 UEFI 的机器:

      # grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

      详情请参阅 Red Hat Enterprise Linux 7 系统管理员指南中通过串行控制台使用 GRUB 2

  3. 在您要从其访问虚拟机串行控制台的客户端计算机上,生成 SSH 密钥对。Manager 支持标准 SSH 密钥类型,例如 RSA 密钥:

    # ssh-keygen -t rsa -b 2048 -C "user@domain" -f .ssh/serialconsolekey

    此命令将生成公钥和私钥。

  4. 在管理门户或虚拟机门户中,单击标题栏中已签名的用户名称,然后单击 Options 以打开 Edit Options 窗口。
  5. 用户的公钥文本 字段中,粘贴将用于访问串行控制台的客户端计算机的公钥。
  6. 单击 ComputeVirtual Machines 并选择虚拟机。
  7. Edit
  8. Edit Virtual Machine 窗口的 Console 选项卡中,选中 Enable VirtIO 串行控制台 复选框。

连接到虚拟机的串行控制台

在客户端机器上连接到虚拟机的串行控制台:

  • 如果单个虚拟机可用,这个命令会将用户连接到该虚拟机:

    # ssh -t -p 2222 ovirt-vmconsole@Manager_FQDN -i .ssh/serialconsolekey
    Red Hat Enterprise Linux Server release 6.7 (Santiago)
    Kernel 2.6.32-573.3.1.el6.x86_64 on an x86_64
    USER login:
  • 如果有多个虚拟机可用,这个命令会列出可用的虚拟机及其 ID:

    # ssh -t -p 2222 ovirt-vmconsole@Manager_FQDN -i .ssh/serialconsolekey list
    1. vm1 [vmid1]
    2. vm2 [vmid2]
    3. vm3 [vmid3]
    > 2
    Red Hat Enterprise Linux Server release 6.7 (Santiago)
    Kernel 2.6.32-573.3.1.el6.x86_64 on an x86_64
    USER login:

    输入您要连接的机器数量,然后按 Enter

  • 或者,使用其唯一标识符或其名称直接连接到虚拟机:

    # ssh -t -p 2222 ovirt-vmconsole@Manager_FQDN connect --vm-id vmid1
    # ssh -t -p 2222 ovirt-vmconsole@Manager_FQDN connect --vm-name vm1

断开与虚拟机的串行控制台的连接

按任意键加 ~ . 以关闭串行控制台会话。

如果串行控制台会话正常断开连接,则发生 TCP 超时。在超时期限到期之前,您将无法重新连接到虚拟机的串行控制台。

2.2.4. 自动连接到虚拟机

登录后,您可以自动连接到正在运行的虚拟机。这可以在虚拟机门户中配置。

自动连接到虚拟机

  1. 在 Virtual Machines 页面中,单击虚拟机的名称以进入详情视图。
  2. 点击 Console 旁边的铅笔图标,并将 Connect 自动 设置为 ON

下一次登录虚拟机时,如果您只有一个正在运行的虚拟机,则会自动连接到该虚拟机。

2.3. 启用所需的存储库

要安装由 Red Hat 签名的软件包,您必须将目标系统注册到 Content Delivery Network。然后,使用订阅池中的权利并启用所需的软件仓库。

使用 Subscription Manager 启用所需的存储库

  1. 使用 Content Delivery Network 注册您的系统,在提示时输入您的客户门户网站用户名和密码:

    # subscription-manager register
  2. 找到相关的订阅池并记下池标识符:

    # subscription-manager list --available
  3. 使用池标识符来附加所需的订阅:

    # subscription-manager attach --pool=pool_id
  4. 当系统附加到具有多个存储库的订阅池时,默认仅启用主存储库。其他则可用,但已禁用。启用任何其他软件仓库:

    # subscription-manager repos --enable=repository
  5. 确保当前安装的所有软件包都为最新版本:

    # yum update

2.4. 安装客户机代理和驱动程序

2.4.1. Red Hat Virtualization 客户机代理、工具和驱动程序

Red Hat Virtualization 客户机代理、工具和驱动程序为虚拟机提供了额外的功能,如从虚拟机门户和管理门户正常关闭或重新启动虚拟机。这些工具和代理也为虚拟机提供信息,包括:

  • 资源使用量
  • IP 地址
  • 安装的应用程序

客户机代理、工具和驱动程序作为 ISO 文件分发,您可以附加到虚拟机。这个 ISO 文件打包为一个 RPM 文件,您可以从 Manager 机器安装和升级。

您需要在虚拟机上安装客户机代理和驱动程序,以便为该虚拟机启用此功能。

表 2.1. Red Hat Virtualization 客户机驱动程序

驱动描述处理

virtio-net

半虚拟化网络驱动程序比 rtl 等仿真设备提供增强的性能。

服务器和桌面。

virtio-block

半虚拟化 HDD 驱动程序通过优化虚拟机和管理程序之间的协调与通信,提供高于 IDE 等模拟设备的 I/O 性能。该驱动程序补充了主机用来扮演硬件设备角色的 virtio-device 的软件实施。

服务器和桌面。

virtio-scsi

半虚拟化 iSCSI HDD 驱动程序提供与 virtio-block 设备类似的功能,并具有一些额外的增强功能。特别是,此驱动程序支持添加数百台设备,并使用标准 SCSI 设备命名方案命名设备。

服务器和桌面。

virtio-serial

virtio-serial 提供对多个串行端口的支持。改进的性能用于虚拟机与主机之间快速通信,从而避免网络复杂性。对于客户机代理以及虚拟机与主机和日志记录之间的剪贴板复制等其他功能,需要这种快速通信。

服务器和桌面。

virtio-balloon

VirtIO-balloon 用于控制虚拟机实际访问的内存量。它提供更好的内存过量使用。

服务器和桌面。

qxl

半虚拟化显示驱动程序可降低主机上的 CPU 使用量,并通过减少大部分工作负载上的网络带宽来提高性能。

服务器和桌面。

表 2.2. Red Hat Virtualization 客户机代理和工具

客户机代理/工具描述处理

ovirt-guest-agent-common

使 Red Hat Virtualization Manager 能够接收内部虚拟机事件和 IP 地址和安装的应用程序等信息。另外,Manager 可以在虚拟机上执行特定命令,如关闭或重启。

在运行 Red Hat Enterprise Linux 6 或 7 的虚拟机中,ovirt-guest-agent-common 在虚拟机上安装 tuned,并将它配置为使用优化的、虚拟机配置文件。在 Red Hat Enterprise Linux 8 虚拟机上使用 qemu-guest-agent

服务器和桌面。

qemu-guest-agent

在 Red Hat Enterprise Linux 8 虚拟机上使用 ovirt-guest-agent-common 而不是 ovirt-guest-agent-common。它默认已安装并启用。

服务器和桌面。

spice-agent

SPICE 代理支持多个监视器,并负责客户端-移动模式支持,从而提供更好的用户体验,并改进了 QEMU 模拟的响应速度。客户端-mouse-mode 中不需要光标捕获。SPICE 代理通过降低显示水平(包括颜色深度、禁用防火墙文件、字体平滑和动画)减少在广域网络上使用的带宽使用。SPICE 代理支持剪贴板支持剪贴板,允许对客户端和虚拟机之间的文本和映像进行剪切和粘贴操作,并根据客户端侧设置自动 guest 显示设置。在基于 Windows 的虚拟机上,SPICE 代理由 vdservice 和 vdagent 组成。

服务器和桌面。

rhev-sso

一个代理,允许用户根据用于访问 Red Hat Virtualization Manager 的凭证自动登录到其虚拟机。

桌面。

2.4.2. 在 Red Hat Enterprise Linux 上安装客户机代理和驱动程序

Red Hat Virtualization 客户机代理和驱动程序由 Red Hat Virtualization 代理存储库提供。

注意

Red Hat Enterprise Linux 8 虚拟机使用 qemu-guest-agent 服务,该服务会被默认安装并启用,而不是 ovirt-guest-agent 服务。如果您需要在 RHEL 8 中手动安装客户机代理,请按照以下步骤操作。

流程

  1. 登录到 Red Hat Enterprise Linux 虚拟机。
  2. 启用 Red Hat Virtualization Agent 存储库:

    • For Red Hat Enterprise Linux 6

      # subscription-manager repos --enable=rhel-6-server-rhv-4-agent-rpms
    • For Red Hat Enterprise Linux 7

      # subscription-manager repos --enable=rhel-7-server-rh-common-rpms
    • For Red Hat Enterprise Linux 8

      # subscription-manager repos --enable=rhel-8-for-x86_64-appstream-rpms
  3. 安装客户机代理和依赖项:

    • 对于 Red Hat Enterprise Linux 6 或 7,安装 ovirt 客户机代理:

      # yum install ovirt-guest-agent-common
    • 对于 Red Hat Enterprise Linux 8,安装 qemu 客户机代理:

      # yum install qemu-guest-agent
  4. 启动并启用 ovirt-guest-agent 服务:

    • 对于 Red Hat Enterprise Linux 6

      # service ovirt-guest-agent start
      # chkconfig ovirt-guest-agent on
    • For Red Hat Enterprise Linux 7

      # systemctl start ovirt-guest-agent
      # systemctl enable ovirt-guest-agent
  5. 启动并启用 qemu-guest-agent 服务:

    • 对于 Red Hat Enterprise Linux 6

      # service qemu-ga start
      # chkconfig qemu-ga on
    • 对于 Red Hat Enterprise Linux 7 或 8

      # systemctl start qemu-guest-agent
      # systemctl enable qemu-guest-agent

客户机代理现在将使用信息传递给 Red Hat Virtualization Manager。您可以在 /etc/ovirt-guest-agent.conf 文件中配置客户机代理。

第 3 章 安装 Windows 虚拟机

本章论述了安装 Windows 虚拟机所需的步骤:

  1. 创建一个用于安装操作系统的空白虚拟机。
  2. 为存储添加虚拟磁盘.
  3. 添加网络接口以将虚拟机连接到网络。
  4. virtio-win.vfd diskette 附加到虚拟机,以便可以在操作系统安装期间安装 VirtIO-optimized 设备驱动程序。
  5. 在虚拟机上安装操作系统。具体步骤请查看您的操作系统文档。
  6. 为其他虚拟机功能安装客户机代理和驱动程序。

完成所有这些步骤后,新的虚拟机便可以正常工作并准备好执行任务。

3.1. 创建虚拟机

创建新虚拟机并配置所需的设置。

流程

  1. 您可以使用 engine-config 工具更改默认虚拟机名称长度。在 Manager 机器中运行以下命令:

    # engine-config --set MaxVmNameLength=integer
  2. 单击 ComputeVirtual Machines
  3. 单击 New 以打开 New Virtual Machine 窗口。
  4. 从下拉列表中选择 Operating System
  5. 输入虚拟机的 Name
  6. 添加存储到虚拟机.在 Instance Images附加创建虚拟磁盘。

  7. 将虚拟机连接到网络。从 General 选项卡底部的 nic1 下拉列表中选择一个 vNIC 配置集来添加网络接口。
  8. System 选项卡上指定虚拟机的 Memory Size
  9. Boot Options 选项卡中,选择虚拟机启动的第一个设备
  10. 您可以接受所有其他字段的默认设置,或者根据需要更改它们。有关 New Virtual Machine 窗口中所有字段的详情,请参考 第 A.1 节 “新虚拟机和编辑虚拟机 Windows 中的设置说明”
  11. 点击 确定

创建了新虚拟机,并显示在状态为 Down 的虚拟机列表中。在使用这个虚拟机前,您必须安装操作系统和 VirtIO 优化的磁盘和网络驱动程序。

3.2. 使用 Run Once 选项启动虚拟机

3.2.1. 在 VirtIO-Optimized 硬件上安装 Windows

通过将 virtio-win.vfd 软盘附加到您的虚拟机,在 Windows 安装过程中安装 VirtIO-optimized 磁盘和网络设备驱动程序。这些驱动程序可提高仿真设备驱动程序的性能。

使用 Run Once 选项,在一次性引导时附加与 New Virtual Machine 窗口中定义的 Boot Options 中的软盘。本流程假设您将 Red Hat VirtIO 网络接口和将 VirtIO 接口用于您的虚拟机的磁盘。

注意

virtio-win.vfd diskette 会自动放在 Manager 上托管的 ISO 存储域中。您可以手动将其上传到数据存储域。详情请参阅管理指南中的将镜像上传到数据存储域

在 Windows 安装过程中安装 VirtIO 驱动程序

  1. 单击 ComputeVirtual Machines 并选择虚拟机。
  2. 单击 RunRun Once
  3. 展开 "引导选项" 菜单。
  4. 选择 Attach Floppy 复选框,然后从下拉菜单中选择 virtio-win.vfd
  5. 选择 Attach CD 复选框,然后从下拉列表中选择所需的 Windows ISO。
  6. CD-ROM 移到 Boot Sequence 字段的顶部。
  7. 根据需要配置 Run Once 选项的其余部分。详情请查看 第 A.2 节 “Run Once 窗口中的 Settings 解释”
  8. 点击 确定

虚拟机的状态更改为 Up,操作系统安装开始。如果虚拟机未自动打开,请打开控制台。

Windows 安装包括在安装过程的早期加载附加驱动程序的选项。使用这个选项从 virtio-win.vfd 软盘加载驱动,它被附加在您的虚拟机作为 A:。对于每个支持的虚拟机架构和 Windows 版本,磁盘上有一个包含优化的硬件设备驱动程序的文件夹。

3.2.2. 打开虚拟机的控制台

使用远程查看器连接到虚拟机。

连接到虚拟机

  1. 安装 Remote Viewer(如果尚未安装)。请参阅 第 1.4.1 节 “安装控制台组件”
  2. 单击 ComputeVirtual Machines 并选择虚拟机。
  3. 点击 Console

    • 如果将连接协议设置为 SPICE,则虚拟机的控制台窗口将自动为虚拟机打开。
    • 如果连接协议被设置为 VNC,则会下载 console.vv 文件。点文件,将为虚拟机打开一个控制台窗口。
注意

您可以将系统配置为自动连接到虚拟机。请参阅 第 2.2.4 节 “自动连接到虚拟机”

3.3. 安装客户机代理和驱动程序

3.3.1. Red Hat Virtualization 客户机代理、工具和驱动程序

Red Hat Virtualization 客户机代理、工具和驱动程序为虚拟机提供了额外的功能,如从虚拟机门户和管理门户正常关闭或重新启动虚拟机。这些工具和代理也为虚拟机提供信息,包括:

  • 资源使用量
  • IP 地址
  • 安装的应用程序

客户机代理、工具和驱动程序作为 ISO 文件分发,您可以附加到虚拟机。这个 ISO 文件打包为一个 RPM 文件,您可以从 Manager 机器安装和升级。

您需要在虚拟机上安装客户机代理和驱动程序,以便为该虚拟机启用此功能。

表 3.1. Red Hat Virtualization 客户机驱动程序

驱动描述处理

virtio-net

半虚拟化网络驱动程序比 rtl 等仿真设备提供增强的性能。

服务器和桌面。

virtio-block

半虚拟化 HDD 驱动程序通过优化虚拟机和管理程序之间的协调与通信,提供高于 IDE 等模拟设备的 I/O 性能。该驱动程序补充了主机用来扮演硬件设备角色的 virtio-device 的软件实施。

服务器和桌面。

virtio-scsi

半虚拟化 iSCSI HDD 驱动程序提供与 virtio-block 设备类似的功能,并具有一些额外的增强功能。特别是,此驱动程序支持添加数百台设备,并使用标准 SCSI 设备命名方案命名设备。

服务器和桌面。

virtio-serial

virtio-serial 提供对多个串行端口的支持。改进的性能用于虚拟机与主机之间快速通信,从而避免网络复杂性。对于客户机代理以及虚拟机与主机和日志记录之间的剪贴板复制等其他功能,需要这种快速通信。

服务器和桌面。

virtio-balloon

VirtIO-balloon 用于控制虚拟机实际访问的内存量。它提供更好的内存过量使用。

服务器和桌面。

qxl

半虚拟化显示驱动程序可降低主机上的 CPU 使用量,并通过减少大部分工作负载上的网络带宽来提高性能。

服务器和桌面。

表 3.2. Red Hat Virtualization 客户机代理和工具

客户机代理/工具描述处理

ovirt-guest-agent-common

使 Red Hat Virtualization Manager 能够接收内部虚拟机事件和 IP 地址和安装的应用程序等信息。另外,Manager 可以在虚拟机上执行特定命令,如关闭或重启。

在运行 Red Hat Enterprise Linux 6 或 7 的虚拟机中,ovirt-guest-agent-common 在虚拟机上安装 tuned,并将它配置为使用优化的、虚拟机配置文件。在 Red Hat Enterprise Linux 8 虚拟机上使用 qemu-guest-agent

服务器和桌面。

qemu-guest-agent

在 Red Hat Enterprise Linux 8 虚拟机上使用 ovirt-guest-agent-common 而不是 ovirt-guest-agent-common。它默认已安装并启用。

服务器和桌面。

spice-agent

SPICE 代理支持多个监视器,并负责客户端-移动模式支持,从而提供更好的用户体验,并改进了 QEMU 模拟的响应速度。客户端-mouse-mode 中不需要光标捕获。SPICE 代理通过降低显示水平(包括颜色深度、禁用防火墙文件、字体平滑和动画)减少在广域网络上使用的带宽使用。SPICE 代理支持剪贴板支持剪贴板,允许对客户端和虚拟机之间的文本和映像进行剪切和粘贴操作,并根据客户端侧设置自动 guest 显示设置。在基于 Windows 的虚拟机上,SPICE 代理由 vdservice 和 vdagent 组成。

服务器和桌面。

rhev-sso

一个代理,允许用户根据用于访问 Red Hat Virtualization Manager 的凭证自动登录到其虚拟机。

桌面。

3.3.2. 在 Windows 上安装客户机代理、工具和驱动程序

在 Windows 虚拟机上安装客户机代理、工具和驱动程序:

  1. 在 Manager 计算机上,安装 rhv-guest-tools-iso 软件包:

    yum install rhv-guest-tools-iso*

    安装完软件包后,ISO 文件位于 Manager 机器的 /usr/share/rhv-guest-tools-iso/RHV-toolsSetup_version.iso 中。

  2. RHV-toolsSetup_version.iso 上传到数据存储域。详情请参阅管理指南中的将镜像上传到数据存储域
  3. 在管理门户或虚拟机门户中,如果虚拟机正在运行,请使用 Change CD 按钮将 RHV-toolsSetup_version.iso 文件附加到每个虚拟机。如果虚拟机已关闭,请单击 运行一次 按钮,然后将 ISO 连接为 CD。

    注意

    如果您从命令行安装客户机代理和驱动程序,或者作为部署工具的一部分(如 Windows 部署服务)安装客户机代理和驱动程序,您可以附加选项 ISSILENTMODEISNOREBOOTRHEV-toolsSetup.exe 以静默安装客户机代理和驱动程序,并阻止安装它们立即重新启动的计算机。稍后,您可以在部署过程完成后重启机器。

    D:\RHEV-toolsSetup.exe ISSILENTMODE ISNOREBOOT
  4. 登录虚拟机。
  5. 选择包含 RHV-toolsSetup_version.iso 文件的 CD 驱动器。
  6. 双击 RHEV-toolsSetup.exe
  7. 在欢迎屏幕中,单击 Next
  8. 按照 RHEV-Tools InstallShield Wizard 窗口的提示进行操作。确保已选中组件列表中的所有复选框。
  9. 安装完成后,选择 Yes, I want to restart my computer now,然后点 Finish 以应用更改。

现在,客户机代理和驱动程序将使用信息传递给 Red Hat Virtualization Manager,并可让您访问 USB 设备、单点登录到虚拟机和其他功能。Red Hat Virtualization 客户机代理作为名为 RHEV Agent 的服务运行,您可以使用位于 C:\Program Files\Redhat\RHEV\Drivers\Agent 中的 rhev-agent 配置文件进行配置。

有关更新客户机代理和驱动程序的详情,请参考 第 6.6.2 节 “更新 Windows 上的客户机代理和驱动程序”

3.3.3. 使用 Red Hat Virtualization Application Provisioning Tool(APT)在 Windows 客户机上自动添加客户机

Red Hat Virtualization Application Provisioning Tool(APT)是一个 Windows 服务,可在 Windows 虚拟机和模板上安装。当在虚拟机上安装并运行 APT 服务时,会自动扫描附加的 ISO 文件。当该服务识别有效的 Red Hat Virtualization guest 工具 ISO 且未安装其他客户机工具时,APT 服务会安装客户端工具。如果已安装客户机工具,且 ISO 镜像包含较新版本的工具,服务则执行自动升级。这个过程假设您已将 rhev-tools-setup.iso ISO 文件附加到虚拟机。

在 Windows 上安装 APT 服务

  1. 登录虚拟机。
  2. 选择包含 RHV-toolsSetup_version.iso 文件的 CD 驱动器。
  3. 双击 RHEV-Application Provisioning Tool
  4. User Account Control 窗口中,单击 Yes
  5. 安装完成后,确保 RHEV-Application Provisioning Tool InstallShield Wizard 窗口中选择了 Start RHEV-apt Service 复选框,然后单击 Finish 以应用更改。

当 APT 服务在虚拟机上成功安装或升级客户机工具后,虚拟机将自动重启。这在未确认用户登录到机器时会出现这种情况。当从已安装有 APT Service 的模板创建的虚拟机首次引导时,APT 服务也会执行这些操作。

注意

通过清除 Start RHEV-apt Service 复选框,可以在安装后立即停止 RHEV-apt 服务。您可以使用 Services 窗口随时停止、启动或重启该服务。

第 4 章 其他配置

4.1. 使用 osinfo 配置操作系统

Red Hat Virtualization 将虚拟机的操作系统配置存储在 /etc/ovirt-engine/osinfo.conf.d/00-defaults.properties 中。该文件包含默认值,如 os.other.devices.display.protocols.value = spice/qxl、vnc/vga、vnc/qxl.

您只有有限数量的场景可以更改这些值:

  • 添加没有出现在受支持的客户端操作系统列表中的操作系统
  • 添加产品密钥(例如, os.windows_10x64.productKey.value =
  • 为 Windows 虚拟机配置 sysprep 路径(例如: os.windows_10x64.sysprepPath.value = ${ENGINE_USR}/conf/sysprep/sysprep.w10x64
重要

不要编辑实际的 00-defaults.properties 文件。如果您升级或恢复 Manager,则更改将被覆盖。

不要更改直接来自操作系统或管理器的值,如最大内存大小。

要更改操作系统配置,请在 /etc/ovirt-engine/osinfo.conf.d/ 中创建覆盖文件。文件名必须以大于 00 的值开头,以便文件显示在 /etc/ovirt-engine/osinfo.conf.d/00-defaults.properties 之后,并以扩展名 .properties 结尾。

例如,10-productkeys.properties 覆盖默认文件 00-defaults.properties。文件列表中的最后一个文件优先于以前的文件。

4.2. 为虚拟机配置单点登录

通过配置单点登录(也称为密码委派),您可以使用您用于登录虚拟机门户的凭据自动登录虚拟机。单点登录可用于 Red Hat Enterprise Linux 和 Windows 虚拟机。

注意

运行 Red Hat Enterprise Linux 8.0 的虚拟机不支持单点登录。

重要

如果启用了虚拟机门户单点登录,将无法对虚拟机进行单点登录。启用虚拟机门户单点登录后,虚拟机门户无需接受密码,因此无法委派密码以登录虚拟机。

4.2.1. 使用 IPA(IdM)为 Red Hat Enterprise Linux 虚拟机配置单点登录.

要使用 GNOME 和 KDE 图形桌面环境和 IPA(IdM)服务器为 Red Hat Enterprise Linux 配置单点登录,您必须在虚拟机上安装 ovirt-guest-agent 软件包,并安装与窗口管理器关联的软件包。

重要

以下步骤假定您有一个正常工作的 IPA 配置,并且 IPA 域已加入 Manager。您还必须确保 Manager、虚拟机和托管 IPA(IdM)的系统上的时钟使用 NTP 同步。

为 Red Hat Enterprise Linux 虚拟机配置单点登录

  1. 登录到 Red Hat Enterprise Linux 虚拟机。
  2. 启用存储库:

    • Red Hat Enterprise Linux 6:

      # subscription-manager repos --enable=rhel-6-server-rhv-4-agent-rpms
    • Red Hat Enterprise Linux 7:

      # subscription-manager repos --enable=rhel-7-server-rh-common-rpms
  3. 下载并安装客户机代理、单点登录和 IPA 软件包:

    # yum install ovirt-guest-agent-common ovirt-guest-agent-pam-module ovirt-guest-agent-gdm-plugin ipa-client
  4. 运行以下命令并按照提示配置 ipa-client 并将虚拟机加入到域中:

    # ipa-client-install --permit --mkhomedir
    注意

    在使用 DNS 模糊的环境中,这个命令应该是:

    # ipa-client-install --domain=FQDN --server==FQDN
  5. 对于 Red Hat Enterprise Linux 7.2 及更新的版本:

    # authconfig --enablenis --update
    注意

    Red Hat Enterprise Linux 7.2 有一个新版本的系统安全服务守护进程(SSSD),它引进了与 Red Hat Virtualization Manager 客户机代理单点登录实现不兼容的配置。此命令可确保单点登录正常工作。

  6. 获取 IPA 用户的详情:

    # getent passwd ipa-user
  7. 记录 IPA 用户的 UID 和 GID:

    ipa-user:*:936600010:936600001::/home/ipa-user:/bin/sh
  8. 为 IPA 用户创建一个主目录:

    # mkdir /home/ipa-user
  9. 将目录的所有权分配给 IPA 用户:

    # chown 936600010:936600001 /home/ipa-user

使用配置为使用单点登录的用户的用户名和密码登录到虚拟机门户,并连接到虚拟机的控制台。您将自动登录。

4.2.2. 使用 Active Directory 为 Red Hat Enterprise Linux 虚拟机配置单点登录

要使用 GNOME 和 KDE 图形桌面环境和 Active Directory 为 Red Hat Enterprise Linux 虚拟机配置单点登录,您必须在虚拟机上安装 ovirt-guest-agent 软件包,安装与窗口管理器关联的软件包并将虚拟机加入到域中。

重要

以下步骤假设您有一个正常工作的 Active Directory 配置,并且 Active Directory 域已加入到 Manager。您还必须确保 Manager 上的时钟、虚拟机和托管 Active Directory 的系统使用 NTP 同步。

为 Red Hat Enterprise Linux 虚拟机配置单点登录

  1. 登录到 Red Hat Enterprise Linux 虚拟机。
  2. 启用 Red Hat Virtualization Agent 存储库:

    • For Red Hat Enterprise Linux 6

      # subscription-manager repos --enable=rhel-6-server-rhv-4-agent-rpms
    • For Red Hat Enterprise Linux 7

      # subscription-manager repos --enable=rhel-7-server-rh-common-rpms
  3. 下载并安装客户机代理软件包:

    # yum install ovirt-guest-agent-common
  4. 安装单点登录软件包:

    # yum install ovirt-guest-agent-gdm-plugin
  5. 安装 Samba 客户端软件包:

    # yum install samba-client samba-winbind samba-winbind-clients
  6. 在虚拟机上,修改 /etc/samba/smb.conf 文件使其包含包含以下内容,使用短域名替换 DOMAIN,使用 Active Directory realm 替换 REALM.LOCAL

    [global]
       workgroup = DOMAIN
       realm = REALM.LOCAL
       log level = 2
       syslog = 0
       server string = Linux File Server
       security = ads
       log file = /var/log/samba/%m
       max log size = 50
       printcap name = cups
       printing = cups
       winbind enum users = Yes
       winbind enum groups = Yes
       winbind use default domain = true
       winbind separator =
    idmap uid = 1000000-2000000 idmap gid = 1000000-2000000 template shell = /bin/bash
  7. 将虚拟机加入到域中:

    net ads join -U user_name
  8. 启动 winbind 服务并确保它在引导时启动:

    • 对于 Red Hat Enterprise Linux 6

      # service winbind start
      # chkconfig winbind on
    • For Red Hat Enterprise Linux 7

      # systemctl start winbind.service
      # systemctl enable winbind.service
  9. 验证系统是否可以与 Active Directory 通信:

    1. 验证已创建了信任关系:

      # wbinfo -t
    2. 验证您可以列出用户:

      # wbinfo -u
    3. 验证您可以列出组:

      # wbinfo -g
  10. 配置 NSS 和 PAM 堆栈:

    1. 打开 Authentication Configuration 窗口:

      # authconfig-tui
    2. 选择 Use Winbind 复选框,选择 Next 并按 Enter
    3. 选择确定按钮并按 Enter 键。

使用配置为使用单点登录的用户的用户名和密码登录到虚拟机门户,并连接到虚拟机的控制台。您将自动登录。

4.2.3. 为 Windows 虚拟机配置单点登录

要为 Windows 虚拟机配置单点登录,必须在 guest 虚拟机上安装 Windows 客户机代理。RHEV 客户机工具 ISO 文件提供了此代理。如果您的 ISO 域没有 RHEV-toolsSetup.iso 镜像,请联系您的系统管理员。

为 Windows 虚拟机配置单点登录

  1. 选择 Windows 虚拟机。确保计算机已开机。
  2. Change CD
  3. 从镜像列表中选择 RHEV-toolsSetup.iso
  4. 点击 确定
  5. 单击 Console 并登录虚拟机。
  6. 在虚拟机上,找到访问 guest 工具 ISO 文件的内容的 CD 驱动器并启动 RHEV-ToolsSetup.exe。安装工具后,系统将提示您重新启动计算机以应用更改。

使用配置为使用单点登录的用户的用户名和密码登录到虚拟机门户,并连接到虚拟机的控制台。您将自动登录。

4.2.4. 为虚拟机禁用单点登录

以下步骤解释了如何为虚拟机禁用单点登录。

为虚拟机禁用单点登录

  1. 选择一个虚拟机并点击 Edit
  2. 点击 Console 选项卡。
  3. 选中 Disable Single Sign On 复选框。
  4. 点击 确定

4.3. 配置 USB 设备

与 SPICE 协议连接的虚拟机可以配置为直接连接到 USB 设备。

仅当虚拟机处于活动状态、处于焦点状态并从虚拟机门户运行时,才会重定向 USB 设备。每次插入设备时,可以手动启用 USB 重定向,或者设置为自动重定向到 Console Options 窗口中的活动虚拟机。

重要

请注意客户端计算机和客户机计算机之间的区别。客户端是您访问虚拟客户机的硬件。guest 是虚拟桌面或虚拟服务器,可通过虚拟机门户或管理门户进行访问。

USB 重定向启用模式允许 Linux 和 Windows 虚拟机的 KVM/SPICE USB 重定向。虚拟机(客户机)计算机不需要针对本地 USB 的客户机安装代理或驱动程序。在 Red Hat Enterprise Linux 客户端上,USB 重定向所需的所有软件包都由 virt-viewer 软件包提供。在 Windows 客户端上,还必须安装 usbdk 软件包。以下客户端和客户机支持启用 USB 模式:

注意

如果您有 64 位体系结构 PC,则必须使用 64 位版本的 Internet Explorer 来安装 64 位版本的 USB 驱动程序。如果您在 64 位构架中安装 32 位版本,USB 重定向将无法正常工作。只要您最初安装正确的 USB 类型,就可以从 32 位和 64 位浏览器访问 USB 重定向。

4.3.1. 在 Windows 客户端中使用 USB 设备

必须在 Windows 客户端上安装 usbdk 驱动程序,才能将 USB 设备重定向到客户机。确保 usbdk 的版本与客户端计算机的架构相匹配。例如,必须在 64 位 Windows 机器上安装 64 位版本的 usbdk

注意

仅当从虚拟机门户打开虚拟机时,才支持 USB 重定向。

在 Windows 客户端中使用 USB 设备

  1. 安装 usbdk 驱动程序后,选择配置为使用 SPICE 协议的虚拟机。
  2. 确保将 USB 支持设置为 启用

    1. Edit
    2. 点击 Console 选项卡。
    3. USB 支持 下拉列表中选择 Enabled
    4. 点击 确定
  3. ConsoleConsole Options
  4. 选择 Enable USB Auto-Share 并点 OK
  5. 从虚拟机门户启动虚拟机,再单击 Console 以连接到该虚拟机。
  6. 将 USB 设备插入客户端计算机,使其自动显示在客户机计算机上。

4.3.2. 在 Red Hat Enterprise Linux 客户端中使用 USB 设备

usbredir 软件包支持从 Red Hat Enterprise Linux 客户端到虚拟机的 USB 重定向。usbredirvirt-viewer 包的依赖项,并与该软件包一起自动安装。

注意

仅当从虚拟机门户打开虚拟机时,才支持 USB 重定向。

在 Red Hat Enterprise Linux 客户端中使用 USB 设备

  1. ComputeVirtual Machines 并选择配置为使用 SPICE 协议的虚拟机。
  2. 确保将 USB 支持设置为 启用

    1. Edit
    2. 点击 Console 选项卡。
    3. USB 支持 下拉列表中选择 Enabled
    4. 点击 确定
  3. ConsoleConsole Options
  4. 选择 Enable USB Auto-Share 并点 OK
  5. 从虚拟机门户启动虚拟机,再单击 Console 以连接到该虚拟机。
  6. 将 USB 设备插入客户端计算机,使其自动显示在客户机计算机上。

4.4. 配置多个 monitor

4.4.1. 为 Red Hat Enterprise Linux 虚拟机配置多个显示

使用 SPICE 协议连接虚拟机时,可以为单个 Red Hat Enterprise Linux 虚拟机配置最多四个显示器。

  1. 通过虚拟机启动 SPICE 会话。
  2. 打开 SPICE 客户端窗口顶部的查看下拉菜单。
  3. 打开显示菜单。
  4. 点显示的名称来启用或禁用该显示的显示。
注意

默认情况下,显示 1 是唯一在启动带有虚拟机的 SPICE 会话时启用的显示。如果没有启用其他显示,禁用此显示将关闭会话。

4.4.2. 为 Windows 虚拟机配置多个显示

使用 SPICE 协议连接虚拟机时,可以为单个 Windows 虚拟机配置最多四个显示器。

  1. 单击 ComputeVirtual Machines 并选择虚拟机。
  2. 在处于关机状态的虚拟机时,点 Edit
  3. 点击 Console 选项卡。
  4. Monitors 下拉列表中选择显示的数量。

    注意

    此设置控制可为虚拟机启用的最大显示数。在虚拟机运行时,可以启用其他显示器,最多可启用此数字。

  5. 点击 确定
  6. 通过虚拟机启动 SPICE 会话。
  7. 打开 SPICE 客户端窗口顶部的查看下拉菜单。
  8. 打开显示菜单。
  9. 点显示的名称来启用或禁用该显示的显示。

    注意

    默认情况下,显示 1 是唯一在启动带有虚拟机的 SPICE 会话时启用的显示。如果没有启用其他显示,禁用此显示将关闭会话。

4.5. 配置控制台选项

4.5.1. 控制台选项

连接协议是用于为虚拟机提供图形控制台的底层技术,允许用户使用与物理计算机类似的方式使用虚拟机。Red Hat Virtualization 目前支持以下连接协议:

SPICE

独立计算环境的简单协议(SPICE)是 Linux 虚拟机和 Windows 虚拟机的建议连接协议。要使用 SPICE 打开虚拟机的控制台,请使用远程查看器。

VNC

虚拟网络计算(VNC)可用于打开 Linux 虚拟机和 Windows 虚拟机的控制台。要使用 VNC 打开虚拟机的控制台,请使用 Remote Viewer 或 VNC 客户端。

RDP

远程桌面协议(RDP)只能用于打开 Windows 虚拟机的控制台,并且只能在您从已安装远程桌面的 Windows 机器访问虚拟机时才可用。您必须在虚拟机上设置远程共享并配置防火墙以允许远程桌面连接,然后才能使用 RDP 连接到 Windows 虚拟机。

注意

目前,运行 Windows 8 的虚拟机不支持 SPICE。如果 Windows 8 虚拟机配置为使用 SPICE 协议,它将检测到没有所需的 SPICE 驱动程序,自动回退到使用 RDP。

4.5.1.1. 访问控制台选项

您可以在管理门户中配置用于打开虚拟机的图形控制台的多个选项。

访问控制台选项

  1. 单击 ComputeVirtual Machines 并选择正在运行的虚拟机。
  2. ConsoleConsole Options
注意

您可以在管理门户的 Edit Virtual Machine 窗口的 Console 选项卡中配置连接协议和视频类型。可以配置特定于每个连接协议的附加选项,如使用 VNC 连接协议时的键盘布局。如需更多信息,请参阅 第 A.1.4 节 “虚拟机控制台设置说明”

4.5.1.2. SPICE 控制台选项

选择 SPICE 连接协议后,控制台选项窗口中提供以下选项 :

SPICE 选项

  • 将 control-alt-del 快捷方式映射到 ctrl+alt+end :选择此复选框将 Ctrl + Alt + Del 组合映射到虚拟机内的 Ctrl + Alt + End
  • 启用 USB 自动共享 :选择此复选框以自动将 USB 设备重定向到虚拟机。如果未选择此选项,USB 设备将连接到客户端计算机,而不是 guest 虚拟机。要在 guest 计算机上使用 USB 设备,请在 SPICE 客户端菜单中手动启用。
  • 全屏打开 :选择虚拟机控制台的此复选框,以便在连接到虚拟机时自动以全屏形式打开。按 SHIFT + F11 以打开或关闭全屏模式。
  • 启用 SPICE 代理 :选择此复选框以启用 SPICE 代理。

4.5.1.3. VNC Console 选项

选择 VNC 连接协议时,在 Console Options 窗口中提供以下选项:

控制台调用

  • 原生客户端 :当您连接到虚拟机的控制台时,文件下载对话框为您提供了一个 文件,该文件会通过 Remote Viewer 打开虚拟机的控制台。
  • noVNC :连接到虚拟机的控制台时,会打开一个浏览器标签页,它充当控制台。

VNC 选项

  • 将 control-alt-delete 快捷方式映射到 ctrl+alt+end :选择此复选框以将 Ctrl + Alt + Del 组合映射到虚拟机内的 Ctrl + Alt + End

4.5.1.4. RDP 控制台选项

选择 RDP 连接协议时,Console Options 窗口中提供以下选项:

控制台调用

  • auto :管理器会自动选择调用控制台的方法。
  • 原生客户端 :当您连接到虚拟机的控制台时,文件下载对话框为您提供了一个文件,该文件会通过 Remote Desktop 打开虚拟机的控制台。

RDP 选项

  • 使用本地驱动器 :选择此复选框使客户端计算机上的驱动器可在客户机虚拟机上访问。

4.5.2. 远程查看器选项

4.5.2.1. 远程查看器选项

指定原生客户端控制台调用选项时,您将使用 Remote Viewer 连接到虚拟机。Remote Viewer 窗口提供了多个选项,用于与它所连接的虚拟机交互。

表 4.1. 远程查看器选项

选项Hotkey

File

  • 屏幕截图 :获取活动窗口的屏幕截图,并将其保存在您的规格的位置。
  • USB 设备选择 :如果在虚拟机上启用了 USB 重定向,可以从此菜单访问插入客户端计算机中的 USB 设备。
  • 退出 :关闭控制台。此选项的热键是 Shift + Ctrl + Q

View

  • 全屏 :打开或关闭全屏模式。启用后,全屏模式将展开虚拟机以填充整个屏幕。禁用后,虚拟机将显示为窗口。启用或禁用完整屏幕的热键是 SHIFT + F11
  • 缩放 :进入和移出控制台窗口。Ctrl + + 放大数以 Ctrl + - 缩放,Ctrl + 0 则使屏幕恢复为原始大小。
  • 自动调整大小 :选择以使客户机解析根据控制台窗口的大小自动缩放。
  • 显示 :允许用户为 guest 虚拟机启用和禁用显示。

Send key

  • Ctrl + Alt + Del :在 Red Hat Enterprise Linux 虚拟机上,它会显示一个对话框,其中包含用于暂停、关闭或重新启动虚拟机的选项。在 Windows 虚拟机上,它会显示任务管理器或 Windows 安全对话框。
  • Ctrl + Alt + 后端: 在 Red Hat Enterprise Linux 虚拟机上,重新启动 X 服务器。在 Windows 虚拟机上,它不做任何操作。
  • Ctrl + Alt + F1
  • Ctrl + Alt + F2
  • Ctrl + Alt + F3
  • Ctrl + Alt + F4
  • Ctrl + Alt + F5
  • Ctrl + Alt + F6
  • Ctrl + Alt + F7
  • Ctrl + Alt + F8
  • Ctrl + Alt + F9
  • Ctrl + Alt + F10
  • Ctrl + Alt + F11
  • Ctrl + Alt + F12
  • Printscreen :将 Printscreen 键盘选项传递给虚拟机。

Help

About 条目显示您正在使用的虚拟机查看器的版本详情。

虚拟机中的发行 Cursor

SHIFT + F12

4.5.2.2. 远程查看器 Hotkeys

您可以在全屏模式和窗口模式中访问虚拟机的热键。如果您使用的是全屏模式,可以通过将鼠标指针移到屏幕顶部的中间,显示包含热键按钮的菜单。如果您使用的是窗口模式,您可以通过虚拟机窗口标题栏上的 Send key 菜单访问热键。

注意

如果 vdagent 没有在客户端计算机上运行,则如果在虚拟机内使用鼠标且虚拟机不全屏,则鼠标可以被捕获在虚拟机窗口中。要解锁鼠标,请按 Shift + F12

4.5.2.3. 手动将 console.vv 文件与远程查看器关联

如果在尝试使用原生客户端控制台选项打开虚拟机时,系统会提示您下载 console.vv 文件,并且已安装 Remote Viewer,那么您可以手动将 console.vv 文件与 Remote Viewer 关联,以便远程查看器可以自动使用这些文件打开控制台。

手动将 console.vv 文件与远程查看器关联

  1. 启动虚拟机。
  2. 打开 Console Options 窗口:

    • 在管理门户中,单击 ConsoleConsole Options
    • 在虚拟机门户中,单击虚拟机名称,再单击控制台旁边的铅笔图标。
  3. 将 console 调用方法更改为 Native 客户端,再单击 OK
  4. 尝试打开虚拟机的控制台,然后在提示打开或保存 console.vv 文件时单击 Save
  5. 点击保存文件的本地机器上的位置。
  6. 双击 console.vv 文件,然后在提示时选择 Select a program from a list of installed programs
  7. Open with 窗口中,选择 Always use the selected program to open this kind of file,然后单击 浏览 按钮。
  8. 单击 C:\Users_[user name]_\AppData\Local\virt-viewer\bin 目录,然后选择 remote-viewer.exe
  9. 单击 Open,然后单击 OK

当您使用原生客户端控制台调用选项打开虚拟机的控制台时,Remote Viewer 将自动使用 Red Hat Virtualization Manager 提供的 console.vv 文件来打开该虚拟机的控制台,而无需提示您选择要使用的应用程序。

4.6. 配置 Watchdog

4.6.1. 在虚拟机中添加 Watchdog Card

您可以在虚拟机中添加 watchdog 卡来监控操作系统的响应。

在虚拟机中添加 Watchdog Cards

  1. 单击 ComputeVirtual Machines 并选择虚拟机。
  2. Edit
  3. 单击 High Availability 选项卡。
  4. Watchdog Model 下拉列表中选择要使用的 watchdog 模型。
  5. Watchdog Action 下拉菜单中选择一个操作。这是虚拟机触发 watchdog 时执行的操作。
  6. 点击 确定

4.6.2. 安装 Watchdog

要激活附加到虚拟机的 watchdog 卡,您必须在该虚拟机上安装 watchdog 软件包并启动 watchdog 服务。

安装 Watchdogs

  1. 登录到附加了 watchdog 卡的虚拟机。
  2. 安装 watchdog 软件包和依赖项:

    # yum install watchdog
  3. 编辑 /etc/watchdog.conf 文件并取消注释以下行:

    watchdog-device = /dev/watchdog
  4. 保存更改。
  5. 启动 watchdog 服务并确保在引导时启动该服务:

    • Red Hat Enterprise Linux 6:

      # service watchdog start
      # chkconfig watchdog on
    • Red Hat Enterprise Linux 7:

      # systemctl start watchdog.service
      # systemctl enable watchdog.service

4.6.3. 确认 Watchdog 功能

确认 watchdog 卡已附加到虚拟机,并且 watchdog 服务处于活动状态。

警告

提供这个步骤只测试 watchdogs 的功能,且不得在生产环境中运行。

确认 Watchdog 功能

  1. 登录到附加了 watchdog 卡的虚拟机。
  2. 确认 watchdog 卡已可以被虚拟机识别:

    # lspci | grep watchdog -i
  3. 运行以下命令之一以确认 watchdog 处于活跃状态:

    • 触发内核 panic:

      # echo c > /proc/sysrq-trigger
    • 终止 watchdog 服务:

      # kill -9 pgrep watchdog

watchdog 定时器无法再重置,因此 watchdog 计数器在短时间内达到零。当 watchdog 计数器到达零时,执行该虚拟机的 Watchdog Action 下拉菜单中指定的操作。

4.6.4. watchdog.conf 中 Watchdogs 的参数

下表列出了用于配置 /etc/watchdog.conf 文件中可用的 watchdog 服务的选项:若要配置选项,您必须取消该选项注释,并在保存更改后重新启动 watchdog 服务。

注意

有关配置 watchdog 服务和使用 watchdog 命令的选项的更多详细信息,请参阅 watchdog man page。

表 4.2. watchdog.conf 变量

变量名称默认值备注

ping

N/A

watchdog 尝试 ping 验证该地址是否可访问的 IP 地址。您可以通过添加额外的 ping 行来指定多个 IP 地址。

interface

N/A

watchdog 将监控的网络接口以验证网络流量是否存在。您可以通过添加额外的 interface 行来指定多个网络接口。

file

/var/log/messages

本地系统上的文件,监视将监控是否有更改。您可以通过添加其他 file 行来指定多个文件。

change

1407

watchdog 检查文件更改的间隔数量。必须在各个 file 行后直接指定 change 行,并直接对该 change 行上方的 file 行应用更改。

max-load-1

24

虚拟机可在一分钟内保持的最大平均负载。如果超过这个平均值,则会触发 watchdog。0 代表禁用此功能。

max-load-5

18

虚拟机可在五分钟内保持的最大平均负载。如果超过这个平均值,则会触发 watchdog。0 代表禁用此功能。默认情况下,此变量的值被设置为 max-load-1 大约三季度的值。

max-load-15

12

虚拟机可在十五分钟内保持的最大平均负载。如果超过这个平均值,则会触发 watchdog。0 代表禁用此功能。默认情况下,此变量的值被设置为 max-load-1 大约一半的值。

min-memory

1

在虚拟机上必须保持可用最小虚拟内存量。这个值以页为单位。0 代表禁用此功能。

repair-binary

/usr/sbin/repair

本地系统上触发 watchdog 时将要运行的二进制文件的路径和文件名。如果指定的文件解决了阻止 watchdog 重置 watchdog 计数器的问题,则不会触发 watchdog 操作。

test-binary

N/A

watchdog 在本地系统中尝试在每个间隔内运行的二进制文件的路径和文件名。通过测试二进制文件,您可以指定一个文件来运行用户定义的测试。

test-timeout

N/A

用户定义的测试可以运行的时间限值(以秒为单位)。值 0 允许用户定义的测试持续无限。

temperature-device

N/A

用于检查运行 watchdog 服务的机器温度的设备的路径和名称。

max-temperature

120

运行 watchdog 服务的计算机允许的最大温度。如果达到这种温度,计算机将被停止。不考虑单位转换,因此您必须指定一个与正在使用的 watchdog 卡匹配的值。

admin

root

电子邮件通知发送到的电子邮件地址。

interval

10

watchdog 设备更新间隔(以秒为单位)。watchdog 设备要求每分钟至少更新一次,如果一分钟内没有更新,则触发 watchdog。这个一分钟期限硬编码到 watchdog 设备的驱动程序中,且无法配置。

logtick

1

watchdog 服务启用详细日志记录后,watchdog 服务会定期将日志消息写入本地系统。logtick 值表示在其后写入消息的 watchdog 间隔数。

realtime

指定 watchdog 是否锁定在内存中。值 yes 会将 watchdog 锁定在内存中,这样它就不会被交换出内存,而值 no 则允许将 watchdog 交换出内存。如果 watchdog 被交换出内存并且没有在 watchdog 计数器达到零之前重新交换,则触发 watchdog。

priority

1

realtime 的值设为 yes 时,调度优先级。

pidfile

/var/run/syslogd.pid

watchdog 监控的 PID 文件的路径和文件名,以查看对应的进程是否仍然处于活动状态。如果对应的进程未激活,则会触发 watchdog。

4.7. 配置虚拟 NUMA

在管理门户中,您可以在虚拟机上配置虚拟 NUMA 节点,并将它们固定到一个或多个主机上的物理 NUMA 节点。主机的默认策略是在主机上任何可用资源上调度并运行虚拟机。因此,支持在一个主机套接字内无法容纳的大型虚拟机的资源可以分布到多个 NUMA 节点上。随着时间推移,这些资源可能会发生移动,从而导致性能下降和无法预测。配置和固定虚拟 NUMA 节点,以避免出现这种情况并提高性能。

配置虚拟 NUMA 需要启用 NUMA 的主机。若要确认主机上是否已启用 NUMA,请登录主机并运行 numactl --hardware。此命令的输出应至少显示两个 NUMA 节点。您还可以通过从 Hosts 选项卡中选择主机并单击 NUMA Support 来查看管理门户中主机的 NUMA 拓扑。只有所选主机至少有两个 NUMA 节点时,此按钮才可用。

注意

如果您定义 NUMA Pinning,默认迁移模式默认为 Allow manual migration

配置虚拟 NUMA

  1. 单击 ComputeVirtual Machines 并选择虚拟机。
  2. Edit
  3. 单击 主机 选项卡。
  4. 选择 Specific Host(s) 单选按钮,然后从列表中选择主机。所选主机必须至少有两个 NUMA 节点。
  5. NUMA Node Count 字段中输入数字,以将虚拟 NUMA 节点分配给虚拟机。
  6. Tune Mode 下拉列表中选择 StrictPreferredInterleave。如果所选模式为 PreferredNUMA Node Count 必须设置为 1
  7. 单击 NUMA Pinning
  8. NUMA Topology 窗口中,根据需要单击鼠标右边的框并将它拖动虚拟 NUMA 节点,以将 NUMA 节点托管到左侧,然后单击 OK
  9. 点击 确定
注意

如果您不将虚拟 NUMA 节点固定到主机 NUMA 节点,则系统将默认为包含主机设备的内存映射 I/O(MMIO)的 NUMA 节点,只要存在一个或多个主机设备,所有这些设备都来自单个 NUMA 节点。

4.8. 为虚拟机配置 Red Hat Satellite 勘误管理

在管理门户中,您可以配置虚拟机以显示可用的勘误表。虚拟机需要与 Red Hat Satellite Server 服务器关联,以显示可用的勘误表。

Red Hat Virtualization 4.3 支持使用 Red Hat Satellite 6.5 进行勘误管理。

先决条件

重要

虚拟机通过 FQDN 在 Satellite 服务器中标识。这样可确保外部内容主机 ID 不需要在 Red Hat Virtualization 中维护。

流程

配置 Red Hat Satellite 勘误管理:

  1. 单击 ComputeVirtual Machines 并选择虚拟机。
  2. Edit
  3. Foreman/Satellite 标签页。
  4. Provider 下拉列表中,选择所需的 Satellite 服务器。
  5. 点击 确定

4.9. 配置无头虚拟机

当不需要通过图形控制台访问虚拟机时,您可以配置无头虚拟机。无外设计算机将在没有图形和视频设备的情况下运行。在主机资源有限或满足实时虚拟机等虚拟机使用要求的情况下,这非常有用。

无头虚拟机可以通过 Serial Console、SSH 或任何其他服务来管理,以进行命令行访问。在创建或编辑虚拟机和计算机池时,以及编辑模板时,可通过 Console 选项卡应用无头模式。它也可用于创建或编辑实例类型。

如果您要创建新的无头虚拟机,您可以使用 Run Once 窗口通过图形控制台仅第一次运行来访问虚拟机。详情请查看 第 A.2 节 “Run Once 窗口中的 Settings 解释”

先决条件

  • 如果您要编辑现有虚拟机,且尚未安装 Red Hat Virtualization 客户机代理,请在选择无头模式前注意虚拟机的 IP。
  • 在以无头模式运行虚拟机之前,此虚拟机的 GRUB 配置必须设置为控制台模式,否则客户机操作系统的引导过程将挂起。要设置控制台模式,请注释掉 GRUB 菜单配置文件中的 spashimage 标志:

     #splashimage=(hd0,0)/grub/splash.xpm.gz serial --unit=0 --speed=9600 --parity=no --stop=1 terminal --timeout=2 serial
注意

选择 Headless Mode 选项时,如果虚拟机正在运行,请重新启动虚拟机。

配置无头虚拟机

  1. 单击 ComputeVirtual Machines 并选择虚拟机。
  2. Edit
  3. 点击 Console 选项卡。
  4. 选择 无标头模式图形控制台部分的所有其他字段都被禁用。
  5. (可选)选择 Enable VirtIO 串行控制台,以启用通过串行控制台与虚拟机通信。强烈建议您这样做。
  6. 如果虚拟机正在运行,请重新引导。请参阅 第 6.3 节 “重启虚拟机”

4.10. 配置高性能虚拟机、模板和池

您可以为虚拟机配置高性能,以便其运行性能指标尽可能接近裸机。当您选择高性能优化时,虚拟机会使用一组自动和推荐手动设置进行配置,从而最大程度提高效率。

高性能选项只能在管理门户中通过从 EditNew 虚拟机、模板或池窗口中的 Optimized for 下拉列表中选择 High Performance 来访问。虚拟机门户中不提供这个选项。

Red Hat Virtualization 4.2 及更新的版本支持高性能选项。因此,它不适用于早期的兼容性版本。

虚拟机

如果您将正在运行的虚拟机的优化模式更改为高性能,一些配置更改需要重启虚拟机。

要将新或现有虚拟机的优化模式更改为高性能,您可能需要先对集群和固定主机配置进行手动更改。

高性能虚拟机存在一些限制,因为增强的性能会以降低的灵活性进行权衡:

  • 如果根据推荐的设置,为 CPU 线程、IO 线程、仿真程序线程或 NUMA 节点设置了固定,则只有一部分集群主机可以分配给高性能虚拟机。
  • 许多设备会自动禁用,这限制了虚拟机的可用性。

模板和池

高性能模板和池的创建和编辑方式与虚拟机相同。如果使用高性能模板或池创建新虚拟机,则这些虚拟机将继承此属性及其配置。但是,某些设置不会被继承,必须手动设置:

  • CPU 固定
  • 虚拟 NUMA 和 NUMA 固定拓扑
  • IO 和仿真程序线程固定拓扑
  • 透传主机 CPU

4.10.1. 创建高性能虚拟机、模板或池

创建高性能虚拟机、模板或池:

  1. NewEdit 窗口中,从 Optimized for 下拉菜单中选择 High Performance

    选择此选项会自动对此虚拟机执行某些配置更改,您可以通过单击不同的选项卡来查看这些更改。您可以将它们改回到其原始设置或覆盖它们。(详情请参阅自动高性能配置设置。) 如果您更改了设置,则会保存其最新的值。

  2. 点击 确定

    如果您还没有设置任何手动配置,则会出现描述建议的手动配置的 High Performance Virtual Machine/Pool Settings 屏幕。

    如果您设置了一些手动配置,High Performance Virtual Machine/Pool Settings 屏幕将显示您尚未进行的设置。

    如果您设置了所有建议的手动配置,则不会出现 High Performance Virtual Machine/Pool Settings 屏幕。

  3. 如果显示 High Performance Virtual Machine/Pool Settings 屏幕,请单击 Cancel 以返回到 NewEdit 窗口,以执行手动配置。详情请参阅配置推荐的手动设置

    或者,单击 OK 以忽略建议。结果可能是性能水平下降。

  4. 点击 确定

    您可以在虚拟机、池或模板的详情视图的 General 选项卡中查看优化类型。

注意

某些配置可能会覆盖高性能设置。例如,如果您在从 Optimized for 下拉菜单中选择 High Performance 并执行手动配置前为虚拟机选择一个实例类型,则实例类型配置不会影响高性能配置。但是,如果您在高性能配置后选择实例类型,则应在不同标签页中验证最终配置,以确保高性能配置没有被实例类型覆盖。

最后保存的配置通常具有优先权。

4.10.1.1. 自动高性能配置设置

下表总结了自动设置:Enabled(Y/N) 列指出启用或禁用的配置。Applies to 列指示相关资源:

  • VM - 虚拟机
  • T - 模板
  • P - 池
  • C - 集群

表 4.3. 自动高性能配置设置

设置启用(Y/N)适用于

无头模式 (控制台选项卡)

Y

VM, T, P

USB 支持 (控制台选项卡)

N

VM, T, P

启用智能卡 (控制台选项卡)

N

VM, T, P

启用声卡 (控制台选项卡)

N

VM, T, P

启用 VirtIO 串行控制台(控制台选项卡)

Y

VM, T, P

仅允许手动迁移 (主机选项卡)

Y

VM, T, P

透传主机 CPU (主机选项卡)

Y

VM, T, P

高可用性 [a] (高可用性选项卡)

N

VM, T, P

无 Watchdog (高可用性选项卡)

N

VM, T, P

内存气球设备 (资源分配选项卡)

N

VM, T, P

启用 IO 线程 [b] (资源分配选项卡)

Y

VM, T, P

半虚拟化随机数生成器 PCI(virtio-rng)设备(随机数生成器选项卡)

Y

VM, T, P

IO 和仿真程序线程固定拓扑

Y

VM, T

CPU 缓存层 3

Y

VM, T, P

[a] 高可用性不会被自动启用。如果您手动选择它,则仅应当为固定主机启用高可用性。
[b] IO 线程数量 = 1

4.10.1.2. IO 和仿真程序线程固定拓扑(自动设置)

IO 和仿真程序线程固定拓扑是 Red Hat Virtualization 4.2 的新配置设置。它需要为虚拟机启用 IO 线程、NUMA 节点和 NUMA 固定。否则,引擎日志中会显示警告。

固定拓扑:

  • 每个 NUMA 节点的前两个 CPU 已固定。
  • 如果所有 vCPU 都适合主机的一个 NUMA 节点:

    • 前两个 vCPU 会自动保留/固定
    • 剩余的 vCPU 可用于手动 vCPU 固定
  • 如果虚拟机跨越多个 NUMA 节点:

    • 带有最多固定的 NUMA 节点的前两个 CPU 会保留/固定
    • 剩余的固定 NUMA 节点仅用于 vCPU 固定

池不支持 IO 和仿真程序线程固定。

警告

如果主机 CPU 固定到 vCPU 和 IO 仿真程序线程中,日志中会出现警告信息,您需要考虑更改 CPU 固定拓扑以避免出现这种情况。

4.10.1.3. 高性能图标

以下图标表示 ComputeVirtual Machines 屏幕中高性能虚拟机的状态。

表 4.4. 高性能图标

图标描述

hp vm

高性能虚拟机

hp vm next run

使用 Next Run 配置的高性能虚拟机

stateless hp vm

无状态、高性能虚拟机

stateless hp vm next run

带有 Next Run 配置的无状态、高性能虚拟机

vm hp pool

高性能池中的虚拟机

vm hp pool next run

使用 Next Run 配置的高性能池中的虚拟机

第 5 章 编辑虚拟机

5.1. 编辑虚拟机属性

对存储、操作系统或网络参数的更改可能会对虚拟机造成负面影响。在尝试进行任何更改之前,请确保您具有正确的详情。在运行时可以编辑虚拟机,并将立即应用一些更改(在以下流程中列出)。若要应用所有其他更改,必须关闭并重新启动虚拟机。

注意

无法通过 Red Hat Virtualization Manager 编辑外部虚拟机(带有 external 前缀)。

编辑虚拟机

  1. 单击 ComputeVirtual Machines
  2. 选择要编辑的虚拟机。
  3. Edit
  4. 根据需要更改设置。

    对以下设置的更改会立即应用:

    • 名称
    • 描述
    • 注释
    • 针对(Desktop/Server/High 性能)进行优化
    • 删除保护
    • 网络接口
    • 内存大小 (将此字段编辑为热插虚拟内存)。请参阅 第 5.4.1 节 “热插虚拟内存”。)
    • 虚拟插槽(将此字段编辑为热插 CPU)。请参阅 第 5.5 节 “热插 vCPU”。)
    • 使用自定义迁移停机时间
    • 高可用性
    • 运行/迁移队列的优先级
    • 禁用严格的用户检查
    • 图标
  5. 点击 确定
  6. 如果显示 Next Start Configuration 弹出窗口,请单击 OK

某些更改会立即应用。关闭并重新启动虚拟机时,将应用所有其他更改。在此之前,待处理的更改图标( pendingchanges )显示为重启虚拟机的提醒。

5.2. 网络接口

5.2.1. 添加新网络接口

您可以向虚拟机添加多个网络接口。这样做可让您将虚拟机置于多个逻辑网络上。

注意

您可以通过定义未附加到主机物理接口的逻辑网络,为您的虚拟机创建覆盖网络(与主机隔离)。例如,您可以创建一个 DMZ 环境,其中虚拟机通过主机中创建的网桥互相通信。

覆盖网络使用 OVN,后者必须作为外部网络提供程序安装。如需更多信息,请参阅管理指南

在虚拟机中添加网络接口

  1. 单击 ComputeVirtual Machines
  2. 单击虚拟机名称,以进入详情视图。
  3. Network Interfaces 选项卡。
  4. 单击 New
  5. 输入网络接口的名称
  6. 从下拉列表中选择网络借口的 ProfileTypeProfileType 下拉列表会根据集群可用的配置集和网络类型以及虚拟机可用的网络接口卡进行填充。
  7. 选中 Custom MAC 地址 复选框,并根据需要为网络接口卡输入 MAC 地址。
  8. 点击 确定

新网络接口在虚拟机详情视图的 Network Interfaces 选项卡中列出。当在虚拟机上定义了网络接口卡并连接到网络时,Link State 会被默认设置为 Up

有关 New Network Interface 窗口中字段的详情,请参考 第 A.3 节 “新网络接口和编辑网络接口 Windows 中的设置说明”

5.2.2. 编辑网络接口

要更改任何网络设置,您必须编辑网络接口。这个过程可以在运行的虚拟机上执行,但某些操作只能在未运行的虚拟机上执行。

编辑网络接口

  1. 单击 ComputeVirtual Machines
  2. 单击虚拟机名称,以进入详情视图。
  3. 单击 Network Interfaces 选项卡,再选择要编辑的网络接口。
  4. Edit
  5. 根据需要更改设置。您可以指定 NameProfileTypeCustom MAC 地址。请参阅 第 5.2.1 节 “添加新网络接口”
  6. 点击 确定

5.2.3. 热插网络接口

您可以热插网络接口。热插意味着在虚拟机运行时启用和禁用设备。

注意

客户机操作系统必须支持热插网络接口。

热插网络接口

  1. 单击 ComputeVirtual Machines 并选择虚拟机。
  2. 单击虚拟机的名称,以转至详情视图。
  3. 单击 Network Interfaces 选项卡,再选择要热插的网络接口。
  4. Edit
  5. Card Status 设置为 Plugged 以启用网络接口,或将其设置为 Unplugged 以禁用网络接口。
  6. 点击 确定

5.2.4. 删除网络接口

删除网络接口

  1. 单击 ComputeVirtual Machines
  2. 单击虚拟机名称,以进入详情视图。
  3. 单击 Network Interfaces 选项卡,再选择要删除的网络接口。
  4. 单击 Remove
  5. 点击 确定

5.2.5. 将网络接口列入黑名单

您可以在虚拟机上配置 ovirt-guest-agent,以忽略某些 NIC。这可以防止与特定软件创建的网络接口关联的 IP 地址显示在报告中。您必须指定要列入黑名单的网络接口的名称和编号(如 eth0docker0)。

重要

您必须在第一次启动客户机代理前将虚拟机上的 NIC 列入黑名单。

将网络接口列入黑名单

  1. 在虚拟机上的 /etc/ovirt-guest-agent.conf 配置文件中插入以下行,并用空格分隔 NIC:

    ignored_nics = first_NIC_to_ignore second_NIC_to_ignore
  2. 启动代理:

    # systemctl start ovirt-guest-agent
注意

有些虚拟机操作系统在安装过程中自动启动客户机代理。

如果您的虚拟机操作系统自动启动客户机代理,或者需要在许多虚拟机上配置黑名单,请使用配置的虚拟机作为创建额外虚拟机的模板。详情请查看 第 7.2 节 “创建模板”

5.3. 虚拟磁盘

5.3.1. 添加新虚拟磁盘

您可以向虚拟机添加多个虚拟磁盘。

image 是默认磁盘类型。您还可以添加 Direct LUN 磁盘或 Cinder (OpenStack 卷)磁盘。镜像 磁盘创建完全由 Manager 管理。直接 LUN 磁盘需要外部准备的目标已存在。Cinder 磁盘需要访问使用外部提供者窗口添加到 Red Hat Virtualization 环境的 OpenStack 卷实例;如需更多信息,请参阅 为存储管理添加 OpenStack 卷(Cinder)实例。现有磁盘是浮动磁盘或附加到虚拟机的可共享磁盘。

在虚拟机中添加磁盘

  1. 单击 ComputeVirtual Machines
  2. 单击虚拟机名称,以进入详情视图。
  3. Disks 选项卡。
  4. New
  5. 使用适当的单选按钮在 Image, Direct LUN, 或 Cinder 之间切换。
  6. 为新磁盘输入 Size(GB)AliasDescription
  7. 使用下拉列表和复选框配置磁盘。有关所有磁盘类型的详情,请查看 第 A.4 节 “新虚拟磁盘和编辑虚拟磁盘窗口中设置的说明”
  8. 点击 确定

新磁盘在短时间内显示在详情视图中。

5.3.2. 将现有磁盘附加到虚拟机

浮动磁盘是未与任何虚拟机关联的磁盘。

浮动磁盘可以最大程度缩短设置虚拟机所需的时间。将浮动磁盘指定为虚拟机的存储使得无需在创建虚拟机时等待磁盘预分配。

浮动磁盘可以附加到单个虚拟机,或者连接到多个虚拟机(如果磁盘可共享)。使用共享磁盘的每个虚拟机都可以使用不同的磁盘接口类型。

浮动磁盘附加到虚拟机后,虚拟机可以访问它。

将虚拟磁盘附加到虚拟机

  1. 单击 ComputeVirtual Machines
  2. 单击虚拟机名称,以进入详情视图。
  3. Disks 选项卡。
  4. 单击 Attach
  5. 从可用磁盘列表中选择一个或多个虚拟磁盘,然后从 Interface 下拉菜单中选择所需的接口。
  6. 点击 确定
注意

将虚拟磁盘附加到虚拟机或从虚拟机分离,不会消耗配额资源。

5.3.3. 扩展虚拟磁盘的可用大小

您可以在虚拟磁盘附加到虚拟机时扩展虚拟磁盘的可用大小。重新定义虚拟磁盘大小不会调整该虚拟磁盘上的基础分区或文件系统的大小。根据需要,使用 fdisk 实用程序调整分区和文件系统的大小。如需更多信息,请参阅如何使用 fdisk 调整分区 大小。

扩展虚拟磁盘的可用大小

  1. 单击 ComputeVirtual Machines
  2. 单击虚拟机名称,以进入详情视图。
  3. 单击 Disks 选项卡,然后选择要编辑的磁盘。
  4. Edit
  5. Extend size by(GB) 字段中输入一个值。
  6. 点击 确定

目标磁盘的状态很快 锁定,在此期间会调整驱动器的大小。完成驱动器大小调整后,驱动器的状态将变为 OK

5.3.4. 热插虚拟磁盘

您可以热插虚拟磁盘。热插意味着在虚拟机运行时启用或禁用设备。

注意

客户机操作系统必须支持热插虚拟磁盘。

热插虚拟磁盘

  1. 单击 ComputeVirtual Machines
  2. 单击虚拟机名称,以进入详情视图。
  3. 单击 Disks 选项卡,再选择要热插的虚拟磁盘。
  4. 点击 More Actions ( moreactions ),然后点 Activate 启用磁盘,或者 取消激活 以禁用磁盘。
  5. 点击 确定

5.3.5. 从虚拟机中删除虚拟磁盘

从虚拟机中删除虚拟磁盘

  1. 单击 ComputeVirtual Machines
  2. 单击虚拟机名称,以进入详情视图。
  3. 单击 Disks 选项卡,再选择要删除的虚拟磁盘。
  4. 点击 More Actions ( moreactions ),然后点 Deactivate
  5. 点击 确定
  6. 单击 Remove
  7. (可选)选中 Remove persistently 复选框,以从环境中完全删除虚拟磁盘。如果您不选择这个选项(例如,因为磁盘是共享磁盘),则虚拟磁盘将保留在存储磁盘中。
  8. 点击 确定

如果磁盘已创建为块存储(如 iSCSI),并且在创建磁盘时已选中 Wipe After Delete 复选框,您可以查看主机上的日志文件,以确认在永久删除磁盘后数据已被擦除。请参阅管理指南中的设置来擦除虚拟磁盘

如果磁盘是作为块存储创建的,例如 iSCSI,并且在删除磁盘前在存储域中选择了 Discard After Delete 复选框,则逻辑卷删除后会调用一个 blkdiscard 命令,并通知其块是空闲的。请参阅管理指南中的存储域设置断开连接后的内容。如果虚拟磁盘附加到至少一个选择了 Enable Discard 复选框的虚拟机,则逻辑卷上也会调用一个 blkdiscard

5.3.6. 从导入的存储域导入磁盘镜像

您可以从导入的存储域导入浮动虚拟磁盘。

此流程需要访问管理门户。

注意

只有 QEMU 兼容磁盘才能导入到 Manager 中。

导入磁盘镜像

  1. StorageDomains
  2. 单击导入的存储域,以进入详细信息视图。
  3. 单击 Disk Import
  4. 选择一个或多个磁盘镜像,点 Import 打开 Import Disk(s) 窗口。
  5. 为每个磁盘选择适当的 Disk Profile
  6. 单击 OK 以导入所选磁盘。

5.3.7. 从导入的存储域导入未注册的磁盘镜像

您可以从存储域导入浮动虚拟磁盘。在 Red Hat Virtualization 环境外创建的浮动磁盘不会向 Manager 注册。扫描存储域,以识别要导入的未注册浮动磁盘。

此流程需要访问管理门户。

注意

只有 QEMU 兼容磁盘才能导入到 Manager 中。

导入磁盘镜像

  1. StorageDomains
  2. 点击 More Actions ( moreactions ),然后点 Scan Disks,以便 Manager 可以识别未注册的磁盘。
  3. 选择未注册的磁盘名称并点击 Disk Import
  4. 选择一个或多个磁盘镜像,点 Import 打开 Import Disk(s) 窗口。
  5. 为每个磁盘选择适当的 Disk Profile
  6. 单击 OK 以导入所选磁盘。

5.4. 虚拟内存

5.4.1. 热插虚拟内存

您可以热插虚拟内存。热插意味着在虚拟机运行时启用或禁用设备。每次热插内存时,它都会在虚拟机的详情视图中显示为 Vm Devices 选项卡中的新内存设备,最多 16 个可用插槽。当虚拟机重启时,这些设备会从 Vm Devices 选项卡中清除,而不减少虚拟机的内存,允许您热插更多内存设备。如果热插失败(例如,如果没有更多可用插槽),重启虚拟机时将应用内存增加。

重要

自托管引擎管理器虚拟机目前不支持此功能。

热插虚拟内存

  1. 单击 ComputeVirtual Machines 并选择正在运行的虚拟机。
  2. Edit
  3. 系统选项卡。
  4. 通过输入所需总数来增加内存大小。可在 256 MB 的倍数中添加内存.默认情况下,虚拟机允许的最大内存设置为指定内存大小的 4 倍。虽然在用户界面中更改了该值,但最大值不是热插,您会看到待处理的更改图标( pendingchanges )。为避免这种情况,您可以将最大内存更改回原始值。
  5. 点击 确定

    此操作会打开 Pending Virtual Machine 更改 窗口,因为 maxMemorySizeMbminAllocatedMem 等值在虚拟机重启前不会改变。但是,热插操作由对 Memory Size 值的更改触发,该值可立即应用。

  6. 点击 确定

虚拟机的定义 内存 在详情视图的 General 选项卡中更新。您可以在详情视图的 Vm Devices 选项卡中看到新添加的内存设备。

5.4.2. 热拔出虚拟内存

您可以热拔虚拟内存。热拔意味着在虚拟机运行时禁用设备。

重要
  • 只有通过热插模式添加的内存还可以被热拔出。
  • 虚拟机操作系统必须支持内存热拔。
  • 虚拟机不能启用内存气球设备。此功能默认为禁用。
  • 热插内存的所有块都必须在虚拟机设备管理规则中设置为 Online _movable。在运行 Red Hat Enterprise Linux 或 CoreOS 最新版本的虚拟机中,此规则会被默认设置。有关设备管理规则的信息,请参阅虚拟机的操作系统文档。

如果没有满足这些状况,则内存热拔操作可能会失败,或者会导致意外行为。

热拔出虚拟内存

  1. 单击 ComputeVirtual Machines 并选择正在运行的虚拟机。
  2. 单击 Vm Devices 选项卡。
  3. Hot Unplug 列中,单击要删除的内存设备旁边的 Hot Unplug
  4. Memory Hot Unplug 窗口中单击 OK

如有必要,虚拟机的 Physical Memory Guaranteed 值会自动减少。

5.5. 热插 vCPU

您可以热插 vCPU。热插意味着在虚拟机运行时启用或禁用设备。

重要

仅当 vCPU 之前热插时才支持热拔下 vCPU。虚拟机的 vCPU 无法热拔到比最初创建的 vCPU 更少的 vCPU。

适用以下前提条件:

热插 vCPU

  1. 单击 ComputeVirtual Machines 并选择正在运行的虚拟机。
  2. Edit
  3. 系统选项卡。
  4. 根据需要更改 Virtual Sockets 的值
  5. 点击 确定

表 5.1. vCPU 热插操作系统支持列表

操作系统版本架构支持热插支持热拔出

Red Hat Enterprise Linux Atomic Host 7

 

x86

Red Hat Enterprise Linux 6.3+

 

x86

Red Hat Enterprise Linux 7.0+

 

x86

Red Hat Enterprise Linux 7.3+

 

PPC64

Red Hat Enterprise Linux 8.0+

 

x86

Microsoft Windows Server 2008

All

x86

Microsoft Windows Server 2008

Standard, Enterprise

x64

Microsoft Windows Server 2008

数据中心

x64

Microsoft Windows Server 2008 R2

All

x86

Microsoft Windows Server 2008 R2

Standard, Enterprise

x64

Microsoft Windows Server 2008 R2

数据中心

x64

Microsoft Windows Server 2012

All

x64

Microsoft Windows Server 2012 R2

All

x64

Microsoft Windows Server 2016

标准,数据中心

x64

Microsoft Windows 7

All

x86

Microsoft Windows 7

Starter, Home, Home Premium, Professional

x64

Microsoft Windows 7

Enterprise, Ultimate

x64

Microsoft Windows 8.x

All

x86

Microsoft Windows 8.x

All

x64

Microsoft Windows 10

All

x86

Microsoft Windows 10

All

x64

5.6. 将虚拟机固定到多个主机

虚拟机可以固定到多个主机。多主机固定允许虚拟机在集群内的特定主机子集上运行,而非集群中的一个特定主机或所有主机。即使所有指定的主机都不可用,虚拟机也无法在集群中的任何其他主机上运行。多主机固定可用于限制虚拟机到具有相同物理硬件配置的主机。

如果主机出现故障,高可用性虚拟机将自动在将虚拟机固定到的其他主机上重新启动。

将虚拟机固定到多个主机

  1. 单击 ComputeVirtual Machines 并选择虚拟机。
  2. Edit
  3. 单击 主机 选项卡。
  4. 选择 Start Running On 下的 Specific Host(s) 单选按钮,然后从列表中选择两个或更多主机。
  5. 单击 High Availability 选项卡。
  6. 选中 Highly Available 复选框。
  7. 优先级 下拉菜单中选择 LowMediumHigh。触发迁移时,会创建一个队列,其中首先迁移高优先级的虚拟机。如果集群在资源上运行较低,则只会迁移高优先级的虚拟机。
  8. 点击 确定

5.7. 查看固定在主机上的虚拟机

您可以查看固定的虚拟机,即使虚拟机离线也是如此。使用 Pinned to Host 列表,查看哪些虚拟机将受到影响,哪些虚拟机需要在主机再次激活后手动重启。

查看固定在主机上的虚拟机

  1. 单击 ComputeHosts
  2. 单击主机名,以转至详细信息视图。
  3. Virtual Machines 标签页。
  4. 单击 Pinned to Host

5.8. 更改虚拟机的 CD

您可以使用上传到虚拟机集群的数据域的 ISO 镜像,在虚拟机运行时将该 CD 更改给虚拟机。详情请参阅管理指南中的将镜像上传到数据存储域

更改虚拟机的 CD

  1. 单击 ComputeVirtual Machines 并选择正在运行的虚拟机。
  2. 点击 More Actions ( moreactions ),然后点 Change CD
  3. 从下拉列表中选择一个选项:

    • 从列表中选择 ISO 文件,以弹出虚拟机当前可访问的 CD,并将该 ISO 文件作为 CD 挂载。
    • 从列表中选择 [Eject],以弹出当前可供虚拟机访问的 CD。
  4. 点击 确定

5.9. 智能卡验证

智能卡是一种外部硬件安全功能,最常见的是在信用卡中看到,但许多业务也使用智能卡作为身份验证令牌。智能卡可用于保护红帽虚拟化虚拟机。

启用智能卡

  1. 确保智能卡硬件插入到客户端机器中,并根据制造商的指示进行安装。
  2. 单击 ComputeVirtual Machines 并选择虚拟机。
  3. Edit
  4. 单击 Console 选项卡,再选中 Smartcard enabled 复选框。
  5. 点击 确定
  6. 单击 Console 按钮,以连接至正在运行的虚拟机。智能卡验证现在从客户端硬件传递给虚拟机。
重要

重要的

如果没有正确安装智能卡硬件,启用智能卡功能将导致虚拟机无法正确加载。

禁用智能卡

  1. 单击 ComputeVirtual Machines 并选择虚拟机。
  2. Edit
  3. 单击 Console 选项卡,然后清除 已启用 Smartcard 的复选框。
  4. 点击 确定

为智能卡共享配置客户端系统

  1. 智能卡可能需要某些库才能访问其证书。这些库对于 NSS 库必须可见,而 spice-gtk 使用它为 guest 提供智能卡。NSS 要求库提供 PKCS #11 接口。
  2. 确保模块架构与 'spice-gtk/remote-viewer's 架构匹配。例如,如果您只提供 32b PKCS #11 库,则必须安装 32b 构建的 virt-viewer 才能使智能卡正常工作。

使用 CoolKey 智能卡中间件配置 RHEL 客户端

coolkey 智能卡中间件是 Red Hat Enterprise Linux 的一部分。安装智能卡支持组。如果在 Red Hat Enterprise Linux 系统中安装了智能卡支持组,则当启用智能卡时,智能卡会重定向到客户机。以下命令安装 智能卡支持 组:

# yum groupinstall "Smart card support"

使用其他智能卡中间件配置 RHEL 客户端

在系统的 NSS 数据库中注册库。作为 root 运行以下命令:

# modutil -dbdir /etc/pki/nssdb -add "module name" -libfile /path/to/library.so

配置 Windows 客户端

红帽不向 Windows 客户端提供 PKCS #11 支持。提供 PKCS #11 支持的库必须从第三方获得。获取此类库后,以具有升级权限的用户身份运行以下命令注册这些库:

modutil -dbdir %PROGRAMDATA%\pki\nssdb -add "module name" -libfile C:_\Path\to\module_.dll

第 6 章 管理任务

6.1. 关闭虚拟机

您可以使用 ShutdownPower Off 关闭虚拟机。Shutdown 会安全地关闭虚拟机。Power Off 执行硬关闭。通常情况下,首选使用 shutdown。

注意

如果虚拟机旁边显示一个感叹号,则快照删除进程会失败,且您可能无法在关闭虚拟机后重新启动虚拟机。尝试再次删除快照,并确保说明标记在关闭虚拟机之前消失。如需更多信息,请参阅 第 6.9.4 节 “删除快照”

流程

  1. 单击 ComputeVirtual Machines 并选择正在运行的虚拟机。
  2. Shutdown
  3. (可选)在管理门户中输入 ReasonShut down Virtual Machine(s) 确认窗口中输入 Reason 以关闭虚拟机。这可让您解释关闭,其将显示在日志中以及虚拟机再次开启的时间。

    注意

    只有集群设置中启用了虚拟机关闭 Reason 字段,才会显示它。有关更多信息,请参阅管理指南中的新建集群和"编辑集群 Windows 中的设置和控件的说明

  4. Shut down Virtual Machine(s)确认 窗口中,单击 OK

如果虚拟机正常关闭,虚拟机的 Status 将变为 Down。如果虚拟机不能安全关闭,请单击 Shutdown 旁边的向下箭头,然后单击 Power Off 以执行硬关闭。

6.2. 挂起虚拟机

暂停虚拟机等于将该虚拟机置于 Hibernate 模式。

挂起虚拟机

  1. 单击 ComputeVirtual Machines 并选择正在运行的虚拟机。
  2. Suspend

虚拟机的 Status 更改为 Suspended

6.3. 重启虚拟机

重启虚拟机

  1. 单击 ComputeVirtual Machines 并选择正在运行的虚拟机。
  2. 重启
  3. Reboot Virtual Machine(s) 确认窗口中,单击 OK

虚拟机的 Status 在返回到 Up 前会变为 Reboot In Progress

6.4. 删除虚拟机

重要

虚拟机运行时删除按钮是禁用的;您必须先关闭虚拟机,然后才能将其删除。

删除虚拟机

  1. 单击 ComputeVirtual Machines,再选择要删除的虚拟机。
  2. 单击 Remove
  3. (可选 )选中 Remove Disk(s) 复选框,以删除随虚拟机一起附加到虚拟机的虚拟磁盘。如果已清除 Remove Disk(s) 复选框,则虚拟磁盘将保留在环境中作为浮动磁盘。
  4. 点击 确定

6.5. 克隆虚拟机

您可以克隆虚拟机,而无需首先创建模板或快照。

重要

在虚拟机运行时,Clone VM 按钮已被禁用;您必须先关闭虚拟机,然后才能克隆虚拟机。

克隆虚拟机

  1. 单击 ComputeVirtual Machines,再选择要克隆的虚拟机。
  2. 点击 More Actions ( moreactions ),然后点 Clone VM
  3. 为新虚拟机输入克隆名称
  4. 点击 确定

6.6. 更新虚拟机客户机代理和驱动程序

Red Hat Virtualization 客户机代理、工具和驱动程序为虚拟机提供了额外的功能,如从虚拟机门户和管理门户正常关闭或重新启动虚拟机。这些工具和代理也为虚拟机提供信息,包括:

  • 资源使用量
  • IP 地址
  • 安装的应用程序

客户机工具作为 ISO 文件分发,您可以附加到虚拟机。此 ISO 文件打包为 RPM 文件,您可以从 Manager 机器安装和更新该文件。

6.6.1. 在 Red Hat Enterprise Linux 上更新客户机代理和驱动程序

更新 Red Hat Enterprise Linux 虚拟机上的客户机代理和驱动程序以使用最新版本。

在 Red Hat Enterprise Linux 上更新客户机代理和驱动程序

  1. 登录到 Red Hat Enterprise Linux 虚拟机。
  2. 更新 ovirt-guest-agent-common 软件包:

    # yum update ovirt-guest-agent-common
  3. 重启服务:

    • 对于 Red Hat Enterprise Linux 6

      # service ovirt-guest-agent restart
    • For Red Hat Enterprise Linux 7

      # systemctl restart ovirt-guest-agent.service

6.6.2. 更新 Windows 上的客户机代理和驱动程序

更新 Windows 上的客户机代理、工具和驱动程序

  1. 在 Red Hat Virtualization Manager 机器上,将 Red Hat Virtualization Guest Tools 软件包更新至最新版本:

    # yum update -y rhv-guest-tools-iso*

    ISO 文件位于 Manager 机器的 /usr/share/rhv-guest-tools-iso/RHV-toolsSetup_version.iso 中。

  2. 如果虚拟机上启用了 APT 服务,则会自动附加更新的 ISO 文件。否则,将 RHV-toolsSetup_version.iso 上传到数据域。详情请参阅管理指南中的将镜像上传到数据存储域
  3. 在管理门户或虚拟机门户中,如果虚拟机正在运行,请使用 Change CD 下拉列表将 RHV-toolsSetup_version Setup _version .iso 文件附加到每个虚拟机。如果虚拟机已关闭,请单击 运行一次 按钮,然后将 ISO 连接为 CD。
  4. 登录虚拟机。
  5. 选择包含 RHV-toolsSetup_version.iso 文件的 CD 驱动器。
  6. 双击 RHEV-toolsSetup.exe
  7. 在欢迎屏幕中,单击 Next
  8. 按照 RHEV-Tools InstallShield Wizard 窗口的提示进行操作。确保已选中组件列表中的所有复选框。
  9. 安装完成后,选择 Yes, I want to restart my computer now,然后点 Finish 以应用更改。

6.7. 查看 Red Hat Satellite Errata for a virtual machine

在将 Red Hat Virtualization 虚拟机配置为从 Red Hat Satellite 服务器接收勘误表信息后,可以查看每个虚拟机的勘误表。

有关将虚拟机配置为显示可用勘误的更多信息,请参阅 第 4.8 节 “为虚拟机配置 Red Hat Satellite 勘误管理”

查看 Red Hat Satellite 勘误

  1. 单击 ComputeVirtual Machines
  2. 单击虚拟机的名称,以转至详情视图。
  3. 单击 Errata

6.8. 虚拟机和权限

6.8.1. 为虚拟机管理系统权限

作为 SuperUser,系统管理员可以管理管理门户的所有方面。可以为其他用户分配更具体的管理角色。这些受限管理员角色可用于授予用户管理特权,以限制它们仅具有特定资源。例如,DataCenterAdmin 角色仅对分配的数据中心具有管理员特权,但该数据中心的存储除外,ClusterAdmin 则仅对分配的群集具有管理员特权。

UserVmManager 是数据中心中虚拟机的系统管理角色。此角色可应用于特定的虚拟机、数据中心或整个虚拟化环境;这对于允许不同的用户管理某些虚拟资源非常有用。

用户虚拟机管理员角色允许执行以下操作:

  • 创建、编辑和删除虚拟机.
  • 运行、暂停、关闭和停止虚拟机.
注意

您只能将角色和权限分配给现有用户。

许多最终用户只关注虚拟化环境的虚拟机资源。因此,Red Hat Virtualization 提供了多个用户角色,使用户能够专门管理虚拟机,但不能管理数据中心中的其他资源。

6.8.2. 虚拟机管理员角色已说明

下表描述了适用于虚拟机管理的管理管理员角色和权限。

表 6.1. Red Hat Virtualization 系统管理员角色

角色权限备注

DataCenterAdmin

数据中心管理员

拥有特定数据中心下除存储之外的所有对象的管理权限。

ClusterAdmin

Cluster Administrator

拥有特定集群下所有对象的管理权限。

NetworkAdmin

网络管理员

拥有特定逻辑网络上所有操作的管理权限.可以配置和管理与虚拟机连接的网络。要在虚拟机网络上配置端口镜像,请在网络上应用 NetworkAdmin 角色,并在虚拟机上应用 UserVmManager 角色。

6.8.3. 虚拟机用户角色说明

下表描述了适用于虚拟机用户的用户角色和权限。这些角色允许访问虚拟机门户以管理和访问虚拟机,但它们不会授予管理门户的任何权限。

表 6.2. Red Hat Virtualization 系统用户角色

角色权限备注

UserRole

可以访问和使用虚拟机和池.

可以登录虚拟机门户并使用虚拟机和池。

PowerUserRole

可以创建和管理虚拟机和模板.

使用 Configure 窗口,或针对特定数据中心或集群,将这个角色应用到整个环境的用户。例如,如果在数据中心级别上应用 PowerUserRole,PowerUser 可以在数据中心中创建虚拟机和模板。拥有 PowerUserRole 相当于具有 VmCreatorDiskCreatorTemplateCreator 角色。

UserVmManager

虚拟机的系统管理员.

可以管理虚拟机并创建和使用快照.在虚拟机门户中创建虚拟机的用户会自动被分配机器上的 UserVmManager 角色。

UserTemplateBasedVm

有限的权限,仅能使用模板。

通过模板创建虚拟机的特权级别。

VmCreator

可以在虚拟机门户中创建虚拟机.

此角色不适用于特定的虚拟机;使用 Configure 窗口将此角色应用到整个环境的用户。当将此角色应用到集群时,还必须对整个数据中心或特定存储域应用 DiskCreator 角色。

VnicProfileUser

虚拟机的逻辑网络和网络接口用户.

如果在创建逻辑网络时选择了 Allow all users to this Network 选项,则会为逻辑网络的所有用户分配 VnicProfileUser 权限。然后,用户可以向逻辑网络或者从逻辑网络附加或分离虚拟机网络接口。

6.8.4. 将虚拟机分配给用户

如果您要为自己以外的用户创建虚拟机,您必须将角色分配给用户,然后才能使用虚拟机。请注意,只能将权限分配给现有用户。如需有关创建用户帐户的详细信息,请参阅管理指南中的用户和角色

虚拟机门户支持三种默认角色:User、PowerUser 和 UserVmManager。不过,可以通过管理门户配置自定义角色。默认角色如下所述。

  • 用户可以连接到并使用虚拟机。此角色适用于执行日常任务的桌面最终用户。
  • PowerUser 可以创建虚拟机并查看虚拟资源。如果您是需要为您的员工提供虚拟资源的管理员或经理,则此角色是合适的。
  • UserVmManager 可以编辑和删除虚拟机,分配用户权限,使用快照并使用模板。如果您需要对虚拟环境进行配置更改,则它非常适合。

创建虚拟机时,您会自动继承 UserVmManager 权限。这可让您对虚拟机进行更改,并将权限分配给您管理的用户,或分配属于身份管理(IdM)或 RHDS 组的用户。如需更多信息,请参阅管理指南

为用户分配权限

  1. 单击 ComputeVirtual Machines 并选择虚拟机。
  2. 单击虚拟机的名称,以转至详情视图。
  3. 单击权限选项卡。
  4. 点击 Add
  5. 搜索 文本框中输入名称或用户名或其中的一部分,然后点击 Go。结果列表中会显示可能匹配的列表。
  6. 选中要为其分配权限的用户的复选框。
  7. Role to Assign 下拉列表中,选择 UserRole
  8. 点击 确定

用户名称和角色显示在被允许访问此虚拟机的用户列表中。

注意

如果仅为用户分配权限,可以为虚拟机配置单点登录(SSO)。启用单点登录后,当用户登录虚拟机门户,然后通过 SPICE 控制台连接到虚拟机时,用户会自动登录虚拟机,无需再次键入用户名和密码。单点登录可以基于每个虚拟机启用或禁用。有关如何为虚拟机启用和禁用单点登录的更多信息,请参阅 第 4.2 节 “为虚拟机配置单点登录”

6.8.5. 从用户中删除对虚拟机的访问权限

从用户中删除对虚拟机的访问权限

  1. 单击 ComputeVirtual Machines
  2. 单击虚拟机的名称,以转至详情视图。
  3. 单击 Permissions
  4. 单击 Remove。这时将显示警告消息,要求您确认删除选定的权限。
  5. 要继续,请单击 OK。若要中止,请单击 Cancel

6.9. 快照

6.9.1. 创建虚拟机的快照

快照是指虚拟机在任何或所有可用磁盘上的操作系统和应用程序的特定时间点视图。在对虚拟机进行更改之前,对虚拟机拍摄一个快照,这可能会导致意外的后果。您可以使用快照将虚拟机返回到之前的状态。

创建虚拟机的快照

  1. 单击 ComputeVirtual Machines
  2. 点虚拟机的名称进入详情视图。
  3. 单击 快照 选项卡,再单击 Create
  4. 输入快照的描述。
  5. 使用复选框选择 Disks to include

    注意

    如果没有选择磁盘,则会创建虚拟机的一个部分快照,但没有磁盘。您可以预览此快照来查看虚拟机的配置。请注意,提交部分快照将导致虚拟机没有磁盘。

  6. 选择 Save Memory 以将正在运行的虚拟机内存包含在快照中。
  7. 点击 确定

所选磁盘上虚拟机的操作系统和应用程序存储在可以预览或恢复的快照中。创建状态为 Locked 的快照,其状态更改为 Ok。当您单击快照时,其详细信息将显示在 Snapshots 选项卡中的 General, Disks, Network Interfaces, 和 Installed Applications 中。

6.9.2. 使用快照恢复虚拟机

快照可用于将虚拟机恢复到之前的状态。

使用快照恢复虚拟机

  1. 单击 ComputeVirtual Machines 并选择虚拟机。
  2. 单击虚拟机的名称,以转至详情视图。
  3. 单击 Snapshots 选项卡,以列出可用的快照。
  4. 在上部窗格中选择要恢复的快照。快照详细信息显示在下方窗格中。
  5. 单击 Preview 下拉菜单 按钮,再选择 Custom
  6. 使用复选框选择要恢复的 VM ConfigurationMemory 和 disk(s),然后单击 OK。这样,您可以使用多个快照的配置和磁盘从自定义快照创建和恢复。

    快照的状态更改为 Preview Mode。虚拟机的状态在返回到关闭前简要更改镜像

  7. 关闭虚拟机。
  8. 启动虚拟机;它使用快照的磁盘镜像运行。
  9. 单击 Commit,将虚拟机永久恢复到快照条件。之后的任何快照都会被删除。

    或者,单击 Undo 按钮以停用快照并将虚拟机返回到之前的状态。

6.9.3. 从快照创建虚拟机

您可以使用快照来创建另一个虚拟机。

从快照创建虚拟机

  1. 单击 ComputeVirtual Machines 并选择虚拟机。
  2. 单击虚拟机的名称,以转至详情视图。
  3. 单击 Snapshots 选项卡,以列出可用的快照。
  4. 在显示的列表中选择快照并点击 Clone
  5. 输入虚拟机的 Name
  6. 点击 确定

片刻之后,克隆的虚拟机将显示在导航窗格中的虚拟机选项卡中,状态为镜像锁定。在 Red Hat Virtualization 完成创建虚拟机之前,虚拟机一直处于此状态。创建预先分配的 20 GB 硬盘驱动器的虚拟机需要大约十五分钟时间。与预分配的虚拟磁盘相比,创建稀疏虚拟磁盘所需的时间更少。

当虚拟机准备就绪可用时,其状态将从 计算虚拟机中的镜像锁定变故障

6.9.4. 删除快照

您可以删除虚拟机快照并将其从 Red Hat Virtualization 环境中永久删除。这个操作只在正在运行的虚拟机中被支持。

重要

当您从镜像链中删除快照时,存储域中必须有足够的可用空间,以便暂时容纳原始卷和新合并的卷。否则,删除快照将失败,您将需要导出并重新导入卷来删除快照。这是因为在调整大小的卷中合并这两个卷的数据,大小会增大,以适应两个合并镜像的总大小。

  • 如果要删除的快照包含在基础镜像中,则后续包含要删除的快照的卷将扩展为包含基本卷。
  • 如果要删除的快照包含在 QCOW2(已调配)中,非基本镜像托管在内部存储上,则将扩展 successor 卷,使其包含包含要删除的快照的卷。

删除快照

  1. 单击 ComputeVirtual Machines
  2. 单击虚拟机的名称,以转至详情视图。
  3. 单击 Snapshots 选项卡,以列出该虚拟机的快照。
  4. 选择要删除的快照。
  5. 点击 Delete
  6. 点击 确定
注意

如果删除失败,请修复底层问题(例如:失败的主机、无法访问的存储设备或临时网络问题),然后重试。

6.10. 主机设备

6.10.1. 将主机设备添加到虚拟机

如果已经为直接设备分配配置了兼容主机,则可以将虚拟机直接连接到主机设备以提高性能。主机设备是物理插入主机的设备,包括 SCSI(如磁带、磁盘、更改器)、PCI(如 NIC、GPU 和 HBA)和 USB(如鼠标、相机和磁盘)。

在虚拟机中添加主机设备

  1. 单击 ComputeVirtual Machines
  2. 点虚拟机的名称进入详情视图。
  3. 单击 Host Devices 选项卡,以列出已附加到此虚拟机的主机设备。

    虚拟机只能有从同一主机附加的设备。如果虚拟机已经从一个主机连接了设备,并且从另一个主机附加设备,将自动删除上一主机中的附加设备。

    将主机设备附加到虚拟机需要虚拟机处于 Down 状态。如果虚拟机正在运行,则更改在虚拟机关闭后才会生效。

  4. Add device 打开 Add Host Devices 窗口。
  5. 使用 Pinned Host 下拉菜单选择主机。
  6. 使用 Capability 下拉菜单列出 pciscsiusb_device 主机设备。
  7. Available Host Devices 窗格选择要附加到虚拟机的设备复选框,然后单击双向箭头按钮将这些设备传送到 Host Devices to be attached 区域,创建要附加到虚拟机的设备列表。
  8. 将所有所需的主机设备都被传递到 Host Devices to be attached 区域,点 OK 以将这些设备附加到虚拟机并关闭窗口。

当虚拟机下次开机时,这些主机设备将附加到虚拟机。

6.10.2. 从虚拟机中删除主机设备

如果您要删除直接附加到虚拟机的所有主机设备,以便从其他主机中添加设备,您可以从所需的主机中添加设备,这将自动删除所有已附加到虚拟机的设备。

流程

  1. 单击 ComputeVirtual Machines
  2. 选择要进入详情视图的虚拟机。
  3. 单击 Host Devices 选项卡,以列出附加到虚拟机的主机设备。
  4. 选择要从虚拟机分离的主机设备,或者按住 Ctrl 以选择多个设备,点 Remove device 打开 Remove Host Device(s) 窗口。
  5. 单击 OK,以确认这些设备并从虚拟机中分离。

6.10.3. 将虚拟机固定到另一主机

您可以使用虚拟机的详情视图中的主机设备选项卡将其固定到特定的主机上。

如果虚拟机上附加了任何主机设备,将它固定到另一台主机会自动从虚拟机中删除主机设备。

将虚拟机固定到主机

  1. 单击虚拟机名称,然后单击 主机设备 选项卡。
  2. 固定到另一台主机 打开 Pin VM to Host 窗口。
  3. 使用 Host 下拉菜单选择主机。
  4. OK,将虚拟机固定到所选主机。

6.11. 关联性组

关联组可帮助您确定所选虚拟机互相运行的位置,以及指定的主机。此功能有助于管理工作负载场景,如许可要求、高可用性工作负载和灾难恢复。

VM 关联性规则

创建关联性组时,您可以选择属于该组的虚拟机。要定义这些虚拟机可以相互关联的运行位置,您可以启用 VM Affinity 规则 :正规则尝试在单个主机上运行虚拟机;负关联性规则尝试在单独的主机上运行虚拟机。如果无法实现该规则,则结果取决于是否启用了 weight 或 filter 模块。

主机关联性规则

您可以选择将主机添加到 affinity 组。要定义组中的虚拟机可以相对于组中的主机运行的位置,您可以启用主机关联性规则:正规则尝试在关联性组的主机上运行虚拟机;负关联性规则尝试在不属于关联性组中的主机上运行虚拟机。如果无法实现该规则,则结果取决于是否启用了 weight 或 filter 模块。

默认每周模块

默认情况下,这两个规则在集群的调度策略中应用 weight 模块。使用 weight 模块时,调度程序会尝试履行规则,但允许 affinity 组中的虚拟机在无法满足该规则的情况下运行。

例如,启用了正 VM Affinity Rule 和 weight 模块后,调度程序会尝试在单一主机上运行关联性组的所有虚拟机。但是,如果单个主机没有足够的资源用于此目的,调度程序会在多个主机上运行虚拟机。

要使此模块正常工作,调度策略的 weight 模块 部分必须包含 VmAffinityGroupsVmToHostsAffinityGroups 关键字。

强制选项和过滤器模块

这两个规则都有一个 强制 选项,可在集群的调度策略中应用 filter 模块。filter 模块覆盖 weight 模块。启用 filter 模块后,调度程序 要求 满足规则。如果无法执行规则,则 filter 模块将阻止 affinity 组中的虚拟机运行。

例如,启用了正 主机关联性规则强制 (启用 filter 模块)后,调度程序 要求 关联性组的虚拟机在属于关联组的主机上运行。但是,如果这些主机停机,调度程序根本不运行虚拟机。

要使此模块正常工作,调度策略的 filter 模块 部分必须包含 VmAffinityGroupsVmToHostsAffinityGroups 关键字。

例子

要了解如何将这些规则和选项相互一起使用,请参阅 第 6.11.4 节 “关联性组示例”

警告
  • 关联性标签 的功能与已启用正 主机关联性规则强制 的关联性组相同。
  • 要使关联性标签正常工作,调度策略的 filter 模块 部分必须包含 标签
  • 如果关联性组和关联性标签相互冲突,受影响的虚拟机就不会运行。要帮助防止、排除故障并解决冲突,请参阅 第 6.11.5 节 “关联性组故障排除”
重要

每个规则都受到集群调度策略中的 weight 和 filter 模块的影响。

  • 要使 VM Affinity Rule 规则 正常工作,调度策略必须在其 Weight 模块Filter 模块 部分包含 VmAffinityGroups 关键字。
  • 要使 Host Affinity Rule 正常工作,调度策略必须在其 Weight 模块Filter 模块部分包含 VmToHostsAffinityGroups 关键字。

如需更多信息,请参阅管理指南中的调度策略

注意
  • 关联性组应用到集群级别的虚拟机。将虚拟机从一个集群移动到另一个集群会将其从原始集群中的关联组移除。
  • 虚拟机不必重启,即可让关联组规则生效。

6.11.1. 创建关联性组

您可以在管理门户中创建新的关联性组。

创建关联性组

  1. 单击 ComputeVirtual Machines 并选择虚拟机。
  2. 单击虚拟机的名称,以转至详情视图。
  3. 单击 Affinity Groups 选项卡。
  4. 单击 New
  5. 输入 affinity 组的 NameDescription
  6. VM Affinity Rule 下拉列表中,选择 Positive 以应用正关联性或 关联性来应用负关联性。选择 Disable 来禁用关联性规则。
  7. 选中 Enforcing 复选框以应用硬强制,或者确保清除此复选框以应用软强制。
  8. 使用下拉列表选择要添加到关联性组的虚拟机。使用 +- 按钮来添加或删除其他虚拟机。
  9. 点击 确定

6.11.2. 编辑关联性组

编辑关联性组

  1. 单击 ComputeVirtual Machines 并选择虚拟机。
  2. 单击虚拟机的名称,以转至详情视图。
  3. 单击 Affinity Groups 选项卡。
  4. Edit
  5. VM Affinity Rule 下拉列表和强制 设置 复选框更改为首选值,然后使用 +- 按钮将虚拟机添加到关联性组或从关联性组中移除。
  6. 点击 确定

6.11.3. 删除关联性组

删除关联性组

  1. 单击 ComputeVirtual Machines 并选择虚拟机。
  2. 单击虚拟机的名称,以转至详情视图。
  3. 单击 Affinity Groups 选项卡。
  4. 单击 Remove
  5. 点击 确定

应用到该关联组成员的虚拟机的关联策略不再适用。

6.11.4. 关联性组示例

以下示例演示了如何使用本章中描述的关联性组能力的不同功能,将关联性规则应用于各种场景。

例 6.1. 高可用性

Dalia 是一家创业公司的一个 DevOps 工程师。要获得高可用性,特定系统的两个虚拟机应在集群任何位置的不同主机上运行。

Dalia 创建名为"高可用性"的关联性组,并执行以下操作:

  • 将两个虚拟机 VM01VM02 添加到 affinity 组。
  • VM 相关性 设置为 Negative,以便虚拟机尝试在单独的主机上运行。
  • 保留 Enforcing 没有被选择(代表禁用),以便在停机期间只有一台主机可用时两个虚拟机都可以继续运行。
  • Hosts 列表留空,以便虚拟机在集群中的任何主机上运行。

例 6.2. 性能

Sohni 是一款软件开发人员,每天使用两个虚拟机来构建和测试其软件。这两个虚拟机之间存在大量网络流量。在同一主机上运行机器可减少网络流量和网络延迟对构建和测试流程的影响。使用高度特定的主机(更快的 CPU、SSD 等等)可进一步加快此过程。

Sohni 创建名为"build and test"的关联性组,并执行以下操作:

  • VM01VM02 (构建和测试虚拟机)添加到 affinity 组。
  • 将高度特定的主机 host03host04host05 添加到 affinity 组。
  • VM affinity 设置为 Positive,以便虚拟机尝试在同一主机上运行,从而减少网络流量和延迟影响。
  • Host affinity 设置为 Positive,以便虚拟机尝试在高规格主机上运行并加快进程。
  • 保留两个规则的 Enforcing 都没有被选择(代表禁用),以便在高规格的主机不可用时虚拟机可以运行。

例 6.3. 许可证

软件资产经理 Bandile 帮助其组织遵守 3D 成像软件供应商的限制性许可要求。这些术语要求虚拟机许可服务器 VM-LS 和镜像工作站 VM-WS# 在同一主机上运行。此外,基于物理 CPU 的许可模型要求工作站在两个 GPU 的主机 host-gpu-primaryhost-gpu-backup 上运行。

为满足这些要求,Bandile 会创建一个名为"3D seismic imaging"的关联性组,并执行以下操作:

  • 将前面提到的虚拟机和主机添加到 affinity 组。
  • VM 关联性 设置为 Positive 并选择Enforcing,因此许可服务器和工作站必须在其中一个主机上运行,而不是在多个主机上共同运行。
  • 主机关联性设置为 Positive 并选择 Enforcing,因此虚拟机 必须在 GPU 的任一 GPU 上运行,而不是在群集中的其他主机上运行。

6.11.5. 关联性组故障排除

帮助防止与关联性组相关的问题

  • 规划和记录在使用关联性组时预期的场景和结果。
  • 验证并测试一系列条件下的结果。
  • 遵守变更管理最佳实践。
  • 仅在需要时使用 Enforcing 选项。

如果您观察到虚拟机未运行的问题

对于关联性标签和关联性组之间可能存在冲突

  • 一个 affinity 标签与具有 Host affinity rulePositive,且启用了 Enforcing 的关联组等效。
  • 了解如果关联性标签和关联性组相互冲突,则虚拟机的交集不会运行。
  • 确定是否存在冲突:

    • 检查集群的调度策略的 filter 模块 部分。它们必须包含 Label 关键字和 VmAffinityGroupsVmToHostsAffinityGroups 关键字。否则,无法发生冲突。( weight 模块 部分中存在 VmAffinityGroupsVmToHostsAffinityGroups 不重要,因为 filter 模块 部分中的 Label 会覆盖它们。)
    • 检查关联性组。它们必须包含已启用 强制 的规则。否则,无法发生冲突。
  • 如果冲突存在,请识别可能涉及的虚拟机集合:

    • 检查关联性标签和组。在启用 强制 选项的情况下,创建属于关联性标签关联性组的虚拟机列表。
    • 对于此交集中的每个主机和虚拟机,分析发生潜在冲突的条件。
  • 确定实际未运行的虚拟机是否与分析中的虚拟机匹配。
  • 最后,重组关联性组和关联性标签,以帮助避免意外冲突。
  • 验证任何更改是否在一系列条件下产生预期的结果。
  • 如果您有重叠的关联组和关联性标签,可以更轻松地将它们从一个位置查看为关联性组。考虑将关联性标签转换为等同的关联性组,它的 Host affinity rulePositive 并启用了 Enforcing

6.12. 关联性标签

您可以在管理门户中创建和修改关联性标签。

关联性标签用于在虚拟机和主机之间设置硬链接(Enforced)有关关联性硬链接和策略的更多信息,请参阅 Affinity Groups 部分。

标签功能与硬正关联组的作用相同,但简化了某些用例的配置。例如,如果您的虚拟机需要特定的主机硬件,您可以使用关联性标签来确保这些虚拟机在所需的主机上运行。如果您使用受许可证限制为特定数量物理机的软件,您可以使用关联性标签来确保运行该软件的虚拟机仅限于所需的物理主机。

警告

关联性标签是关联性组的子集,并可与关联性组冲突。如果存在冲突,虚拟机将不会启动。

6.12.1. 创建关联性标签

您可以从虚拟机、主机或集群的详情视图创建关联性标签。此流程使用集群详情视图。

创建关联性标签

  1. 单击 ComputeClusters,再选择适当的集群。
  2. 点击集群的名称进入详情视图。
  3. 点击 Affinity Labels 选项卡。
  4. 单击 New
  5. 输入 affinity 标签的 Name
  6. 使用下拉列表选择要与标签关联的虚拟机和主机。使用 + 按钮添加额外的虚拟机和主机。
  7. 点击 确定

6.12.2. 编辑关联性标签

您可以从虚拟机、主机或集群的详情视图编辑关联性标签。此流程使用集群详情视图。

编辑关联性标签

  1. 单击 ComputeClusters,再选择适当的集群。
  2. 点击集群的名称进入详情视图。
  3. 点击 Affinity Labels 选项卡。
  4. 选择您要编辑的标签。
  5. Edit
  6. 使用 +- 按钮将虚拟机和主机添加到或从关联性标签中添加或删除。
  7. 点击 确定

6.12.3. 删除关联性标签

您只能从集群的详情视图中删除关联性标签。

删除关联性标签

  1. 单击 ComputeClusters,再选择适当的集群。
  2. 点击集群的名称进入详情视图。
  3. 点击 Affinity Labels 选项卡。
  4. 选择您要删除的标签。
  5. Edit
  6. 使用 - 按钮从标签中删除所有虚拟机和主机。
  7. 点击 确定
  8. 点击 Delete
  9. 点击 确定

6.13. 导出和导入虚拟机和模板

注意

导出存储域已弃用。存储数据域可以从数据中心取消附加,并导入到同一环境中或不同环境中的其他数据中心。然后,可以将虚拟机、浮动虚拟磁盘和模板从导入的存储域上传到所连接的数据中心。有关 导入存储域 的信息,请参阅 Red Hat Virtualization 管理指南中的导入现有存储域部分。

您可以将虚拟机和模板从相同或不同的 Red Hat Virtualization 环境中的数据中心导出并导入到该数据中心。您可以使用导出域、数据域或使用 Red Hat Virtualization 主机导出或导入虚拟机。

当您导出或导入虚拟机或模板时,属性会保留该虚拟机或模板的名称和描述、资源分配和高可用性设置等基本详情。

虚拟机和模板的权限和用户角色包含在 OVF 文件中,这样当存储域从一个数据中心分离并附加到另一个数据中心时,可以使用其原始权限和用户角色导入虚拟机和模板。要成功注册权限,与虚拟机或模板的权限相关的用户和角色必须在注册过程之前存在于数据中心中。

您还可以使用 V2V 功能从其他虚拟化提供程序(如 RHEL 5 Xen 或 VMware)导入虚拟机或导入 Windows 虚拟机。V2V 转换虚拟机,以便它们可以由 Red Hat Virtualization 托管。有关安装和使用 V2V 的更多信息,请参阅使用 virt-v2v 将其他管理程序中的虚拟机转换为 KVM

重要

在导出或导入之前,必须关闭虚拟机。

6.13.1. 将虚拟机导出到导出域

将虚拟机导出到导出域,以便将其导入到其他数据中心。开始之前,必须先将导出域连接到包含要导出的虚拟机的数据中心。

警告

在导出之前,必须关闭虚拟机。

将虚拟机导出到导出域

  1. 单击 ComputeVirtual Machines 并选择虚拟机。
  2. 点击 More Actions ( moreactions ),然后点 Export to Export Domain
  3. 另外,还可在 Export Virtual Machine 窗口中选择以下复选框:

    • force Override :覆盖导出域中虚拟机的现有镜像。
    • 折叠快照 :为每个磁盘创建一个单一的导出卷。此选项删除快照恢复点并在基于模板的虚拟机中包含模板,并删除虚拟机在模板上具有的任何依赖项。对于依赖于模板的虚拟机,请选择此选项,使用虚拟机导出模板,或者确保目标数据中心中存在该模板。

      注意

      当点 ComputeTemplates 并点 New VM 从模板创建虚拟机时,您会在 Resource Allocation 标签页的 Storage Allocation 部分中看到两个存储分配选项:

      • 如果选择了 Clone,虚拟机不依赖于模板。该模板不必存在于目标数据中心。
      • 如果选择了 Thin,虚拟机依赖于模板,因此模板必须存在于目标数据中心中,或者通过虚拟机导出。或者,选择 Collapse Snapshots 复选框,将模板磁盘和虚拟磁盘折叠到单个磁盘中。

      要检查所选的选项,请点击虚拟机的名称,然后点击详情视图中的 General 选项卡。

  4. 点击 确定

虚拟机的导出开始。在导出时,虚拟机将显示在 ComputeVirtual Machines 中,其状态为镜像锁定。根据您的虚拟机硬盘镜像和您的存储硬件的大小,这可能需要长达一小时。单击 Events 选项卡以查看进度。完成后,虚拟机已导出到导出域,并显示在导出域详细信息视图的 VM Import 选项卡中。

6.13.2. 将虚拟机导出到数据域

您可以将虚拟机导出到一个数据域,以执行以下任一操作:

  • 迁移虚拟机或者将其克隆迁移到另一个数据中心。
  • 将虚拟机的克隆存储为备份。
警告

您无法导出正在运行的虚拟机。在导出虚拟机之前关闭虚拟机。

前提条件

数据域附加到数据中心。

流程

  1. 单击 ComputeVirtual Machines 并选择虚拟机。
  2. Disks 选项卡。
  3. 选择属于虚拟机的所有磁盘。
  4. More Actions ( moreactions ),然后点 Move
  5. Target 下,选择域。
  6. 点击 确定

磁盘迁移到新域。

注意

当您从一种类型的数据域移动磁盘时,磁盘格式会相应地更改。例如,如果磁盘位于 NFS 数据域中,并且它采用稀疏格式,那么如果您将磁盘移动到 iSCSI 域,其格式会更改为预分配。这与使用导出域不同,因为导出域是 NFS。

6.13.3. 从导出域导入虚拟机

在导出域中有一个虚拟机。在虚拟机导入新数据中心之前,必须将导出域附加到目标数据中心。

将虚拟机导入到目标数据中心

  1. 单击 StorageDomains,然后选择导出域。导出域的状态必须为 Active
  2. 单击导出域的名称,以转至详细信息视图。
  3. 单击 VM Import 选项卡,以列出要导入的可用虚拟机。
  4. 选择要导入的一个或多个虚拟机,然后单击 Import
  5. 选择 Target Cluster
  6. 选择 Collapse Snapshots 复选框来删除快照恢复点,并在基于模板的虚拟机中包含模板。
  7. 点击要导入的虚拟机,再单击 Disks 子选项卡。在此选项卡中,您可以使用分配策略存储域下拉列表来选择虚拟机所使用的磁盘是精简配置还是预分配,也可以选择要在其上存储磁盘的存储域。也会显示一个图标,以指示要导入的磁盘用作该虚拟机的启动磁盘。
  8. 单击 OK 以导入虚拟机。

    如果虚拟化环境中存在虚拟机,则会打开 Import Virtual Machine Conflict 窗口。

    选择以下单选按钮之一:

    • 不要导入
    • 导入为克隆,并在 New Name 字段中输入虚拟机的唯一名称。
  9. (可选)选中 Apply to all 复选框以导入具有相同后缀的所有复制虚拟机,然后在 Suffix 中输入后缀以添加到克隆的虚拟机 字段中。
  10. 点击 确定
重要

在单个导入操作中,您只能导入共享相同架构的虚拟机。如果要导入的任何虚拟机具有与要导入的其他虚拟机的架构不同的架构,则会显示警告信息,系统会提示您更改您的选择,以便仅导入具有相同架构的虚拟机。

6.13.4. 从 VMware 提供程序导入虚拟机

将虚拟机从 VMware vCenter 提供程序导入到 Red Hat Virtualization 环境中。您可以在每次导入操作过程中输入 Import Virtual Machine(s) 窗口中的详细信息,或者将 VMware 供应商添加为外部供应商,并在导入操作过程中选择预配置的供应商,从 VMware 供应商导入。要添加外部提供程序,请参阅将 VMware 实例添加为虚拟机提供程序

Red Hat Virtualization 使用 V2V 来导入 VMware 虚拟机。对于 OVA 文件,Red Hat Virtualization 支持的唯一磁盘格式是 VMDK。

virt-v2v 软件包必须至少安装在一个主机上(在此流程中称为代理主机)。默认情况下,virt-v2v 软件包在 Red Hat Virtualization 主机(RHVH)上可用,并在 Red Hat Enterprise Linux 主机上作为 VDSM 的依赖性安装在 Red Hat Virtualization 环境中。Red Hat Enterprise Linux 主机必须是 Red Hat Enterprise Linux 7.2 或更高版本。

注意

virt-v2v 软件包在 ppc64le 架构中不可用,且这些主机不能用作代理主机。

警告

必须先关闭虚拟机,然后才能导入。在导入过程中通过 VMware 启动虚拟机可能会导致数据崩溃。

重要

导入操作只能包含共享相同架构的虚拟机。如果要导入的任何虚拟机都具有不同的架构,系统会显示警告,并提示您更改您的选择,使其只包含具有相同架构的虚拟机。

注意

如果导入失败,请参考 /var/log/vdsm/import/ 中的相关日志文件,详情请参阅代理主机上的 /var/log/vdsm/vdsm.log

从 VMware 导入虚拟机

  1. 单击 ComputeVirtual Machines
  2. More Actions ( moreactions ),然后点 Import 以打开 Import Virtual Machine(s) 窗口。
  3. Source 列表中选择 VMware
  4. 如果您已将 VMware 提供程序配置为外部提供程序,请从 External Provider 列表中选择它。验证提供程序凭据是否正确。如果您在配置外部供应商时没有指定目标数据中心或代理主机,请立即选择这些选项。
  5. 如果您尚未配置 VMware 供应商,或想要从新的 VMware 供应商导入,请提供以下详情:

    1. 从可用虚拟机的数据中心列表中选择。
    2. vCenter 字段中输入 VMware vCenter 实例的 IP 地址或完全限定域名。
    3. ESXi 字段中输入要从中导入虚拟机的主机的 IP 地址或全限定域名。
    4. Data Center 字段中输入数据中心的名称,以及指定 ESXi 主机所在的集群。
    5. 如果您已在 ESXi 主机和管理器之间交换 SSL 证书,请保留检查验证服务器的 SSL 证书以验证 ESXi 主机的证书。如果没有,请取消选中 选项。
    6. 为 VMware vCenter 实例输入 UsernamePassword。用户必须有权访问包含虚拟机的 VMware 数据中心和 ESXi 主机。
    7. 在已安装 virt-v2v 的选定数据中心中选择一个主机,以便在虚拟机导入操作期间充当 Proxy 主机。此主机还必须能够连接到 VMware vCenter 外部供应商的网络。
  6. 单击 Load,以列出 VMware 提供程序上可以导入的虚拟机。
  7. Source 上的 Virtual Machines 列表中选择一个或多个虚拟机,并使用箭头将它们移到 Virtual Machines to Import 列表中。点 Next

    注意

    如果虚拟机的网络设备使用驱动程序类型 e1000 或 rtl8139,虚拟机将在导入 Red Hat Virtualization 后使用相同的驱动程序类型。

    如果需要,您可以在导入后将驱动程序类型手动更改为 VirtIO。要在导入虚拟机后更改驱动程序类型,请参阅 第 5.2.2 节 “编辑网络接口”。如果网络设备使用 e1000 或 rtl8139 以外的驱动程序类型,则导入期间驱动程序类型会自动更改为 VirtIO。Attach VirtIO-drivers 选项允许将 VirtIO 驱动程序注入导入的虚拟机文件中,以便在驱动程序更改为 VirtIO 时,操作系统可以正确地检测到该设备。

  8. 选择要驻留虚拟机的集群
  9. 为虚拟机选择一个 CPU 配置文件
  10. 选择 Collapse Snapshots 复选框来删除快照恢复点,并在基于模板的虚拟机中包含模板。
  11. 选中 Clone 复选框,以更改虚拟机名称和 MAC 地址,并克隆所有磁盘,同时删除所有快照。如果虚拟机在 System 列中显示带有警告符号的警告符号,或者 虚拟机在 System 列中具有粘滞号,则必须克隆虚拟机并更改其名称。
  12. 单击要导入的每个虚拟机,然后单击 Disks 子选项卡。使用 分配策略存储域列表选择虚拟机所使用的磁盘是精简配置还是预分配,然后选择要在其上存储该磁盘的存储域。也会显示一个图标,以指示要导入的磁盘用作该虚拟机的启动磁盘。
  13. 如果您选择了 克隆 复选框,请在 General 子选项卡中更改虚拟机的名称。
  14. 单击 OK 以导入虚拟机。

虚拟机的 CPU 类型必须与导入它的集群的 CPU 类型相同。在管理门户中查看集群的 CPU 类型

  1. 单击 ComputeClusters
  2. 选择一个集群。
  3. Edit
  4. 点击常规标签。

如果虚拟机的 CPU 类型不同,请配置导入的虚拟机的 CPU 类型:

  1. 单击 ComputeVirtual Machines
  2. 选择虚拟机。
  3. Edit
  4. 系统选项卡。
  5. 单击 Advanced Parameters 箭头。
  6. 指定 Custom CPU Type 并点击 OK

6.13.5. 将虚拟机导出到主机

您可以将虚拟机导出到特定路径,或者在 Red Hat Virtualization 数据中心的主机上挂载 NFS 共享存储。导出将生成开放式虚拟设备(OVA)包。

警告

在导出之前,必须关闭虚拟机。

将虚拟机导出到主机

  1. 单击 ComputeVirtual Machines 并选择虚拟机。
  2. 点击 More Actions ( moreactions ),然后点 Export to OVA
  3. Host 下拉列表中选择主机。
  4. Directory 字段中输入导出目录的绝对路径,包括尾部斜杠。例如: /images2/ova/
  5. (可选)更改名称字段中文件的默认 名称
  6. OK

导出的状态可以在 事件 选项卡中查看。

6.13.6. 从主机导入虚拟机

将开放式虚拟设备(OVA)文件导入到 Red Hat Virtualization 环境中。您可以从数据中心中的任何 Red Hat Virtualization 主机导入 文件。

重要

目前,只能导入 Red Hat Virtualization 和 VMware OVA。不支持 KVM 和 Xen。

导入过程使用 virt-v2v。只有运行与 virt-v2v 兼容操作系统的虚拟机才能成功导入。有关当前兼容操作系统列表,请参阅 https://access.redhat.com/articles/1351473

导入 OVA 文件

  1. 将 OVA 文件复制到集群中的一个主机,在文件系统位置(如 var/tmp )中。

    注意

    该位置可以是本地目录或远程 nfs 挂载,只要它有足够的空间并且可由 qemu 用户(UID 36)访问。

  2. 确保 OVA 文件具有对 qemu 用户(UID 36)和 kvm 组(GID 36)的读/写访问权限:

    # chown 36:36 path_to_OVA_file/file.OVA
  3. 单击 ComputeVirtual Machines
  4. More Actions ( moreactions ),然后点 Import 以打开 Import Virtual Machine(s) 窗口。

    1. Source 列表中选择 Virtual Appliance(OVA)
    2. Host 列表中选择主机。
    3. Path 字段中,指定 OVA 文件的绝对路径。
    4. 单击 Load,以列出要导入的虚拟机。
    5. Virtual Machines on Source 列表中选择虚拟机,然后使用箭头将其移到 Virtual Machines to Import 列表中。
  5. Next

    1. 为虚拟机选择 存储域
    2. 选择要驻留虚拟机的 Target Cluster
    3. 为虚拟机选择 CPU 配置文件
    4. 选择虚拟机的分配策略
    5. (可选)选中 Attach VirtIO-Drivers 复选框,然后在列表中选择相应的镜像来添加 VirtIO 驱动程序。
    6. 选择虚拟机的分配策略
    7. 选择虚拟机,并在 General 选项卡中选择 Operating System
    8. Network Interfaces 选项卡上,选择 Network NameProfile Name
    9. 单击 Disks 选项卡,以查看虚拟机的 AliasVirtual SizeActual Size
  6. 单击 OK 以导入虚拟机。

6.13.7. 从 RHEL 5 Xen 主机导入虚拟机

将虚拟机从 Red Hat Enterprise Linux 5 上的 Xen 导入到您的 Red Hat Virtualization 环境。Red Hat Virtualization 使用 V2V 导入 QCOW2 或原始虚拟机磁盘格式。

virt-v2v 软件包必须至少安装在一个主机上(在此流程中称为代理主机)。默认情况下,virt-v2v 软件包在 Red Hat Virtualization 主机(RHVH)上可用,并在 Red Hat Enterprise Linux 主机上作为 VDSM 的依赖性安装在 Red Hat Virtualization 环境中。Red Hat Enterprise Linux 主机必须是 Red Hat Enterprise Linux 7.2 或更高版本。

警告

如果您从 RHEL 5 Xen 主机导入 Windows 虚拟机,并且您正在使用 VirtIO 设备,请在导入虚拟机前安装 VirtIO 驱动程序。如果没有安装驱动程序,则虚拟机在导入后可能无法启动。

VirtIO 驱动程序可以从 virtio-win.isoRHV-toolsSetup_version.iso 进行安装。详情请查看 第 3.3.2 节 “在 Windows 上安装客户机代理、工具和驱动程序”

如果您不使用 VirtIO 驱动程序,请在首次启动前检查该虚拟机的配置,以确保未使用 VirtIO 设备。

注意

virt-v2v 软件包在 ppc64le 架构中不可用,且这些主机不能用作代理主机。

重要

导入操作只能包含共享相同架构的虚拟机。如果要导入的任何虚拟机都具有不同的架构,系统会显示警告,并提示您更改您的选择,使其只包含具有相同架构的虚拟机。

注意

如果导入失败,请参考 /var/log/vdsm/import/ 中的相关日志文件,详情请参阅代理主机上的 /var/log/vdsm/vdsm.log

从 RHEL 5 Xen 导入虚拟机

  1. 关闭虚拟机。在导入过程中通过 Xen 启动虚拟机可能会导致数据崩溃。
  2. 启用代理主机和 RHEL 5 Xen 主机之间的公钥身份验证:

    1. 登录代理主机,并为 vdsm 用户生成 SSH 密钥。

      # sudo -u vdsm ssh-keygen
    2. vdsm 用户的公钥复制到 RHEL 5 Xen 主机。

      # sudo -u vdsm ssh-copy-id root@xenhost.example.com
    3. 登录 RHEL 5 Xen 主机,以验证登录是否正常工作。

      # sudo -u vdsm ssh root@xenhost.example.com
  3. 登录管理门户。
  4. 单击 ComputeVirtual Machines
  5. More Actions ( moreactions ),然后点 Import 以打开 Import Virtual Machine(s) 窗口。
  6. 选择包含代理主机的数据中心
  7. Source 下拉菜单中选择 XEN (via RHEL)
  8. (可选)从下拉菜单中选择 RHEL 5 Xen External Provider。URI 将预先填充正确的 URI。如需更多信息,请参阅 管理指南中的将 RHEL 5 Xen 主机作为虚拟机提供程序添加
  9. 输入 RHEL 5 Xen 主机的 URI。预填充了所需格式;您必须将 <hostname> 替换为 RHEL 5 Xen 主机的主机名。
  10. Proxy Host 下拉列表中选择代理主机。
  11. 单击 Load 以列出可导入的 RHEL 5 Xen 主机上的虚拟机。
  12. Source 上的 Virtual Machines 列表中选择一个或多个虚拟机,并使用箭头将它们移到 Virtual Machines to Import 列表中。

    注意

    由于当前限制,含有块设备的 Xen 虚拟机不会显示在 Source 列表中的虚拟机中。它们必须手动导入。请参阅 从 RHEL 5 Xen 主机导入基于块的虚拟机

  13. Next
  14. 选择要驻留虚拟机的集群
  15. 为虚拟机选择一个 CPU 配置文件
  16. 使用 分配策略存储域列表选择虚拟机所使用的磁盘是精简配置还是预分配,然后选择要在其上存储该磁盘的存储域。

    注意

    目标存储域必须是基于文件的域。由于当前限制,指定基于块的域会导致 V2V 操作失败。

  17. 如果虚拟机显示在其名称旁边带有警告符号,或者在 System 列中有 VM 号,请选择 Clone 复选框以克隆虚拟机。

    注意

    克隆虚拟机会更改其名称和 MAC 地址,并克隆其所有磁盘,同时删除所有快照。

  18. 单击 OK 以导入虚拟机。

虚拟机的 CPU 类型必须与导入它的集群的 CPU 类型相同。在管理门户中查看集群的 CPU 类型

  1. 单击 ComputeClusters
  2. 选择一个集群。
  3. Edit
  4. 点击常规标签。

如果虚拟机的 CPU 类型不同,请配置导入的虚拟机的 CPU 类型:

  1. 单击 ComputeVirtual Machines
  2. 选择虚拟机。
  3. Edit
  4. 系统选项卡。
  5. 单击 Advanced Parameters 箭头。
  6. 指定 Custom CPU Type 并点击 OK

从 RHEL 5 Xen 主机导入基于块的虚拟机

  1. 启用代理主机和 RHEL 5 Xen 主机之间的公钥身份验证:

    1. 登录代理主机,并为 vdsm 用户生成 SSH 密钥。

      # sudo -u vdsm ssh-keygen
    2. vdsm 用户的公钥复制到 RHEL 5 Xen 主机。

      # sudo -u vdsm ssh-copy-id root@xenhost.example.com
    3. 登录 RHEL 5 Xen 主机,以验证登录是否正常工作。

      # sudo -u vdsm ssh root@xenhost.example.com
  2. 连接导出域。详情请参阅管理指南中的将现有导出域连接到数据中心
  3. 在代理主机上,从 RHEL 5 Xen 主机上复制虚拟机:

    # virt-v2v-copy-to-local -ic xen+ssh://root@xenhost.example.com vmname
  4. 将虚拟机转换为 libvirt XML,并将文件移动到您的导出域中:

    # virt-v2v -i libvirtxml vmname.xml -o rhev -of raw -os storage.example.com:/exportdomain
  5. 在管理门户中,单击 StorageDomains,单击导出域的名称,再单击详细信息视图中的 VM Import 选项卡,以验证虚拟机是否在导出域中。
  6. 将虚拟机导入到目标数据域。详情请查看 第 6.13.3 节 “从导出域导入虚拟机”

6.13.8. 从 KVM 主机导入虚拟机

将虚拟机从 KVM 导入到您的 Red Hat Virtualization 环境。Red Hat Virtualization 在导入前将 KVM 虚拟机转换为正确的格式。您必须启用 KVM 主机与目标数据中心中至少一个主机之间的公钥身份验证(此主机在以下流程中称为代理主机)。

警告

必须先关闭虚拟机,然后才能导入。在导入过程中通过 KVM 启动虚拟机可能会导致数据崩溃。

重要

导入操作只能包含共享相同架构的虚拟机。如果要导入的任何虚拟机都具有不同的架构,系统会显示警告,并提示您更改您的选择,使其只包含具有相同架构的虚拟机。

注意

如果导入失败,请参考 /var/log/vdsm/import/ 中的相关日志文件,详情请参阅代理主机上的 /var/log/vdsm/vdsm.log

从 KVM 导入虚拟机

  1. 启用代理主机和 KVM 主机之间的公钥身份验证:

    1. 登录代理主机,并为 vdsm 用户生成 SSH 密钥。

      # sudo -u vdsm ssh-keygen
    2. vdsm 用户的公钥复制到 KVM 主机。代理主机的 known_hosts 文件也会更新,以包含 KVM 主机的主机密钥。

      # sudo -u vdsm ssh-copy-id root@kvmhost.example.com
    3. 登录 KVM 主机,以验证登录是否正常工作。

      # sudo -u vdsm ssh root@kvmhost.example.com
  2. 登录管理门户。
  3. 单击 ComputeVirtual Machines
  4. More Actions ( moreactions ),然后点 Import 以打开 Import Virtual Machine(s) 窗口。
  5. 选择包含代理主机的数据中心
  6. Source 下拉菜单中选择 KVM (via Libvirt)
  7. (可选)从下拉列表中选择 KVM provider External Provider。URI 将预先填充正确的 URI。如需更多信息,请参阅管理指南中的将 KVM 主机添加为虚拟机提供程序
  8. 使用以下格式输入 KVM 主机的 URI

    qemu+ssh://root@kvmhost.example.com/system
  9. 保持选中 Requires Authentication 复选框。
  10. Username 字段中输入 root
  11. 输入 KVM 主机的 root 用户的密码.
  12. 从下拉列表中选择 Proxy Host
  13. 单击 Load,以列出可导入的 KVM 主机上的虚拟机。
  14. Source 上的 Virtual Machines 列表中选择一个或多个虚拟机,并使用箭头将它们移到 Virtual Machines to Import 列表中。
  15. Next
  16. 选择要驻留虚拟机的集群
  17. 为虚拟机选择一个 CPU 配置文件
  18. (可选)选中 Collapse Snapshots 复选框,以删除快照恢复点并在基于模板的虚拟机中包含模板。
  19. (可选)选中 Clone 复选框以更改虚拟机名称和 MAC 地址,并克隆所有磁盘,同时删除所有快照。如果虚拟机在 System 列中显示带有警告符号的警告符号,或者 虚拟机在 System 列中具有粘滞号,则必须克隆虚拟机并更改其名称。
  20. 单击要导入的每个虚拟机,然后单击 Disks 子选项卡。使用分配策略存储域列表选择虚拟机所使用的磁盘是精简配置还是预分配,然后选择要在其上存储该磁盘的存储域。也会显示一个图标,以指示要导入的磁盘用作该虚拟机的启动磁盘。如需更多信息,请参阅技术参考中的虚拟磁盘存储分配策略

    注意

    目标存储域必须是基于文件的域。由于当前限制,指定基于块的域会导致操作失败。

  21. 如果选择了 Clone 复选框,请在 General 选项卡中更改虚拟机的名称。
  22. 单击 OK 以导入虚拟机。

虚拟机的 CPU 类型必须与导入它的集群的 CPU 类型相同。在管理门户中查看集群的 CPU 类型

  1. 单击 ComputeClusters
  2. 选择一个集群。
  3. Edit
  4. 点击常规标签。

如果虚拟机的 CPU 类型不同,请配置导入的虚拟机的 CPU 类型:

  1. 单击 ComputeVirtual Machines
  2. 选择虚拟机。
  3. Edit
  4. 系统选项卡。
  5. 单击 Advanced Parameters 箭头。
  6. 指定 Custom CPU Type 并点击 OK

6.13.9. 导入 Red Hat KVM 客户机镜像

您可以导入红帽提供的 KVM 虚拟机镜像。此镜像是一个虚拟机快照,已安装了预配置的 Red Hat Enterprise Linux 实例。

您可以使用 cloud-init 工具配置此镜像,并使用它来调配新的虚拟机。这消除了安装和配置操作系统的需要,并提供随时可用的虚拟机。

导入 Red Hat KVM 客户机镜像

  1. 在 Product Software 选项卡中,从 Download Red Hat Enterprise Linux 列表中下载最新的 KVM 虚拟机镜像。
  2. 使用 Manager 或 REST API 上传虚拟机镜像。请参阅管理指南中的将磁盘镜像上传到存储域
  3. 创建新虚拟机,并将上传的磁盘镜像附加到其中。请参阅 第 2.1 节 “创建虚拟机”
  4. (可选)使用 cloud-init 配置虚拟机。详情请查看 第 7.8 节 “使用 Cloud-Init 自动配置虚拟机”
  5. (可选)从虚拟机创建模板。您可以从此模板生成新虚拟机。有关创建模板和从模板生成虚拟机的详情,请查看 第 7 章 模板

6.14. 在主机之间迁移虚拟机

实时迁移提供了在物理主机之间移动正在运行的虚拟机,而不会中断服务的功能。虚拟机重新定位到新的物理主机时,虚拟机仍保持开机状态,并且用户应用程序将继续运行。在后台,虚拟机的 RAM 从源主机复制到目标主机。不会更改存储和网络连接。

注意

使用 vGPU 的虚拟机无法迁移到其他主机。

6.14.1. 实时迁移前提条件

注意

这是显示如何在 Red Hat Virtualization 上设置和配置 SR-IOV 的一系列主题中的一个。如需更多信息,请参阅设置和配置 SR-IOV

您可以使用实时迁移无缝移动虚拟机,以支持多种常见的维护任务。您的 Red Hat Virtualization 环境必须正确配置,以便在使用实时迁移前很好地支持它。

要成功实时迁移虚拟机,至少必须满足以下先决条件:

  • 源和目标主机是同一集群的成员,确保它们之间的 CPU 兼容性。
注意

通常不建议在不同集群间实时迁移虚拟机。

  • 源和目标主机的状态为 Up
  • 源和目标主机对相同的虚拟网络和 VLAN 具有访问权限。
  • 源和目标主机对包含虚拟机的数据存储域具有访问权限。
  • 目标主机有足够的 CPU 容量来支持虚拟机的需求。
  • 目标主机具有足够的未使用 RAM,以支持虚拟机的需求。
  • 迁移的虚拟机没有设置 cache!=none 自定义属性。

实时迁移通过管理网络来执行,涉及在主机之间传输大量数据。并发迁移具有使管理网络饱和的可能性。为了获得最佳性能,红帽建议创建单独的逻辑网络来管理、存储、显示和虚拟机数据,以最大程度降低网络饱和风险。

使用 SR-IOV-Enabled vNIC 配置虚拟机以便在迁移过程中减少网络中断

直接连接到支持 SR-IOV 的主机 NIC 的虚拟功能(VF)的 vNIC 的虚拟机可以进一步配置,以减少实时迁移过程中的网络中断:

  • 确保目标主机具有可用的 VF。
  • 在 passthrough vNIC 的配置集中设置 PassthroughMigratable 选项。请参见管理指南中的在 vNIC 配置文件中启用 Passthrough
  • 为虚拟机的网络接口启用热插拔功能。
  • 确保虚拟机除了 passthrough vNIC 外还具有备份 VirtIO vNIC,以便在迁移期间维护虚拟机的网络连接。
  • 在配置绑定前,设置 VirtIO vNIC 的 No Network Filter 选项。请参阅管理指南中的虚拟机接口配置文件窗口中的设置说明
  • 将两个 vNIC 作为从设备添加到虚拟机上的 active-backup 绑定下,并将 passthrough vNIC 作为主接口。

    bond 和 vNIC 配置集可以有以下配置之一:

    • Recommended :绑定没有使用 fail_over_mac=active 配置,VF vNIC 是主从设备。

      禁用 VirtIO vNIC 配置集的 MAC-spoofing 过滤器,以确保通过 VirtIO vNIC vNIC 的流量不会丢弃,因为它使用了 VF vNIC MAC 地址。请参阅 RHEL 7 虚拟化部署和管理指南中的应用网络过滤器

    • 该绑定配置了 fail_over_mac=active

      此故障转移策略确保绑定的 MAC 地址始终是活跃的从设备的 MAC 地址。在故障转移期间,虚拟机的 MAC 地址会发生更改,流量略有中断。

6.14.2. 优化实时迁移

实时迁移可以是资源密集型操作。为环境中的每个虚拟机、集群级别或单独的虚拟机,可以全局设置以下两个选项,以优化实时迁移。

Auto Converge 迁移选项允许您设置在虚拟机实时迁移过程中是否使用自动协调。具有高负载的大型虚拟机可以比实时迁移过程中实现的传输率快得多,并防止迁移聚合。QEMU 中的自动聚合功能允许您强制进行虚拟机迁移。QEMU 自动检测缺乏聚合并触发虚拟机上 vCPU 节流。

通过 Enable migration 压缩选项,可以设置在虚拟机实时迁移过程中是否使用迁移压缩。此功能使用 Xor Binary Zero Run-Length-Encoding 以减少虚拟机停机时间,并减少了运行内存写入负载的虚拟机的实时迁移时间,或适用于具有稀疏内存更新模式的任何应用程序。

默认情况下,这两个选项都被禁用。

为虚拟机迁移配置自动协调和迁移压缩

  1. 在全局级别配置优化设置:

    1. 在全局级别启用自动协调:

      # engine-config -s DefaultAutoConvergence=True
    2. 在全局级别启用迁移压缩:

      # engine-config -s DefaultMigrationCompression=True
    3. 重启 ovirt-engine 服务以应用更改:

      # systemctl restart ovirt-engine.service
  2. 在集群级别配置优化设置:

    1. ComputeClusters 并选择集群。
    2. Edit
    3. Migration Policy 选项卡。
    4. Auto Converge 迁移列表中,选择 Inherit from global setting, Auto Converge, 或 Don’t Auto Converge
    5. Enable migration compression 列表中,选择 Inherit from global setting, Compress, 或 Don’t Compress
    6. 点击 确定
  3. 在虚拟机级别配置优化设置:

    1. 单击 ComputeVirtual Machines 并选择虚拟机。
    2. Edit
    3. 单击 主机 选项卡。
    4. Auto Converge 迁移列表中,选择 Inherit from cluster setting, Auto Converge, 或 Don’t Auto Converge
    5. Enable migration compression 列表中,选择 Inherit from cluster setting, Compress, 或 Don’t Compress
    6. 点击 确定

6.14.3. 客户机代理 Hook

Hook 是在发生关键事件时在虚拟机中触发活动的脚本:

  • 迁移前
  • 迁移后
  • 休眠前
  • 休眠后

hook 配置基础目录在 Linux 系统中为 /etc/ovirt-guest-agent/hooks.d,在 Windows 系统上为 C:\Program Files\Redhat\RHEV\Drivers\Agent

每个事件都有对应的子目录:pre_migrationafter_migrationpre_hibernationafter_hibernation。将执行该目录中的所有文件或符号链接。

Linux 系统上执行的用户是 ovirtagent。如果脚本需要 root 权限,则必须由 hook 脚本的创建者执行电梯。

在 Windows 系统上执行用户是 System Service 用户。

6.14.4. 自动虚拟机迁移

当主机进入维护模式时,Red Hat Virtualization Manager 会自动实时迁移主机上运行的所有虚拟机。每个虚拟机的目的地主机在迁移虚拟机时进行评估,以便在集群中分散负载。

从版本 4.3 中,当主机进入维护模式时,使用手动或自动迁移模式定义的所有虚拟机都会被迁移。但是,对于高性能和/或固定虚拟机,系统会显示维护主机窗口,要求您确认该操作,因为目标主机上的性能可能低于当前主机上的性能。

管理器会自动启动虚拟机的实时迁移,以根据调度策略保持负载平衡或省电级别。指定最适合您的环境需求的调度策略。您还可以根据需要禁用特定虚拟机的自动实时迁移,甚至手动实时迁移。

如果您的虚拟机配置了高性能,并且/或已固定(通过设置 Passthrough Host CPU、CPU Pinning 或 NUMA Pinning),则迁移模式被设置为只允许手动迁移。但是,如果需要,可将其改为 Allow Manual 和 Automatic 模式。在更改默认迁移设置时应特别注意,以便它不会导致虚拟机迁移到不支持高性能或固定功能的主机。

6.14.5. 防止虚拟机的自动迁移

Red Hat Virtualization Manager 允许您禁用虚拟机的自动迁移。您还可以通过将虚拟机设置为仅在特定主机上运行来禁用虚拟机的手动迁移。

使用应用程序高可用性产品(如红帽高可用性或集群套件)时,禁用自动迁移并需要虚拟机在特定主机上运行时很有用。

防止虚拟机的自动迁移

  1. 单击 ComputeVirtual Machines 并选择虚拟机。
  2. Edit
  3. 单击 主机 选项卡。
  4. Start Running On 部分中,选择 Any Host in ClusterSpecific Host(s),这可让您选择多个主机。

    警告

    对于 Red Hat Virtualization 高可用性,将虚拟机明确分配给特定主机和禁用迁移是互斥的。

    重要

    如果虚拟机上已直接附加了主机设备,并且指定了不同的主机,则之前主机中的主机设备将自动从虚拟机中删除。

  5. Migration Options 下拉列表中选择 Allow manual migration onlyDo not allow migration
  6. (可选)选择 Use custom migration downtime 复选框,并在毫秒中指定值。
  7. 点击 确定

6.14.6. 手动迁移虚拟机

运行的虚拟机可以实时迁移到其指定主机群集内的任意主机。虚拟机的实时迁移不会造成任何服务中断。如果特定主机上的负载过高,将虚拟机迁移到其他主机特别有用。有关实时迁移的先决条件,请参阅 第 6.14.1 节 “实时迁移前提条件”

对于使用 Pass-Through Host CPUCPU PinningNUMA Pinning 定义的高性能虚拟机和/或虚拟机,默认的迁移模式为 Manual选择 Select Host Automatically,以便虚拟机迁移到提供最佳性能的主机。

注意

当您将主机置于维护模式时,在该主机上运行的虚拟机会自动迁移到同一群集中的其他主机上。您不需要手动迁移这些虚拟机。

注意

通常不建议在不同集群间实时迁移虚拟机。目前唯一支持的用例请参考 https://access.redhat.com/articles/1390733

手动迁移虚拟机

  1. 单击 ComputeVirtual Machines 并选择正在运行的虚拟机。
  2. Migrate
  3. 使用单选按钮选择 Select Host Automatically,或选择 Select Destination Host 并在下拉列表中指定主机。

    注意

    选择 Select Host Automatically 选项后,系统会根据调度策略中设置的负载平衡和电源管理规则,确定将虚拟机迁移到哪一主机。

  4. 点击 确定

迁移过程中,迁移进度会在 迁移 进度栏中显示。迁移完成后,Host 列将更新以显示虚拟机已迁移到的主机。

6.14.7. 设置迁移优先级

Red Hat Virtualization Manager 为从给定主机迁移虚拟机的并发请求排队。负载平衡过程每分钟运行一次。在迁移事件完成后,已参与迁移事件的主机不会包含在迁移周期中。当队列中存在迁移请求以及集群中的可用主机时,会按照集群的负载平衡策略触发迁移事件。

您可以通过设置每个虚拟机的优先级来影响迁移队列的顺序;例如,设置关键任务虚拟机以在其他虚拟机之前迁移。迁移将按照优先级排序;优先级最高的虚拟机将首先迁移。

设置迁移优先级

  1. 单击 ComputeVirtual Machines 并选择虚拟机。
  2. Edit
  3. 选择 High Availability 选项卡。
  4. 优先级 下拉菜单中选择 LowMediumHigh
  5. 点击 确定

6.14.8. 取消持续虚拟机迁移

虚拟机迁移所需的时间比预期的要长。您希望确保所有虚拟机都在运行于何处,然后再对您的环境进行任何更改。

取消持续虚拟机迁移

  1. 选择迁移的虚拟机。它显示在 ComputeVirtual Machines 中,状态为 Migrating from
  2. 点击 More Actions ( moreactions ),然后点 Cancel Migration

Migrating from 返回的虚拟机的状态为 Up

6.14.9. 自动迁移高可用性虚拟服务器时的事件和日志通知

当由于高可用性功能自动迁移虚拟服务器时,自动迁移的详情会在 Events 标签页和引擎日志中记录,以帮助进行故障排除,如下例所示:

例 6.4. 在管理门户的事件选项卡中通知

高可用性 Virtual_Machine_Name 失败。它将自动重新启动。

Virtual_Machine_Name 在 Host Host_Name上重启

例 6.5. Manager engine.log 中的通知

此日志可在 Red Hat Virtualization Manager 的 /var/log/ovirt-engine/engine.log 中找到:

启动高可用性虚拟机失败。尝试重新启动。VM 名称: Virtual_Machine_Name, VM Id:_Virtual_Machine_ID_Number_

6.15. 在 Red Hat Virtualization 环境间迁移虚拟机

您可以使用数据域将虚拟机从一个 Red Hat Virtualization 环境迁移到另一个环境。在迁移虚拟机时,您可以使用实时存储迁移最小化停机时间。或者,您可以通过将数据域设置为备份模式来确保数据域上的所有虚拟机都已关机。

注意

虽然您可以在将虚拟机迁移到迁移数据域时使用实时存储迁移(如果无法使用实时迁移)来最大限度地减少停机时间,但如果您无法使用实时迁移数据,请在将虚拟机迁移到迁移数据域之前关闭您要迁移的虚拟机。

先决条件

  • 旧数据中心和新数据中心必须具有相同的版本。
  • 您有一个用于迁移的数据存储域,它足以保存需要移动的虚拟机。如果数据域不足以保存所有虚拟机,您可以将它们批量迁移。
  • (可选)迁移数据域设置为 backup 模式,以确保所有虚拟机都已关闭。有关更多信息,请参阅管理指南中的将数据存储域设置为备份域。如果使用这个选项,则无法使用实时迁移。
  • 您应该在旧存储域中使用相同类型的存储类型,即迁移存储域和目标存储域。例如,如果在旧存储域中使用 iSCSI,请在迁移存储域和新的存储域中使用 iSCSI。

流程

  1. 将虚拟机导出到迁移数据域。请参见管理指南中的移动虚拟磁盘

    警告

    对于具有多个磁盘的虚拟机,请确保迁移所有磁盘。

  2. 如果您还没有关闭虚拟机,请立即关闭它们。
  3. 将迁移数据域从旧数据中心迁移到新的数据中心。请参阅管理指南中的在不同环境的数据中心间迁移存储域

    重要

    不要选中 Ignore OVF 更新失败 复选框。存储域中的维护操作应该更新 OVF。

    旧存储域中不再提供虚拟机。

  4. 从迁移数据域导入虚拟机。请参阅管理指南中的导入虚拟机

    虚拟机现在已导入到新的 RHV 环境中。

  5. 如果可以使用实时迁移,或者您可以在迁移数据域上离开虚拟机,启动虚拟机。

    如果您不需要使用迁移数据域继续从旧环境中迁移虚拟机,您可以跳过以下步骤。

  6. 如果您需要使用迁移数据域继续传输虚拟机,请将虚拟磁盘从迁移数据域移动到新环境中附加的其他数据域。请参见管理指南中的移动虚拟磁盘

    警告

    对于具有多个磁盘的虚拟机,请确保迁移所有磁盘。

  7. 从新环境中断开迁移数据域,并将域重新连接到旧环境以重复该过程,直到所有虚拟机都迁移为止。

确保每个虚拟机的 OVF 已更新,以确保此进程也迁移虚拟机的配置和元数据,包括 vCPU、内存、时区和 MAC 地址。如需更多信息,请参阅管理指南中的更新 OVF

其他资源

6.16. 使用虚拟机高可用性改进正常运行时间

6.16.1. 什么是高可用性?

建议对运行关键工作负载的虚拟机使用高可用性。如果虚拟机的进程中断,则高可用性虚拟机会在原始主机上或集群中的另一主机上自动重启,例如在以下情况下:

  • 由于硬件故障,主机停止工作。
  • 主机因计划的停机时间而处于维护模式。
  • 主机变得不可用,因为它已丢失与外部存储资源的通信。

如果完全关闭,高可用性虚拟机不会重启,例如在以下情况下:

  • 虚拟机将从客户机内关闭。
  • 虚拟机将从 Manager 关闭。
  • 该主机由管理员关闭,而不必先置于维护模式。

对于 V4 或更高版本,虚拟机具有额外的功能,可以在存储上获得特殊卷的租用,使虚拟机能够在另一主机上启动,即使原始主机断电。该功能还阻止虚拟机在两个不同的主机上启动,这可能导致虚拟机磁盘损坏。

借助高可用性,服务中断将降至最低,因为虚拟机将在几秒内重新启动,无需用户干预。高可用性通过在当前资源利用率较低的主机上重新启动虚拟客户机,或者基于您配置的任何工作负载平衡或节能策略,保持资源的平衡。这可确保始终有足够的能力来重新启动虚拟机。

高可用性和存储 I/O 错误

如果发生存储 I/O 错误,则虚拟机将暂停。您可以在重新建立与存储域的连接后,定义主机如何处理高可用性虚拟机;它们可以恢复、非正常关闭或保持暂停。有关这些选项的详情请参考 第 A.1.6 节 “虚拟机高可用性设置说明”

6.16.2. 高可用性注意事项

高可用性主机需要电源管理设备和隔离参数。此外,要使虚拟机在主机不正常运行时高度可用,需要在集群中的另一个可用主机上启动虚拟机。启用高可用性虚拟机的迁移:

  • 必须为运行高可用性虚拟机的主机配置电源管理。
  • 运行高可用性虚拟机的主机必须是具有其他可用主机的集群的一部分。
  • 目标主机必须正在运行。
  • 源和目标主机都必须对包含虚拟机的数据域具有访问权限。
  • 源和目标主机必须有权访问相同的虚拟网络和 VLAN。
  • 目标主机上必须具有足够多的未使用的 CPU 以支持虚拟机的需求。
  • 目标主机上必须具有足够多的未使用的 RAM 以支持虚拟机的需求。

6.16.3. 配置高可用性虚拟机

必须为每个虚拟机单独配置高可用性。

配置高可用性虚拟机

  1. 单击 ComputeVirtual Machines 并选择虚拟机。
  2. Edit
  3. 单击 High Availability 选项卡。
  4. 选中 Highly Available 复选框,为虚拟机启用高可用性。
  5. Target Storage Domain for VM Lease 下拉列表中选择要存放虚拟机的存储域,或者选择 No VM Lease 来禁用功能。有关虚拟机租期的更多信息,请参阅 第 6.16.1 节 “什么是高可用性?”

    重要

    此功能仅适用于 V4 或更高版本的存储域。

  6. Resume Behavior 下拉列表中,选择 AUTO_RESUMELEAVE_PAUSEDKILL。如果您定义了虚拟机租用,KILL 是唯一可用的选项。如需更多信息,请参阅 第 A.1.6 节 “虚拟机高可用性设置说明”
  7. 优先级 下拉菜单中选择 LowMediumHigh。触发迁移时,会创建一个队列,其中首先迁移高优先级的虚拟机。如果集群在资源上运行较低,则只会迁移高优先级的虚拟机。
  8. 点击 确定

6.17. 其他虚拟机任务

6.17.1. 启用 SAP 监控

通过管理门户在虚拟机上启用 SAP 监控。

在虚拟机上启用 SAP 监控

  1. 单击 ComputeVirtual Machines 并选择虚拟机。
  2. Edit
  3. 单击 Custom Properties 选项卡。
  4. 从下拉列表中选择 sap_agent。确保第二个下拉菜单设为 True

    如果设置了上述属性,请选择加号来添加新属性规则,然后选择 sap_agent

  5. 点击 确定

6.17.2. 将 Red Hat Enterprise Linux 5.4 及更高版本的虚拟机配置为使用 SPICE

SPICE 是专为虚拟环境设计的远程显示协议,使您可以查看虚拟桌面或服务器。SPICE 提供高品质的用户体验,保持 CPU 消耗较低,并支持高质量的视频流。

在 Linux 计算机上使用 SPICE 可显著改善鼠标光标在虚拟机的控制台上的移动。要使用 SPICE,X-Windows 系统需要额外的 QXL 驱动程序。QXL 驱动程序随 Red Hat Enterprise Linux 5.4 及更高版本一同提供。不支持更早的版本。在运行 Red Hat Enterprise Linux 的虚拟机上安装 SPICE 可显著提高图形用户界面的性能。

注意

通常,这对用户需要使用图形用户界面的虚拟机最有用。如果要将图形用户界面的使用降至最低,则创建虚拟服务器的系统管理员可能不希望配置 SPICE。

6.17.2.1. 安装和配置 QXL 驱动程序

您必须在运行 Red Hat Enterprise Linux 5.4 或更高版本的虚拟机上手动安装 QXL 驱动程序。这对运行 Red Hat Enterprise Linux 6 或 Red Hat Enterprise Linux 7 的虚拟机来说是不必要的,因为默认安装了 QXL 驱动程序。

安装 QXL 驱动程序

  1. 登录到 Red Hat Enterprise Linux 虚拟机。
  2. 安装 QXL 驱动程序:

    # yum install xorg-x11-drv-qxl

您可以使用图形界面或命令行配置 QXL 驱动程序。只执行以下其中一个程序。

在 GNOME 中配置 QXL 驱动程序

  1. System
  2. 单击 Administration
  3. 单击 Display
  4. 单击 Hardware 选项卡。
  5. 单击 视频卡配置.
  6. 选择 qxl 并单击 OK
  7. 通过注销虚拟机并重新登录来重新启动 X-Windows。

在命令行中配置 QXL 驱动程序

  1. 备份 /etc/X11/xorg.conf

    # cp /etc/X11/xorg.conf /etc/X11/xorg.conf.$$.backup
  2. /etc/X11/xorg.conf 的 Device 部分进行以下更改:

    Section 	"Device"
    Identifier	"Videocard0"
    Driver		"qxl"
    Endsection

6.17.2.2. 配置虚拟机的表和鼠标以使用 SPICE

编辑 /etc/X11/xorg.conf 文件,为您的虚拟机的平板设备启用 SPICE。

配置虚拟机的表和鼠标以使用 SPICE

  1. 验证 tablet 设备是否在您的客户机中可用:

    # /sbin/lsusb -v | grep 'QEMU USB Tablet'
    If there is no output from the command, do not continue configuring the tablet.
  2. 备份 /etc/X11/xorg.conf

    # cp /etc/X11/xorg.conf /etc/X11/xorg.conf.$$.backup
  3. /etc/X11/xorg.conf 进行以下更改:

    Section "ServerLayout"
    Identifier     "single head configuration"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Tablet" "SendCoreEvents"
    InputDevice    "Mouse" "CorePointer"
    EndSection
    
    Section "InputDevice"
    Identifier  "Mouse"
    Driver      "void"
    #Option      "Device" "/dev/input/mice"
    #Option      "Emulate3Buttons" "yes"
    EndSection
    
    Section "InputDevice"
    Identifier  "Tablet"
    Driver      "evdev"
    Option      "Device" "/dev/input/event2"
    Option "CorePointer" "true"
    EndSection
  4. 注销,再重新登录虚拟机以重新启动 X-Windows。

6.17.3. KVM 虚拟机计时管理

虚拟化为保持虚拟机时间带来了各种挑战。使用时间戳计数器(TSC)作为时钟源的虚拟机可能会遇到计时问题,因为有些 CPU 没有恒定的时间戳计数器。在未准确计时的情况下运行虚拟机会严重影响某些网络应用程序,因为您的虚拟机运行速度将比实际时间快或慢。

KVM 通过为虚拟机提供半虚拟化时钟来解决此问题。KVM pvclock 为支持它的 KVM 客户机提供稳定的计时源。

目前,只有 Red Hat Enterprise Linux 5.4 及之后的版本虚拟机完全支持半虚拟化时钟。

虚拟机可能会因为时钟和计数器不准确而造成几个问题:

  • 时钟可能未与使会话无效并影响网络的实际时间保持同步。
  • 时钟较慢的虚拟机迁移可能会有问题。

这些问题存在于其他虚拟化平台上,应始终测试时间。

重要

网络时间协议(NTP)守护进程应在主机和虚拟机上运行。启用 ntpd 服务并将其添加到默认启动序列中:

  • 对于 Red Hat Enterprise Linux 6
# service ntpd start
# chkconfig ntpd on
  • For Red Hat Enterprise Linux 7
# systemctl start ntpd.service
# systemctl enable ntpd.service

在所有情形中,使用 ntpd 服务都应最大程度降低时钟偏移的影响。

您尝试使用的 NTP 服务器必须可运行,并可供您的主机和虚拟机访问。

确定您的 CPU 是否具有恒定时间戳计数器

如果存在 constant_tsc 标志,您的 CPU 有一个恒定的时间戳计数器。要确定您的 CPU 是否有 constant_tsc 标记,请运行以下命令:

$ cat /proc/cpuinfo | grep constant_tsc

如果给出了任何输出,您的 CPU 具有 constant_tsc 位。如果未提供任何输出,请遵循以下说明:

配置主机时没有恒定时间戳计数器

没有恒定时间戳计数器的系统需要额外的配置。电源管理功能会干扰准确的时间保存,必须禁用虚拟机才能准确与 KVM 保持时间。

重要

这些指令仅适用于 AMD 修订 F CPU。

如果 CPU 缺少 constant_tsc 位,请禁用所有电源管理功能(BZ#513138)。每个系统都使用多个计时器来保留时间。主机上 TSC 不稳定,有时是由 cpufreq 更改、深度 C 状态导致的,或者迁移到具有更快 TSC 的主机。C 深度睡眠状态可以停止 TSC。要防止使用深度 C 状态的内核,请将 processor.max_cstate=1 附加到主机上的 grub.conf 文件中的内核引导选项:

term Red Hat Enterprise Linux Server (2.6.18-159.el5)
        root (hd0,0)
	kernel /vmlinuz-2.6.18-159.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet processor.max_cstate=1

通过编辑 /etc/sysconfig/cpuspeed 配置文件并将 MIN_SPEEDMAX_SPEED 变量改为可用的最大频率,禁用 cpufreq (仅在没有 constant_tsc 的主机上需要)。有效限制可以在 /sys/devices/system/cpu/cpu/cpufreq/scaling_available_frequencies 文件中找到。

使用 engine-config 工具在主机不同步时接收警报。

您可以使用 engine-config 工具在主机不同步时配置警报。

主机上存在 2 个相关的时间偏移参数:EnableHostTimeDriftHostTimeDriftInSecEnableHostTimeDrift(默认值为 false)可以被启用来接收主机时间偏移的警报通知。HostTimeDriftInSec 参数用于设置警报开始前允许的最大偏移量。

每个主机每小时发送一次警报。

将半虚拟化时钟与 Red Hat Enterprise Linux 虚拟机搭配使用

对于某些 Red Hat Enterprise Linux 虚拟机,需要额外的内核参数。可以通过将参数附加到虚拟机的 /boot/grub/grub.conf 文件中的 /kernel 行的末尾来设置这些参数。

注意

可以使用 ktune 软件包自动执行内核参数配置过程

ktune 软件包提供交互式 Bourne shell 脚本 fix_clock_drift.sh。当以超级用户身份运行时,此脚本将检查各种系统参数,以确定在其上运行的虚拟机是否易受负载下时钟偏移的影响。如果是这样,它会在 /boot/grub/ 目录中创建新的 grub.conf.kvm 文件。此文件包含一个带有附加内核参数的内核引导行,允许内核考虑并防止 KVM 虚拟机上出现重大时钟偏差。在以超级用户身份运行 fix_clock_drift.sh 后,一旦脚本创建了 grub.conf.kvm 文件,系统管理员应手动备份虚拟机的当前 grub.conf 文件,并需要手动检查新的 grub.conf.kvm 以确保它除带有额外的引导参数外,与 grub.conf 完全相同,grub.conf.kvm 文件应最终被重命名为 grub.conf,虚拟机应被重新引导。

下表列出了 Red Hat Enterprise Linux 的版本以及没有恒定时间戳计数器的系统上虚拟机所需的参数。

Red Hat Enterprise Linux其他虚拟机内核参数

5.4 AMD64/Intel 64 带有半虚拟化时钟

不需要额外的参数

5.4 AMD64/Intel 64 没有半虚拟化时钟

notsc lpj=n

5.4 x86 带有半虚拟化时钟

不需要额外的参数

5.4 x86 没有半虚拟化时钟

clocksource=acpi_pm lpj=n

5.3 AMD64/Intel 64

notsc

5.3 x86

clocksource=acpi_pm

4.8 AMD64/Intel 64

notsc

4.8 x86

clock=pmtmr

3.9 AMD64/Intel 64

不需要额外的参数

3.9 x86

不需要额外的参数

第 7 章 模板

模板是虚拟机的副本,您可以使用它来简化后续类似虚拟机的重复创建。模板捕获软件配置、硬件配置以及模板所基于的虚拟机上安装的软件配置。基于模板的虚拟机称为源虚拟机。

基于虚拟机创建模板时,将创建虚拟机的磁盘只读副本。此只读磁盘成为新模板的基础磁盘映像,以及基于模板创建的任何虚拟机的磁盘镜像。因此,环境中存在基于模板创建的任何虚拟机时,无法删除该模板。

基于模板创建的虚拟机使用与原始虚拟机相同的 NIC 类型和驱动程序,但分配不同的 MAC 地址。

您可以通过 Compute模板以及 Compute虚拟机直接创建虚拟机。在 ComputeTemplates 中,选择所需的模板并单击 New VM。有关为新虚拟机选择设置和控制的详情请参考 第 A.1.1 节 “虚拟机常规设置说明”

7.1. 在准备部署作为模板封装虚拟机

这部分论述了封装 Linux 和 Windows 虚拟机的步骤。封装是在基于该虚拟机创建模板之前从虚拟机中删除所有系统特定详情的过程。封装的目的是防止在基于同一模板创建的多个虚拟机上显示相同的详细信息。还必须确保其他功能(如可预测的 vNIC 顺序)的功能。

7.1.1. 为将 Linux 虚拟机封装为模板

要在模板创建过程中封装 Linux 虚拟机,请在 New Template 窗口中选中 Seal Template 复选框。详情请查看 第 7.2 节 “创建模板”

注意

您无法根据 Red Hat Virtualization 4.3 中的 RHEL 8.0 虚拟机创建密封的虚拟机模板,因为有以下限制:

  • Red Hat Enterprise Linux 7 上的 libguestfs 工具不支持修改 Red Hat Enterprise Linux 8 磁盘镜像,因为 Red Hat Enterprise Linux 8 中添加了额外的 XFS 功能。
  • Red Hat Virtualization 4.3 不支持基于 Red Hat Enterprise Linux 8.0 的虚拟机监控程序

7.1.2. 为将 Windows 虚拟机封装为模板

为 Windows 虚拟机创建的模板必须经过规范(密封),然后才能用于部署虚拟机。这样可确保模板中不会再生成特定于机器的设置。

在使用之前,使用 sysprep 封装 Windows 模板。Sysprep 会生成一个完整的无人值守安装应答文件。多个 Windows 操作系统的默认值可在 /usr/share/ovirt-engine/conf/sysprep/ 目录中找到。这些文件充当 Sysprep 的模板。可以根据需要复制、粘贴和更改这些文件中的字段。此定义将覆盖 Edit Virtual Machine 窗口上 Initial Run 字段中输入的任何值。

可以编辑 Sysprep 文件,以影响从 Sysprep 文件所附加的模板中创建的 Windows 虚拟机的各个方面。这包括置备 Windows、设置所需的域成员资格、配置主机名和设置安全策略。

可以使用替换字符串替换 /usr/share/ovirt-engine/conf/sysprep/ 目录中默认文件中提供的值。例如 :"<Domain><![CDATA[$JoinDomain$]]></Domain>" 可以用来指示要加入的域。

7.1.2.1. 密封 Windows 虚拟机的先决条件

重要

请勿在 Sysprep 运行时重启虚拟机。

在启动 Sysprep 前,请验证是否已配置以下设置:

  • Windows 虚拟机参数已正确定义。
  • 如果没有,在 ComputeVirtual Machines 中点 Edit,然后在 Operating SystemCluster 字段中输入所需的信息。
  • 管理器上的覆盖文件中定义了正确的产品密钥。

覆盖文件必须在 /etc/ovirt-engine/osinfo.conf.d/ 下创建,其文件名将其放置在 /etc/ovirt-engine/osinfo.conf.d/00-defaults.properties 下,并以 .properties 结束。例如: /etc/ovirt-engine/osinfo.conf.d/10-productkeys.properties。最后一个文件将具有优先权并覆盖任何其他文件。

如果没有,请将 Windows 操作系统的默认值从 /etc/ovirt-engine/osinfo.conf.d/00-defaults.properties 复制到覆盖文件中,并在 productKey.valuesysprepPath.value 字段中输入您的值。

例 7.1. Windows 7 默认配置值

# Windows7(11, OsType.Windows, false),false
os.windows_7.id.value = 11
os.windows_7.name.value = Windows 7
os.windows_7.derivedFrom.value = windows_xp
os.windows_7.sysprepPath.value = ${ENGINE_USR}/conf/sysprep/sysprep.w7
os.windows_7.productKey.value =
os.windows_7.devices.audio.value = ich6
os.windows_7.devices.diskInterfaces.value.3.3 = IDE, VirtIO_SCSI, VirtIO
os.windows_7.devices.diskInterfaces.value.3.4 = IDE, VirtIO_SCSI, VirtIO
os.windows_7.devices.diskInterfaces.value.3.5 = IDE, VirtIO_SCSI, VirtIO
os.windows_7.isTimezoneTypeInteger.value = false

7.1.2.2. 将 Windows 7、Windows 2008 或 Windows 2012 虚拟机封装为模板

在创建用于部署虚拟机的模板之前,先密封 Windows 7、Windows 2008 或 Windows 2012 虚拟机。

封装 Windows 7、Windows 2008 或 Windows 2012 虚拟机以作为模板部署

  1. 在 Windows 虚拟机上,从 C:\Windows\System32\sysprep\sysprep\sysprep.exe 启动 Sysprep
  2. Sysprep 中输入以下信息:

    • System Cleanup Action 下,选择 Enter System Out-of-Experience(OOBE)
    • 如果需要更改计算机的系统标识号(SID),请选择 Generalize 复选框。
    • 关闭选项下,选择 Shutdown
  3. 单击 确定 以完成密封过程;虚拟机将在完成后自动关闭。

Windows 7、Windows 2008 或 Windows 2012 虚拟机已密封,准备好创建用于部署虚拟机的模板。

7.2. 创建模板

从现有虚拟机创建模板,以用作创建额外虚拟机的蓝图。

注意

您无法根据 Red Hat Virtualization 4.3 中的 RHEL 8.0 虚拟机创建密封的虚拟机模板,因为有以下限制:

  • Red Hat Enterprise Linux 7 上的 libguestfs 工具不支持修改 Red Hat Enterprise Linux 8 磁盘镜像,因为 Red Hat Enterprise Linux 8 中添加了额外的 XFS 功能。
  • Red Hat Virtualization 4.3 不支持基于 Red Hat Enterprise Linux 8.0 的虚拟机监控程序

在创建模板时,您可以指定要 raw 或 QCOW2 的磁盘格式:

  • QCOW2 磁盘已调配为精简。
  • 文件存储上的原始磁盘被精简置备。
  • 块存储上的原始磁盘已预先分配。

创建模板

  1. 单击 ComputeVirtual Machines,再选择源虚拟机。
  2. 确保虚拟机已关闭,状态为 Down
  3. 点击 More Actions ( moreactions ),然后点击 Make Template。有关 New Template 窗口中的所有字段的详情,请参阅 第 A.5 节 “New Template 窗口中的 Settings 说明”
  4. 输入模板的 NameDescriptionComment
  5. Cluster 下拉菜单中选择要将模板关联的集群。默认情况下,这与源虚拟机的相同。
  6. (可选)从 CPU Profile 下拉列表中为模板选择一个 CPU 配置集。
  7. (可选)选中 Create as a Template Sub-Version 复选框,选择 Root Template,再输入 Sub-Version Name,以创建新模板作为现有模板的子模板。
  8. Disks Allocation 部分中,在 Alias 文本字段中输入磁盘的别名。在 Format 下拉菜单中选择磁盘格式、要从 Target 下拉菜单中选择磁盘的存储域,并在 Disk Profile 下拉菜单中选择磁盘配置文件。默认情况下,它们与源虚拟机相同。
  9. 选中 Allow all users to access this Template 复选框,使模板变为公共模板。
  10. 选择 Copy VM permissions 复选框,将源虚拟机的权限复制到模板。
  11. 选中 Seal Template 复选框(Linux only)以封装模板。

    注意

    封装(使用 virt-sysprep 命令)可在基于该虚拟机创建模板之前从虚拟机中删除特定于系统的详细信息。这可以防止原始虚拟机的详细信息显示在使用同一模板创建的后续虚拟机中。它还确保了其他功能的功能,如可预测的 vNIC 顺序。如需更多信息,请参阅 附录 B, virt-sysprep 操作

  12. 点击 确定

创建模板时,虚拟机将显示镜像锁定状态。根据虚拟磁盘的大小和存储硬件的功能,创建模板的过程最多可能需要一小时。完成后,模板将添加到模板选项卡。现在,您可以基于模板创建新的虚拟机。

注意

创建模板时,将复制虚拟机,以便在创建模板后现有虚拟机及其模板都可用。

7.3. 编辑模板

创建模板后,可以编辑其属性。由于模板是虚拟机的副本,因此编辑模板时可用的选项与 Edit Virtual Machine 窗口中的选项相同。

编辑模板

  1. 单击 ComputeTemplates 并选择模板。
  2. Edit
  3. 更改必要的属性。单击 Show Advanced Options,再根据需要编辑模板的设置。Edit Template 窗口中出现的设置与 Edit Virtual Machine 窗口中出现的设置相同,但仅与相关字段相同。详情请查看 第 A.1 节 “新虚拟机和编辑虚拟机 Windows 中的设置说明”
  4. 点击 确定

7.4. 删除模板

如果您使用了模板来使用 thin provisioning 存储分配选项创建虚拟机,则无法删除模板,因为虚拟机需要它继续运行。但是,克隆的虚拟机不依赖于它们克隆的模板,并且可以删除模板。

删除模板

  1. 单击 ComputeTemplates 并选择模板。
  2. 单击 Remove
  3. 点击 确定

7.5. 导出模板

7.5.1. 将模板迁移到导出域

注意

导出存储域已弃用。存储数据域可以从数据中心取消附加,并导入到同一环境中或不同环境中的其他数据中心。然后,可以将虚拟机、浮动虚拟磁盘和模板从导入的存储域上传到所连接的数据中心。有关 导入存储域 的信息,请参阅 Red Hat Virtualization 管理指南中的导入现有存储域部分。

将模板导出到导出域中,以将其移动到其他数据域中,无论是在同一 Red Hat Virtualization 环境中,还是在另一个数据域中。此流程需要访问管理门户。

将单个模板导出到导出域

  1. 单击 ComputeTemplates 并选择模板。
  2. 单击 Export
  3. 选择 force Override 复选框,以替换导出域中任何较早版本的模板。
  4. 单击 OK 以开始导出模板;这最多可能需要一小时,具体取决于虚拟磁盘大小和您的存储硬件。

重复这些步骤,直到导出域包含要在导入过程开始之前要迁移的所有模板。

  1. 单击 StorageDomains,然后选择导出域。
  2. 点域名查看详情视图。
  3. 单击 Template Import 选项卡,以查看导出域中的所有导出模板。

7.5.2. 复制模板的虚拟硬盘

如果要将从选择精简调配存储分配选项的模板创建的虚拟机移动,该模板的磁盘必须复制到与虚拟磁盘相同的存储域中。此流程需要访问管理门户。

复制虚拟硬盘

  1. StorageDisks
  2. 选择要复制的模板磁盘。
  3. 单击 Copy
  4. 从下拉列表中选择 Target 数据域。
  5. 点击 确定

模板的虚拟硬盘的副本已创建,可以是在同一或另一个存储域上。如果您正在复制模板磁盘以准备移动虚拟硬盘,您现在可以移动虚拟硬盘。

7.6. 导入模板

7.6.1. 将模板导入到数据中心

注意

导出存储域已弃用。存储数据域可以从数据中心取消附加,并导入到同一环境中或不同环境中的其他数据中心。然后,可以将虚拟机、浮动虚拟磁盘和模板从导入的存储域上传到所连接的数据中心。有关 导入存储域 的信息,请参阅 Red Hat Virtualization 管理指南中的导入现有存储域部分。

从新连接的导出域导入模板。此流程需要访问管理门户。

将模板导入到数据中心

  1. 单击 StorageDomains,再选择新连接的导出域。
  2. 单击域名,以进入详情视图。
  3. 单击 Template Import 选项卡,然后选择模板。
  4. Import
  5. 使用下拉列表选择 Target ClusterCPU Profile
  6. 选择模板以查看其详细信息,然后单击 Disks 选项卡,然后选择要将模板导入到的 存储域
  7. 点击 确定
  8. 如果显示 Import Template Conflict 窗口,请为模板输入 New Name,或者选择 Apply to all 复选框并输入要添加到克隆的模板的后缀。点击 确定
  9. 单击 Close

模板导入到目标数据中心。这最多可能需要一小时,具体取决于您的存储硬件。您可以在 Events 选项卡中查看导入进度。

导入过程完成后,这些模板将在 计算模板 中看到。模板可以创建新的虚拟机,或基于该模板运行现有的导入虚拟机。

7.6.2. 以模板形式从 OpenStack 镜像服务导入虚拟磁盘

如果 OpenStack 镜像服务作为外部提供程序添加到管理器中,则由 OpenStack Image Service 管理的虚拟磁盘可以导入到 Red Hat Virtualization Manager 中。此流程需要访问管理门户。

  1. 单击 StorageDomains,再选择 OpenStack Image Service 域。
  2. 单击 storage 域名,以进入详情视图。
  3. 单击镜像选项卡,再选择要导入的镜像。
  4. Import

    注意

    如果您从 Glance 存储域导入镜像,您可以选择指定模板名称。

  5. 选择要将虚拟磁盘导入到的数据中心
  6. Domain Name 下拉列表中,选择存储虚拟磁盘的存储域。
  7. (可选)选择要应用到虚拟磁盘的配额
  8. 选中 Import as Template 复选框。
  9. 选择将虚拟磁盘作为模板可用的集群
  10. 点击 确定

该镜像作为模板导入,显示在 Templates 选项卡中。现在,您可以基于模板创建虚拟机。

7.7. 模板和权限

7.7.1. 管理系统模板的系统权限

作为 SuperUser,系统管理员可以管理管理门户的所有方面。可以为其他用户分配更具体的管理角色。这些受限管理员角色可用于授予用户管理特权,以限制它们仅具有特定资源。例如,DataCenterAdmin 角色仅对分配的数据中心具有管理员特权,但该数据中心的存储除外,ClusterAdmin 则仅对分配的群集具有管理员特权。

模板管理员是数据中心中模板的系统管理角色。此角色可应用于特定的虚拟机、数据中心或整个虚拟化环境;这对于允许不同的用户管理某些虚拟资源非常有用。

模板管理员角色允许执行以下操作:

  • 创建、编辑、导出和删除关联的模板。
  • 导入和导出模板。
注意

您只能将角色和权限分配给现有用户。

7.7.2. 模板管理员角色已说明

下表描述了适用于模板管理的管理员角色和特权。

表 7.1. Red Hat Virtualization 系统管理员角色

角色权限备注

TemplateAdmin

可以在模板上执行所有操作.

具有在域之间创建、删除和配置模板的存储域和网络详细信息的特权。

NetworkAdmin

网络管理员

可以配置和管理附加到模板的网络。

7.7.3. 将管理员或用户角色分配给资源

将管理员或用户角色分配到资源,以允许用户访问或管理该资源。

将角色分配到一个资源

  1. 使用资源选项卡、树形模式或搜索功能在结果列表中查找和选择资源。
  2. 单击资源的名称,以转至详情视图。
  3. 单击 Permissions 选项卡,以列出分配的用户、用户的角色以及所选资源的继承权限。
  4. 点击 Add
  5. 搜索文本框中输入现有用户的名称或用户名,然后单击 Go。从生成的可能匹配项列表中选择用户。
  6. Role to Assign: 下拉列表中选择一个角色。
  7. 点击 确定

您已将角色分配给用户;现在,该用户已为该资源启用了该角色的继承权限。

7.7.4. 从资源中删除管理员或用户角色

从资源中删除管理员或用户角色;用户丢失与该资源的角色关联的继承权限。

从资源中删除角色

  1. 使用资源选项卡、树形模式或搜索功能在结果列表中查找和选择资源。
  2. 单击资源的名称,以转至详情视图。
  3. 单击 Permissions 选项卡,以列出分配的用户、用户的角色以及所选资源的继承权限。
  4. 选择要从资源中删除的用户。
  5. 单击 RemoveRemove Permission 窗口将打开以确认删除权限。
  6. 点击 确定

您已从资源中删除了用户的角色和关联的权限。

7.8. 使用 Cloud-Init 自动配置虚拟机

Cloud-Init 是自动化虚拟机的初始设置(如配置主机名、网络接口和授权密钥)的工具。在调配基于模板部署的虚拟机时,可以使用它,以避免网络上冲突。

要使用此工具,必须先在虚拟机上安装 cloud-init 软件包。安装后,Cloud-Init 服务将在引导过程中启动,以搜索有关配置对象的指令。然后,您可以使用 Run Once 窗口中的选项仅提供这些指令一次,或者使用 New Virtual MachineEdit Virtual MachineEdit Template 窗口中的选项在每次虚拟机启动时提供这些指令。

注意

或者,您可以使用 Ansible, Python, Java, 或 Ruby 配置 Cloud-Init

7.8.1. Cloud-Init 用例

Cloud-Init 可用于在各种情况下自动执行虚拟机配置。以下是几个常见情况:

  • 基于模板创建的虚拟机

    您可以使用 Run Once 窗口的 Initial Run 部分中的 Cloud-Init 选项来初始化基于模板创建的虚拟机。这样,您可以在虚拟机首次启动时自定义虚拟机。

  • 虚拟机模板

    您可以使用 Edit Template 窗口的 Initial Run 选项卡中的 Use Cloud-Init/Sysprep 选项来指定用于自定义基于该模板创建的虚拟机的选项。

  • 虚拟机池

    您可以使用 新建池 窗口上 Initial Run 选项卡中的 Use Cloud-Init/Sysprep 选项指定自定义从该虚拟机池中获取的虚拟机的选项。这样,您可以指定一组标准设置,每次从该虚拟机池中获取虚拟机时都将应用这些设置。您可以继承或覆盖为虚拟机所基于的模板指定的选项,或者指定虚拟机池本身的选项。

7.8.2. 安装 Cloud-Init

这个步骤描述了如何在虚拟机上安装 Cloud-Init。安装了 Cloud-Init 后,您可以基于此虚拟机创建模板。基于此模板创建的虚拟机可以利用 Cloud-Init 功能,如配置主机名、时区、root 密码、授权密钥、网络接口、DNS 服务等。

安装 Cloud-Init

  1. 登录虚拟机。
  2. 启用存储库:

    • Red Hat Enterprise Linux 6:

      # subscription-manager repos \
          --enable=rhel-6-server-rpms \
          --enable=rhel-6-server-rh-common-rpms
    • Red Hat Enterprise Linux 7:

      # subscription-manager repos \
          --enable=rhel-7-server-rpms \
          --enable=rhel-7-server-rh-common-rpms
  3. 安装 cloud-init 软件包和依赖项:

    # yum install cloud-init

7.8.3. 使用 Cloud-Init 准备模板

只要在 Linux 虚拟机上安装了 cloud-init 软件包,就可以使用该虚拟机来生成启用了 cloud-init 的模板。指定要包含在模板中的一组标准设置,如以下步骤所述,或者跳过 Cloud-Init 设置步骤,并在基于此模板创建虚拟机时进行配置。

注意

以下流程概述了如何在准备模板时使用 Cloud-Init,但在 New Virtual MachineEdit TemplateRun Once 窗口中也提供了相同的设置。

使用 Cloud-Init 准备模板

  1. 单击 ComputeTemplates 并选择模板。
  2. Edit
  3. 单击 Show Advanced Options
  4. 单击 Initial Run 选项卡,再选中 Use Cloud-Init/Sysprep 复选框。
  5. VM Hostname 文本 字段中输入主机名。
  6. 选择 Configure Time Zone 复选框,然后从 Time Zone 下拉列表中选择一个时区。
  7. 展开 Authentication 部分。

    • 选中 Use already configure password 复选框以使用现有凭据,或者清除该复选框并在 PasswordVerify Password 文本字段中输入 root 密码以指定新的 root 密码。
    • SSH 授权密钥文本区域中,输入要添加到虚拟机上授权主机文件的任何 SSH 密钥。
    • 选中 Regenerate SSH Keys 复选框,为虚拟机重新生成 SSH 密钥。
  8. 展开 Networks 部分。

    • DNS Servers 文本字段中,输入任何 DNS 服务器。
    • DNS Search Domains 文本字段中,输入任何 DNS 搜索域。
    • 选择 In-guest Network Interface 复选框,然后使用 + Add new- Renove selected 按钮向虚拟机中添加或删除网络接口。

      重要

      您必须指定正确的网络接口名称和编号(如 eth0,eno3enp0s)。否则,虚拟机的接口连接将启动,但不含 cloud-init 网络配置。

  9. 展开 Custom Script 部分,然后在 Custom Script 文本区域中输入任何自定义脚本。
  10. 点击 确定

您现在可以使用此模板调配新的虚拟机。

7.8.4. 使用 Cloud-Init 初始化虚拟机

使用 Cloud-Init 自动执行 Linux 虚拟机的初始配置。您可以使用 Cloud-Init 字段配置虚拟机的主机名、时区、root 密码、授权密钥、网络接口和 DNS 服务。您还可以指定要在启动时运行的自定义脚本(YAML 格式的脚本)。自定义脚本允许 Cloud-Init 支持但 Cloud-Init 字段中不支持的额外 Cloud-Init 配置。有关自定义脚本示例的更多信息,请参阅云配置示例

使用 Cloud-Init 初始化虚拟机

此流程使用一组 Cloud-Init 设置启动虚拟机。如果模板中包含相关的设置,请检查虚拟机的设置,并根据需要进行修改,然后单击 确定 以启动虚拟机。

  1. 单击 ComputeVirtual Machines 并选择虚拟机。
  2. 单击 Run 下拉菜单,再选择 Run Once
  3. 展开 Initial Run 部分,再选中 Cloud-Init 复选框。
  4. VM Hostname 文本 字段中输入主机名。
  5. 选择 Configure Time Zone 复选框,然后从 Time Zone 下拉菜单中选择一个时区。
  6. 选中 Use already configure password 复选框以使用现有凭据,或者清除该复选框并在 PasswordVerify Password 文本字段中输入 root 密码以指定新的 root 密码。
  7. SSH 授权密钥文本区域中,输入要添加到虚拟机上授权主机文件的任何 SSH 密钥。
  8. 选中 Regenerate SSH Keys 复选框,为虚拟机重新生成 SSH 密钥。
  9. DNS Servers 文本字段中,输入任何 DNS 服务器。
  10. DNS Search Domains 文本字段中,输入任何 DNS 搜索域。
  11. 选中 Network 复选框,再使用 +- 按钮向虚拟机中添加或删除网络接口。

    重要

    您必须指定正确的网络接口名称和编号(如 eth0,eno3enp0s)。否则,虚拟机的接口连接将启动,但不会在其中定义 cloud-init 网络配置。

  12. Custom Script 文本区域中输入自定义脚本。确保脚本中指定的值合适。否则,操作将失败。
  13. 点击 确定
注意

若要检查虚拟机是否安装了 Cloud-Init,请选择虚拟机并单击 Applications 子选项卡。仅在安装了客户机代理时才显示。

7.9. 使用 Sysprep 自动配置虚拟机

Sysprep 是一种用于自动设置 Windows 虚拟机的工具,例如配置主机名、网络接口、授权密钥、设置用户或连接到 Active Directory。Sysprep 会随每个版本的 Windows 一起安装。

Red Hat Virtualization 利用虚拟化技术基于单个模板部署虚拟工作站,从而增强了 Sysprep。Red Hat Virtualization 为每个虚拟工作站构建定制的自动回答文件。

Sysprep 会生成一个完整的无人值守安装应答文件。多个 Windows 操作系统的默认值可在 /usr/share/ovirt-engine/conf/sysprep/ 目录中找到。您还可以创建自定义 Sysprep 文件,并从 /etc/ovirt-engine/osinfo.conf.d/ 目录的 osinfo 文件中引用该文件。这些文件充当 Sysprep 的模板。可以根据需要复制和编辑这些文件中的字段。此定义将覆盖 Edit Virtual Machine 窗口上 Initial Run 字段中输入的任何值。

您可以在创建 Windows 虚拟机池时创建自定义 sysprep 文件,以适应各种操作系统和域。详情请参阅管理指南中的创建虚拟机池

覆盖文件必须在 /etc/ovirt-engine/osinfo.conf.d/ 下创建,其文件名将其放置在 /etc/ovirt-engine/osinfo.conf.d/00-defaults.properties 下,并以 .properties 结束。例如: /etc/ovirt-engine/osinfo.conf.d/10-productkeys.properties。最后一个文件将具有优先权并覆盖任何其他文件。

将 Windows 操作系统的默认值从 /etc/ovirt-engine/osinfo.conf.d/00-defaults.properties 复制到覆盖文件,并在 productKey.valuesysprepPath.value 字段中输入您的值。

例 7.2. Windows 7 默认配置值

# Windows7(11, OsType.Windows, false),false
os.windows_7.id.value = 11
os.windows_7.name.value = Windows 7
os.windows_7.derivedFrom.value = windows_xp
os.windows_7.sysprepPath.value = ${ENGINE_USR}/conf/sysprep/sysprep.w7
os.windows_7.productKey.value =
os.windows_7.devices.audio.value = ich6
os.windows_7.devices.diskInterfaces.value.3.3 = IDE, VirtIO_SCSI, VirtIO
os.windows_7.devices.diskInterfaces.value.3.4 = IDE, VirtIO_SCSI, VirtIO
os.windows_7.devices.diskInterfaces.value.3.5 = IDE, VirtIO_SCSI, VirtIO
os.windows_7.isTimezoneTypeInteger.value = false

7.9.1. 在模板中配置 Sysprep

您可以使用此流程指定要包含在模板中的一组标准 Sysprep 设置,也可以在基于此模板创建虚拟机时配置 Sysprep 设置。

可以使用替换字符串替换 /usr/share/ovirt-engine/conf/sysprep/ 目录中默认文件中提供的值。例如,"<Domain><![CDATA[$JoinDomain$]]></Domain>" 可以用来指示要加入的域。

重要

请勿在 Sysprep 运行时重启虚拟机。

先决条件

  • Windows 虚拟机参数已正确定义。

    如果没有,请单击 ComputeVirtual Machines,再单击 Edit,然后在 Operating SystemCluster 字段中输入所需的信息。

  • 管理器上的覆盖文件中定义了正确的产品密钥。

使用 Sysprep 准备模板

  1. 使用所需的补丁和软件构建 Windows 虚拟机。
  2. 封装 Windows 虚拟机。请查看 第 7.1 节 “在准备部署作为模板封装虚拟机”
  3. 基于 Windows 虚拟机创建模板。请查看 第 7.2 节 “创建模板”
  4. 如果需要其他更改,请使用文本编辑器更新 Sysprep 文件。

您现在可以使用此模板调配新的虚拟机。

7.9.2. 使用 Sysprep 初始化虚拟机

使用 Sysprep 自动执行 Windows 虚拟机的初始配置。您可以使用 Sysprep 字段配置虚拟机的主机名、时区、root 密码、授权密钥、网络接口和 DNS 服务。

使用 Sysprep 初始化虚拟机

此流程使用一组 Sysprep 设置启动虚拟机。如果基于虚拟机的模板中包含相关设置,请检查设置并根据需要进行修改。

  1. 基于所需 Windows 虚拟机的模板创建新的 Windows 虚拟机。请参阅 第 7.10 节 “基于模板创建虚拟机”
  2. 单击 ComputeVirtual Machines,再选择虚拟机。
  3. 单击 Run 下拉菜单,再选择 Run Once
  4. 展开引导选项部分,选中附加软盘复选框,然后选择 [sysprep] 选项。
  5. 选择 Attach CD 复选框,然后从下拉列表中选择所需的 Windows ISO。
  6. CD-ROM 移到 Boot Sequence 字段的顶部。
  7. 根据需要配置任何其他 Run Once 选项。详情请查看 第 A.2 节 “Run Once 窗口中的 Settings 解释”
  8. 点击 确定

7.10. 基于模板创建虚拟机

从模板创建虚拟机,以便虚拟机预配置操作系统、网络接口、应用和其他资源。

注意

从模板创建的虚拟机取决于该模板。这意味着,如果从该模板中创建虚拟机,您无法从 Manager 中删除模板。但是,您可以从模板克隆虚拟机,以删除对该模板的依赖。如需更多信息,请参阅 第 7.11 节 “基于模板创建克隆的虚拟机”

基于模板创建虚拟机

  1. 单击 ComputeVirtual Machines
  2. New
  3. 选择要运行虚拟机的 集群
  4. Template 列表中选择模板。
  5. 输入 NameDescriptionany Comments,再接受其余字段中从模板继承的默认值。如果需要,您可以更改它们。
  6. 单击 资源分配 选项卡。
  7. 存储分配 区域中选择 ThinClone 单选按钮。如果选择 Thin,磁盘格式为 QCOW2。如果选择 Clone,请选择 QCOW2Raw 作为磁盘格式。
  8. 使用 Target 下拉列表选择要在其上存储虚拟机的虚拟磁盘的存储域。
  9. 点击 确定

虚拟机显示在 Virtual Machines 标签页中。

7.11. 基于模板创建克隆的虚拟机

克隆的虚拟机基于模板,并继承模板的设置。克隆的虚拟机不依赖于创建后基于的模板。这意味着,如果没有其他依赖项,可以删除模板。

注意

如果您从模板克隆虚拟机,则虚拟机所基于的模板名称将显示在该虚拟机的 Edit Virtual Machine 窗口的 General 选项卡中。如果您更改了该模板的名称,General 选项卡中的模板名称也会更新。但是,如果您从 Manager 中删除模板,则会显示该模板的原始名称。

基于模板克隆虚拟机

  1. 单击 ComputeVirtual Machines
  2. New
  3. 选择要运行虚拟机的 集群
  4. Based on Template 下拉菜单中选择模板。
  5. 输入 名称描述注释。您可以接受从其余字段中的模板继承的默认值,或者根据需要更改它们。
  6. 单击 资源分配 选项卡。
  7. 选择存储分配区域中的克隆单选按钮。
  8. Format 下拉列表中选择磁盘格式。这会影响克隆操作的速度和新虚拟机最初所需的磁盘空间大小。

    • QCOW2(默认)

      • 更快的克隆操作
      • 优化存储容量的使用
      • 仅根据需要分配的磁盘空间
    • Raw

      • 克隆操作较慢
      • 优化的虚拟机读写操作
      • 模板中请求的所有磁盘空间在克隆操作时分配
  9. 使用 Target 下拉菜单选择要在其上存储虚拟机的虚拟磁盘的存储域。
  10. 点击 确定
注意

克隆虚拟机可能需要一些时间。必须创建模板的磁盘的新副本。在这段时间中,虚拟机的状态是第一个 镜像锁定,然后是 关闭

虚拟机已创建并显示在 Virtual Machines 选项卡中。您现在可以为其分配用户,可以在克隆操作完成后开始使用用户。

附录 A. 参考资料:管理门户和虚拟机门户 Windows 中的设置

A.1. 新虚拟机和编辑虚拟机 Windows 中的设置说明

A.1.1. 虚拟机常规设置说明

下表详述了在新建虚拟机编辑虚拟机窗口的 General 选项卡中可用的选项。

表 A.1. 虚拟机:常规设置

字段名称描述需要电源重启?

集群

虚拟机附加到的主机集群的名称。根据策略规则,虚拟机托管在该集群中的任意物理计算机上。

是。跨集群迁移仅用于紧急用途。移动集群需要关闭虚拟机。

模板

虚拟机所基于的模板。默认情况下,此字段设置为 空白,允许您创建尚未安装操作系统的虚拟机。模板显示为 Name | Sub-version name (Sub-version number)。每个新版本都显示有以括号括起的数字,该数字指示版本的相对顺序,数字越高,表示较新的版本。

如果版本名称是模板版本链的根模板,则它会显示为基础版本

当虚拟机无状态时,可以选择 最新版本的 模板。此选项意味着,每当创建了此模板的新版本时,将根据最新的模板在重启时自动重新创建虚拟机。

不适用。此设置仅用于调配新虚拟机。

操作系统

操作系统。有效值包括 Red Hat Enterprise Linux 和 Windows 变体。

是。可能会更改虚拟硬件.

实例类型

虚拟机硬件配置可以基于的实例类型。此字段默认设置为 Custom,这意味着虚拟机没有连接到实例类型。此下拉菜单中提供的其他选项有 LargeMediumsmallTinyXLarge,以及管理员创建的任何自定义实例类型。

其他其旁边具有链链接图标的设置将由所选实例类型预先填充。如果更改了其中一个值,虚拟机将从实例类型分离,并且链图标将显示为中断。但是,如果更改的设置恢复到其原始值,虚拟机将重新附加到实例类型,并且链图标中的链接将重新加入。

是。

优化

要优化虚拟机的系统类型。有三个选项: ServerdesktopHigh Performance ;默认为 Server。为充当服务器而优化的虚拟机没有声卡,使用克隆的磁盘映像,而且不具有无状态。优化以充当桌面计算机的虚拟机确实具有声卡,使用镜像(精简分配),并且无状态。针对高性能优化的虚拟机具有大量配置更改。请参阅 第 4.10 节 “配置高性能虚拟机、模板和池”

是。

名称

虚拟机的名称。名称必须是数据中心内的唯一名称,不得包含任何空格,且必须至少包含 A-Z 或 0-9 中的一个字符。虚拟机名称的最大长度为 255 个字符。名称可以在环境中的不同数据中心重复使用。

是。

虚拟机 ID

虚拟机 ID。虚拟机的创建者可以为该虚拟机设置自定义 ID。自定义 ID 必须仅包含格式为 00000000-0000-0000-0000-00000000 的数字。

如果创建过程中没有指定 ID,系统将自动分配 UUID。对于自定义和自动生成的 ID,在创建虚拟机后无法更改。

是。

描述

新虚拟机的有意义的描述。

No.

注释

用于添加有关虚拟机的纯文本可读注释的字段。

No.

关联性标签

添加或删除选定的 Affinity Label

No.

无状态

选中此复选框,可在无状态模式下运行虚拟机。此模式主要用于桌面虚拟机。运行无状态桌面或服务器会在虚拟机硬盘镜像上创建新的 COW 层,其中存储了新的和更改的数据。关闭无状态虚拟机会删除新的 COW 层,其中包含所有数据和配置更改,并将虚拟机返回到其原始状态。在创建需要短期使用的计算机或临时员工时,无状态虚拟机非常有用。

不适用。

以暂停模式启动

选中此复选框可始终以暂停模式启动虚拟机。此选项适用于需要很长时间才能建立 SPICE 连接的虚拟机;例如,位于远程位置的虚拟机。

不适用。

删除保护

选中此复选框,使其无法删除虚拟机。只有未选中此复选框,才能删除虚拟机。

No.

实例镜像

单击 Attach 以将浮动磁盘附加到虚拟机,或者单击 Create 以添加新虚拟磁盘。使用加号和减号按钮来添加或删除其他虚拟磁盘。

单击 Edit 以更改已附加或创建的虚拟磁盘的配置。

No.

通过选取 vNIC 配置集实例化虚拟机网络接口。

通过从 nic1 下拉列表中选择一个 vNIC 配置集,将网络接口添加到虚拟机。使用加号和减号按钮来添加或删除其他网络接口。

No.

A.1.2. 虚拟机系统设置说明

CPU 注意事项

  • 对于非 CPU 密集型工作负载,您可以使用超过主机内核数的处理器内核总数运行虚拟机。这样做可启用以下内容:

    • 您可以运行更多虚拟机,从而降低硬件要求。
    • 您可以使用原本无法实现的 CPU 拓扑配置虚拟机,例如,虚拟内核的数量在主机内核数和主机线程数量之间。
  • 为了获得最佳性能,尤其是 CPU 密集型工作负载,您应该在虚拟机中使用与主机中相同的拓扑,因此主机和虚拟机预计同样的缓存使用量。主机启用了超线程后,QEMU 会将主机的超线程视为内核,因此虚拟机不知道它在具有多个线程的单一核心上运行。此行为可能会影响虚拟机的性能,因为实际对应于主机核心中的超线程的虚拟核心可能会与同一主机核心中的另一个超线程共享一个缓存,而虚拟机则将其视为一个单独的核心。

下表详述了新建虚拟机编辑虚拟机窗口系统选项卡上可用的选项。

表 A.2. 虚拟机:系统设置

字段名称描述需要电源重启?

内存大小

分配给虚拟机的内存量。在分配内存时,请考虑要在虚拟机上运行的应用的处理和存储需求。

如果操作系统支持热插拔为否。否则为是。

最大内存

可分配给虚拟机的最大内存量。最大客户机内存也受到所选客户机架构和集群兼容性水平的限制。

如果操作系统支持热插拔为否。否则为是。

虚拟 CPU 总数

作为 CPU 内核分配给虚拟机的处理能力。为获得高性能,请不要为虚拟机分配超过物理主机上存在的内核数。

如果操作系统支持热插拔为否。否则为是。

虚拟插槽

虚拟机的 CPU 插槽数量。不要为虚拟机分配比物理主机上存在的插槽数更多的插槽。

如果操作系统支持热插拔为否。否则为是。

每个虚拟插槽的内核

分配给每个虚拟插槽的内核数。

如果操作系统支持热插拔为否。否则为是。

每个内核的线程

分配给每个内核的线程数。增加该值可同时启用多线程(SMT)。IBM POWER8 支持每个内核最多 8 个线程。对于 x86 和 x86_64(Intel 和 AMD)CPU 类型,推荐的值为 1,除非您想要复制确切的主机拓扑,您可以使用 CPU 固定进行此操作。如需更多信息,请参阅 第 4.10.2.2 节 “固定 CPU”

如果操作系统支持热插拔为否。否则为是。

自定义模拟机器

这个选项允许您指定机器类型。如果更改,虚拟机将仅在支持此机器类型的主机上运行。默认为集群的默认机器类型。

是。

自定义 CPU 类型

这个选项允许您指定 CPU 类型。如果更改,虚拟机将仅在支持此 CPU 类型的主机上运行。默认为集群的默认 CPU 类型。

是。

硬件时钟时间中断

这个选项设置客户机硬件时钟的时区偏移。对于 Windows,这应当与虚拟客户机中设置的时区对应。大多数默认的 Linux 安装预计硬件时钟为 GMT+00:00。

是。

自定义兼容性版本

兼容性版本决定了集群支持哪些功能,以及一些属性的值和模拟的机器类型。默认情况下,虚拟机配置为以与集群相同的兼容性模式运行,默认从集群中继承。在某些情况下,需要更改默认的兼容模式。例如,如果集群已更新至更新的兼容性版本,但虚拟机尚未重启。这些虚拟机可以设置为使用比集群旧的自定义兼容模式。如需更多信息,请参阅管理指南中的更改集群兼容性版本

是。

提供自定义序列号策略

此复选框允许您为虚拟机指定序列号。选择:

  • 主机 ID :将主机的 UUID 设置为虚拟机的序列号。
  • VM ID :将虚拟机的 UUID 设置为它的序列号。
  • 自定义序列号 : 允许您指定自定义序列号。

是。

A.1.3. 虚拟机初始运行设置说明

下表详述了新建虚拟机编辑虚拟机窗口上 Initial Run 选项卡中可用的选项。只有在选择了 Use Cloud-Init/Sysprep 复选框时,才会看到此表中的设置,并且仅在 General选项卡的 Operating System 列表中选择了基于 Linux 或基于 Windows 的选项时,某些选项才会显示,如下所示。

注意

此表不包括有关是否需要电源周期的信息,因为设置应用到虚拟机的初始运行;配置这些设置时虚拟机不会运行。

表 A.3. 虚拟机:初始运行设置

字段名称操作系统描述

使用 Cloud-Init/Sysprep

Linux、Windows

此复选框将切换为 Cloud-Init 或 Sysprep 初始化虚拟机。

VM 主机名

Linux、Windows

虚拟机的主机名。

Windows

虚拟机所属的 Active Directory 域。

机构名称

Windows

虚拟机所属组织的名称。此选项对应于文本字段,用于设置第一次运行 Windows 的计算机时显示的组织名称。

Active Directory OU

Windows

虚拟机所属的 Active Directory 域中的组织单元。

配置时区

Linux、Windows

虚拟机的时区。选择此复选框,然后从 Time Zone 列表中选择一个时区。

管理密码

Windows

虚拟机的管理用户密码。单击暴露的箭头,以显示这个选项的设置。

  • 使用已配置的密码 : 指定初始管理用户密码后,会自动选择此复选框。您必须清除此复选框,以启用 Admin PasswordVerify Admin Password 字段并指定新密码。
  • admin Password :虚拟机的管理用户密码。在此文本字段中输入密码和 Verify Admin Password 文本字段以验证密码。

身份验证

Linux

虚拟机的身份验证详情。单击暴露的箭头,以显示这个选项的设置。

  • 使用已配置的密码:指定初始 root 密码后会自动选择此复选框。您必须清除此复选框,以启用 PasswordVerify Password 字段并指定新密码。
  • Password :虚拟机的 root 密码。在此文本字段中输入密码和 Verify Password 文本字段以验证密码。
  • SSH Authorized Keys :添加到虚拟机的授权密钥文件中的 SSH 密钥。您可以通过在新行中输入每个 SSH 密钥来指定多个 SSH 密钥。
  • 重新生成 SSH 密钥 :为虚拟机生成 SSH 密钥。

自定义区域

Windows

虚拟机的自定义区域选项。区域设置必须采用如 en-US 的格式。单击暴露的箭头,以显示这个选项的设置。

  • 输入区域 :用户输入的区域设置。
  • UI 语言 :用于用户界面元素的语言,如按钮和菜单。
  • 系统区域 :整个系统的区域设置。
  • 用户区域 :用户的区域设置。

网络

Linux

虚拟机的网络相关设置。单击暴露的箭头,以显示这个选项的设置。

  • DNS 服务器 :虚拟机使用的 DNS 服务器。
  • DNS 搜索域 :供虚拟机使用的 DNS 搜索域。
  • network :配置虚拟机的网络接口。选中此复选框并单击 +- 以向虚拟机中添加或删除网络接口。单击 + 时,会看到一组字段,可以指定是否使用 DHCP,并配置 IP 地址、子网掩码和网关,并指定网络接口是否在引导时启动。

自定义脚本

Linux

自定义脚本,这些脚本将在虚拟机启动时在虚拟机上运行。此字段中输入的脚本是自定义 YAML 部分,添加到管理器生成的 YAML 部分,并允许您自动执行任务,如创建用户和文件、配置 yum 存储库和运行命令。有关可在此字段中输入的脚本格式的更多信息,请参阅 自定义脚本 文档。

Sysprep

Windows

自定义 Sysprep 定义。定义的格式必须是完整的无人值守安装应答文件。您可以在安装 Red Hat Virtualization Manager 的机器上的 /usr/share/ovirt-engine/conf/sysprep/ 目录中复制并粘贴默认回答文件,并根据需要更改字段。如需更多信息,请参阅 第 7 章 模板

A.1.4. 虚拟机控制台设置说明

下表详述了新建虚拟机编辑虚拟机窗口的 Console 选项卡中可用的选项。

表 A.4. 虚拟机:控制台设置

字段名称描述需要电源重启?

图形控制台部分

组设置。

是。

无头模式

如果您不需要虚拟机的图形控制台,请选择此复选框。

选择后,Graphical Console 部分中的所有其他字段将被禁用。在虚拟机门户中,虚拟机详情视图中的 Console 图标也被禁用。

重要

使用无头模式的详情和先决条件请查看 第 4.9 节 “配置无头虚拟机”

是。

视频类型

定义图形设备。QXL 是默认设置,支持两个图形协议。VGA 只支持 VNC 协议。

是。

图形协议

定义要使用的协议。SPICE 是默认协议。VNC 是备选选项。要同时允许这两个协议,请选择 SPICE + VNC

是。

VNC 键盘布局

定义虚拟机的键盘布局。这个选项只在使用 VNC 协议时可用。

是。

USB 支持

定义 SPICE USB 重定向。此选项仅适用于使用 SPICE 协议的虚拟机。选择:

  • Disabled - USB 控制器设备会根据 osinfo-defaults.properties 配置文件中的 devices.usb.controller 值添加。所有 x86 和 x86_64 操作系统的默认值都是 piix3-uhci。对于 ppc64 系统,默认为 nec-xhci
  • Enabled - 为 Linux 和 Windows 虚拟机启用原生 KVM/SPICE USB 重定向。虚拟机不需要任何客户机内代理或本地 USB 的驱动程序。

是。

控制台断开连接操作

定义在控制台断开连接时会发生什么。这仅与 SPICE 和 VNC 控制台连接相关。此设置可以在虚拟机运行时更改,但只有在建立新的控制台连接后才会生效。选择:

  • 无操作 - 不执行任何操作。
  • 锁定屏幕 - 这是默认选项。对于所有 Linux 机器和 Windows 桌面,这会锁定当前活动的用户会话。对于 Windows 服务器,这会锁定桌面和当前活动用户。
  • 注销用户 - 对于所有 Linux 计算机和 Windows 桌面,这会注销当前活动的用户会话。对于 Windows 服务器,桌面和当前活动用户将注销。
  • 关闭虚拟机 - 启动安全的虚拟机关闭。
  • 重启虚拟机 - 启动安全虚拟机重启。

No.

Monitors

虚拟机的监视器数量。此选项仅适用于使用 SPICE 显示协议的虚拟桌面。您可以选择 124。请注意,Windows 8 和 Windows Server 2012 虚拟机不支持多个 monitor。

是。

启用智能卡

智能卡是一种外部硬件安全功能,最常见的是在信用卡中看到,但许多业务也使用智能卡作为身份验证令牌。智能卡可用于保护红帽虚拟化虚拟机。选择或取消选择复选框,以激活和停用个别虚拟机的智能卡验证。

是。

单点登录方法

启用单点登录后,用户可以使用客户机代理从虚拟机门户连接虚拟机时,登录客户机操作系统。

  • 禁用单点登录 - 如果您不希望客户机代理尝试登录虚拟机,请选择这个选项。
  • 使用客户机代理 - 启用单点登录以允许客户机代理登录虚拟机.

如果您选择 Use Guest Agent,否。否则,是。

禁用严格的用户检查

单击 Advanced Parameters 箭头,再选中要使用这个选项的复选框。如果选中此选项,则不同用户连接到虚拟机时无需重新启动虚拟机。

默认情况下,启用严格的检查,以便只有一个用户可以连接到虚拟机的控制台。在重新启动之前,任何其他用户都无法打开同一虚拟机的控制台。例外情况是,SuperUser 可以随时连接并替换现有的连接。当 SuperUser 已连接后,普通用户无法再次连接,直到虚拟机重启为止。

请谨慎禁用严格的检查,因为您可以向新用户公开之前用户的会话。

No.

启用 Soundcard

音响卡设备并不适用于所有虚拟机用例。如果适合您,请在此处启用声卡。

是。

启用 SPICE 文件传输

定义用户是否能够将文件从外部主机拖放到虚拟机的 SPICE 控制台。此选项仅适用于使用 SPICE 协议的虚拟机。默认选择此复选框。

No.

启用 SPICE 剪贴板复制和粘贴

定义用户是否可以从外部主机复制和粘贴内容到虚拟机的 SPICE 控制台。此选项仅适用于使用 SPICE 协议的虚拟机。默认选择此复选框。

No.

串行控制台部分

组设置。

 

启用 VirtIO 串行控制台

VirtIO 串行控制台使用 SSH 和密钥对通过 VirtIO 频道进行模拟,允许您直接从客户端计算机的命令行访问虚拟机的串行控制台,而不从管理门户或虚拟机门户中打开控制台。串行控制台需要直接访问管理器,因为管理器充当连接的代理,提供有关虚拟机放置的信息,并存储身份验证密钥。选中在虚拟机上启用 VirtIO 控制台的复选框。需要防火墙规则。请参阅打开串行控制台到虚拟机

是。

A.1.5. 虚拟机主机设置说明

下表详述了新建虚拟机编辑虚拟机窗口的 Host 选项卡上可用的选项。

表 A.5. 虚拟机:主机设置

字段名称子元素描述需要电源重启?

开始运行于

 

定义要在其上运行虚拟机的首选主机。选择:

  • 集群中的任何主机 - 虚拟机可以在集群中的任何可用主机上启动并运行。
  • 特定主机 - 虚拟机将在集群的特定主机上运行。但是,管理器或管理员可以根据虚拟机的迁移和高可用性设置,将虚拟机迁移到集群中的不同主机上。从可用的主机列表中选择特定的主机或主机组。

否。虚拟机可以在运行时迁移到该主机。

迁移选项

迁移模式

定义运行和迁移虚拟机的选项。如果不在此处使用选项,则虚拟机将根据集群的策略运行或迁移。

  • 允许手动和自动迁移 - 虚拟机可根据环境状态自动从一个主机迁移到另一个主机,或者由管理员手动迁移。
  • 仅允许手动迁移 - 虚拟机只能由管理员手动从一个主机迁移到另一个主机。
  • 不允许迁移 - 虚拟机无法自动或手动迁移。

No.

 

使用自定义迁移策略

定义迁移聚合策略。如果复选框未选中,主机将确定该策略。

  • Legacy - 3.6 版本的传统行为.vdsm.conf 中的覆盖仍在应用。客户机代理 hook 机制已被禁用。
  • 最小停机时间 - 允许虚拟机在典型情况下迁移。虚拟机不应遇到任何显著的停机时间。如果虚拟机迁移长时间后(依赖于 QEMU 迭代,且最多为 500 毫秒),迁移将中止。客户机代理 hook 机制已启用。
  • 如果需要,暂停工作负载 - 允许虚拟机在大多数情况下迁移,包括在虚拟机运行繁重工作负载时。因此,虚拟机所经历的停机时间可能比使用其他设置造成的显著停机时间更多。迁移可能仍然针对极端工作负载中止。客户机代理 hook 机制已启用。

No.

 

使用自定义迁移停机时间

此复选框允许您指定在实时迁移期间虚拟机可以下线的最大毫秒数。根据工作负载和 SLA 要求为每个虚拟机配置不同的停机时间。输入 0 以使用 VDSM 默认值。

No.

 

自动聚合迁移

只用旧迁移策略激活。允许您设置在虚拟机实时迁移过程中是否使用 auto-convergence。具有高负载的大型虚拟机可以比实时迁移过程中实现的传输率快得多,并防止迁移聚合。QEMU 中的自动聚合功能允许您强制进行虚拟机迁移。QEMU 自动检测缺乏聚合并触发虚拟机上 vCPU 节流。auto-convergence 默认禁用。

  • 从 cluster 设置中选择 Inherit,以使用在集群级别上设置的自动协调设置。默认选择这个选项。
  • 选择 Auto Converge 来覆盖集群设置或全局设置,并为虚拟机允许自动协调。
  • 选择 Don't Auto Converge 来覆盖集群设置或全局设置,并阻止虚拟机的自动协调。

No.

 

启用迁移压缩

只用旧迁移策略激活。选项允许您设置在虚拟机实时迁移过程中是否使用迁移压缩。此功能使用 Xor Binary Zero Run-Length-Encoding 以减少虚拟机停机时间,并减少了运行内存写入负载的虚拟机的实时迁移时间,或适用于具有稀疏内存更新模式的任何应用程序。默认全局禁用迁移压缩。

  • 从集群设置中选择 Inherit,使用在集群级别上设置的压缩设置。默认选择这个选项。
  • 选择 Compress 来覆盖集群设置或全局设置,并允许虚拟机的压缩。
  • 选择 Don't compress 来覆盖集群设置或全局设置,并阻止虚拟机的压缩。

No.

 

透传主机 CPU

此复选框允许虚拟机使用主机的 CPU 标志。选择后,Migration Options 被设置为 只允许手动迁移

是。

配置 NUMA

NUMA 节点数

分配给虚拟机的虚拟 NUMA 节点数量。如果 Tune 模式是 Preferred,则该值必须设置为 1

是。

 

调优模式

用于分配内存的方法。

  • Strict:如果无法在目标节点上分配内存,则内存分配将失败。
  • Preferred : 从单个首选节点分配内存。如果没有足够的内存可用,可以从其他节点分配内存。
  • interleave :以轮询算法在节点间分配内存。

是。

 

NUMA 固定

打开 NUMA Topology 窗口。此窗口显示主机的总 CPU、内存和 NUMA 节点,以及虚拟机的虚拟 NUMA 节点。点每个 vNUMA 从右侧的方框将虚拟 NUMA 节点拖到左侧的 NUMA 节点,以固定虚拟 NUMA 节点以托管 NUMA 节点。如果您定义 NUMA 固定,Migration Options 被设置为 只允许手动迁移

是。

A.1.6. 虚拟机高可用性设置说明

下表详述了 新建虚拟机编辑虚拟机窗口的高可用性选项卡中可用的选项。

表 A.6. 虚拟机:高可用性设置

字段名称描述需要电源重启?

高可用性

如果虚拟机要高可用性,请选中此复选框。例如,在主机维护的情况下,所有虚拟机都会自动实时迁移到另一主机。如果主机崩溃且处于不响应状态,则仅在另一主机上重新启动具有高可用性的虚拟机。如果系统管理员手动关闭该主机,虚拟机不会自动实时迁移到另一主机。

请注意,如果 Hosts 选项卡中的 Migration Options 设置设为 Do not allow migration,则此选项对于定义为 ServerDesktop 的虚拟机不可用。要让虚拟机具有高可用性,管理器必须可以根据需要将虚拟机迁移到其他可用的主机上。

但是,对于定义为高性能的虚拟机 ,您可以定义高可用性,而不考虑 Migration Options 设置。

是。

VM Lease 的目标存储域

选择要存放虚拟机租用的存储域,或者选择 No VM Lease 以禁用该功能。选择存储域时,它将在特殊卷上保存虚拟机租用,该卷允许在原始主机断电或变得无响应时在另一主机上启动虚拟机。

此功能仅在存储域 V4 或更高版本上可用。

注意

如果您定义了租期,唯一可用的 Resume Behavior 是 KILL。

是。

恢复行为

定义由于存储 I/O 错误而暂停的虚拟机所需的行为,一旦重新建立与存储的连接。您可以定义所需的恢复行为,即使虚拟机并不高可用性。

可用的选项如下:

  • AUTO_RESUME - 虚拟机将自动恢复,无需用户干预。对于不可用且在处于暂停状态后不需要用户干预的虚拟机,建议您这样做。
  • LEAVE_PAUSED - 虚拟机一直处于暂停模式,直到手动恢复或重启为止。
  • KILL - 如果在 80 秒内修复 I/O 错误,虚拟机会自动恢复。但是,如果超过 80 秒通过,虚拟机将被非正常关闭。建议对高可用性虚拟机执行此设置,以允许 Manager 在没有遇到存储 I/O 错误的其他主机上重新启动。

    KILL 是使用虚拟机租用时唯一可用的选项。

No.

运行/迁移队列的优先级

设置要在另一主机上迁移或重启虚拟机的优先级级别。

No.

Watchdog

允许用户将监视器卡附加到虚拟机。watchdog 是一个计时器,用于在故障中自动检测和恢复。设置之后,监视器在系统运行时持续倒计为零,并由系统定期重新启动,以防止到达零。如果计时器达到零,则表示系统已无法重置计时器,因此遇到了故障。然后采取纠正措施来解决故障。此功能对于需要高可用性的服务器特别有用。

Watchdog Model :分配给虚拟机的 watchdog 卡模型。目前唯一支持的模型是 i6300esb

Watchdog Action :在 watchdog 计时器达到零时要执行的操作。可用的操作如下:

  • none - 不执行任何操作。不过,watchdog 事件记录在审计日志中。
  • reset - 虚拟机将被重置,管理器会收到重置操作的通知。
  • poweroff - 虚拟机立即关机。
  • 转储 - 执行转储并暂停虚拟机。
  • pause - 虚拟机已暂停,用户可以恢复。

是。

A.1.7. 虚拟机资源分配设置说明

下表详述了新建虚拟机编辑虚拟机窗口的资源分配选项卡上可用的选项。

表 A.7. 虚拟机:资源分配设置

字段名称子元素描述需要电源重启?

CPU 分配

CPU 配置文件

分配给虚拟机的 CPU 配置文件。CPU 配置文件定义虚拟机在其上运行的主机上可以访问的最大处理能力,以对该主机可用的总处理能力的百分比表示。CPU 配置集根据为数据中心创建的服务质量条目质量在集群级别上定义。

No.

 

CPU 共享

允许用户设置虚拟机相对于其他虚拟机可能需要的 CPU 资源级别。

  • - 512
  • - 1024
  • High - 2048
  • Custom - 用户定义的自定义 CPU 共享级别。

No.

 

CPU 固定拓扑

使虚拟机的虚拟 CPU(vCPU)能够在特定主机中的特定物理 CPU(pCPU)上运行。CPU 固定的语法为 v#p[_v#p],例如:

  • 0#0 - 将 vCPU 0 固定到 pCPU 0。
  • 0#0_1#3 - 将 vCPU 0 固定到 pCPU 0,并将 vCPU 1 固定到 pCPU 3。
  • 1#1-4,^2 - 将 vCPU 1 固定到 1 到 4 范围内的其中一个 pCPU,不包括 pCPU 2。

要将虚拟机固定到主机中,还必须在 Host 选项卡中选择以下内容:

  • 开始运行于特定
  • 透传主机 CPU

如果设置了 CPU 固定,并且更改 Start Running On: Specific,当您点击 OK 时,CPU 固定拓扑将丢失窗口。

定义后,Host 选项卡中的 Migration Options 被设置为只允许手动迁移

是。

内存分配

物理内存保证

为此虚拟机保证的物理内存量。应该为 0 到此虚拟机定义的内存之间的任意数字。

如果降低,是。否则,否。

 

内存气球设备已启用

为此虚拟机启用内存气球设备。启用此设置以允许在集群中使用内存过量。为突然分配大量内存但将保证内存设置为与定义的内存相同的值的应用程序启用此设置。对于使用内存缓慢、偶尔释放内存或长时间处于休眠状态的应用程序和负载(如虚拟桌面)来说,使用这个设置。如需更多信息,请参阅管理指南中的优化设置说明。

是。

IO 线程

启用 IO 线程

启用 IO 线程。选择此复选框可提高具有 VirtIO 接口的磁盘速度,方法是将它们固定到独立于虚拟机其他功能的线程中。磁盘性能的提高可提高虚拟机的整体性能。具有 VirtIO 接口的磁盘使用循环算法固定到 IO 线程中。

是。

队列

启用多队列

启用多个队列。默认选择此复选框。根据可用的 vCPU 数量,每个 vNIC 最多创建四个队列。

可以通过创建自定义属性来为每个 vNIC 定义不同的队列数量,如下所示:

engine-config -s "CustomDeviceProperties={type=interface;prop={other-nic-properties;queues=[1-9][0-9]*}}"

其中 other-nic-properties 是预先存在的 NIC 自定义属性的分号分隔列表。

是。

存储分配

 

Storage Allocation 选项仅在从模板创建虚拟机时可用。

不适用。

 

Thin

提供优化的存储容量使用。只有在需要时才分配磁盘空间。选择后,磁盘格式将标记为 QCOW2,您将无法更改它。

不适用。

 

克隆

针对客户机读写操作的速度进行优化。模板中请求的所有磁盘空间都在克隆操作时分配。可能的磁盘格式是 QCOW2Raw

不适用。

 

virtio-SCSI 启用

允许用户在虚拟机上启用或禁用 VirtIO-SCSI 的使用。

不适用。

磁盘分配

 

Disk Allocation 选项仅在从模板创建虚拟机时可用。

不适用。

 

Alias

虚拟磁盘的别名。默认情况下,别名的值与模板的别名相同。

不适用。

 

虚拟大小

虚拟机基于模板可以使用的磁盘空间总量。此值无法编辑,仅供参考。

不适用。

 

格式

虚拟磁盘的格式。可用的选项有 QCOW2Raw。当 存储分配Thin 时,磁盘格式为 QCOW2。当 Storage Allocation 为 Clone 时,选择 QCOW2Raw

不适用。

 

目标

存储虚拟磁盘的存储域。默认情况下,存储域的值与模板的存储域相同。

不适用。

 

磁盘配置文件

要分配给虚拟磁盘的磁盘配置文件。磁盘配置文件基于数据中心中定义的存储配置文件创建。如需更多信息,请参阅创建磁盘配置集

不适用。

A.1.8. 虚拟机引导选项设置说明

下表详细介绍了 新建虚拟机编辑虚拟机窗口的 Boot Options 选项卡中可用的选项

表 A.8. 虚拟机:引导选项设置

字段名称描述需要电源重启?

第一个设备

安装新虚拟机后,新虚拟机必须在开机前进入引导模式。选择虚拟机必须尝试引导的第一个设备:

  • 硬盘
  • CD-ROM
  • 网络(PXE)

是。

第二个设备

如果第一个设备不可用,请选择要启动的虚拟机的第二个设备。上一个选项中选择的第一个设备不会显示在选项中。

是。

Attach CD

如果您选择了 CD-ROM 作为引导设备,请选中此复选框并从下拉菜单中选择 CD-ROM 镜像。这些镜像必须在 ISO 域中可用。

是。

启用菜单选择引导设备

启用菜单以选择引导设备。虚拟机启动并连接到控制台后,但在虚拟机开始启动前,会显示一个菜单,供您选择启动设备。这个选项应该在初始引导前启用,以便您可以选择所需的安装介质。

是。

A.1.9. 虚拟机随机生成器设置说明

下表详述了 新建虚拟机编辑虚拟机窗口的 Random Generator 选项卡中可用的选项。

表 A.9. 虚拟机:随机生成器设置

字段名称描述需要电源重启?

启用随机生成器

选择此复选框可启用泛虚拟化随机数字生成器 PCI 设备(virtio-rng)。此设备允许将熵从主机传递到虚拟机,从而生成更加复杂的随机数字。请注意,只有在主机上存在 RNG 设备并在主机的集群中启用时,才能选择此复选框。

是。

持续时间(ms)

以毫秒为单位指定 RNG 的"完整周期"或"full period"的持续时间。如果省略,则使用 libvirt 默认 1000 毫秒(1 秒)。如果填写了此字段,还必须填写每个期间内的字节

是。

每个周期的字节数

指定每个期间内允许消耗的字节数。

是。

设备源:

随机数字生成器的来源。这根据主机集群支持的源自动选择。

  • /dev/urandom 源 - Linux 提供的随机数字生成器。
  • /dev/hwrng 源 - 外部硬件生成器.

是。

A.1.10. 虚拟机自定义属性设置说明

下表详述了 新建虚拟机编辑虚拟机窗口的 Custom Properties 选项卡上可用的选项。

表 A.10. 虚拟机自定义属性设置

字段名称描述建议和限制需要电源重启?

sndbuf

输入缓冲区的大小,以通过套接字发送虚拟机的传出数据。默认值为 0。

-

hugepages

以 KB 为单位输入巨页大小。

  • 将巨页大小设置为固定主机支持的最大大小。
  • x86_64 的建议大小为 1 GB。
  • 虚拟机的巨页大小必须与固定主机巨页大小相同。
  • 虚拟机的内存大小必须适合固定主机可用巨页的所选大小。NUMA 节点大小必须是巨页选择大小的倍数。

sap_agent

在虚拟机上启用 SAP 监控。设置为 truefalse

-

vhost

禁用 vhost-net,这是附加到虚拟机的虚拟网络接口卡上基于内核的 virtio 网络驱动程序。要禁用 vhost,此属性的格式为 LogicalNetworkName: false

这将在附加到 LogicalNetworkName 的虚拟 NIC 上明确启动虚拟机,且无 vhost-net 设置。

vhost-net 提供优于 virtio-net 的性能,如果存在,则默认在所有虚拟机 NIC 上启用。禁用此属性可以更轻松地隔离和诊断性能问题,或者调试 vhost-net 错误;例如,如果对 vhost 不存在的虚拟机迁移失败。

mdev_type

输入主机的内核所支持的 mediated 设备 my_GPU 的名称,使主机能够使用该设备。

-

 

viodiskcache

virtio 磁盘的缓存模式。writethrough 将数据并行写入缓存和磁盘,写入回写不会将缓存中的修改从缓存复制到磁盘,并且 none 会禁用缓存。如需有关 viodiskcache 自定义属性限制的更多信息,请参阅 https://access.redhat.com/solutions/2361311

为确保在存储、网络或迁移过程中主机出现数据完整性,请不要迁移启用 viodiskcache 的虚拟机,除非还启用了虚拟机集群或应用级集群。

警告

增加 sndbuf 自定义属性的值会导致主机和不响应虚拟机之间通信故障增加。

A.1.11. 虚拟机图标设置说明

您可以向虚拟机和模板添加自定义图标。自定义图标有助于区分虚拟机门户中的虚拟机。下表详述了 新建虚拟机编辑虚拟机窗口的 Icon 选项卡中可用的选项。

注意

此表不包含是否需要电源周期的信息,因为这些设置适用于虚拟机在管理门户中的显示,而不是其配置。

表 A.11. 虚拟机:图标设置

按钮名称描述

上传

单击此按钮,以选择要用作虚拟机的图标的自定义镜像。以下限制适用:

  • 支持的格式有:jpg、png、gif
  • 最大大小:24 KB
  • 最大尺寸: 150px 宽,120px 高

需要电源重启?

使用默认值

A.1.12. 虚拟机 Foreman/Satellite 设置说明

下表详述了 新建虚拟机编辑虚拟机窗口的 Foreman/Satellite 选项卡上可用的选项

表 A.12. 虚拟机:Foreman/Satellite 设置

字段名称描述需要电源重启?

提供者

如果虚拟机正在运行 Red Hat Enterprise Linux,并且系统已配置为与 Satellite 服务器配合使用,请从列表中选择 Satellite 名称。这可让您使用 Satellite 的内容管理功能来显示此虚拟机的相关勘误表。详情请查看 第 4.8 节 “为虚拟机配置 Red Hat Satellite 勘误管理”

是。

A.2. Run Once 窗口中的 Settings 解释

Run Once 窗口为虚拟机定义了一次性引导选项。对于永久引导选项,请使用 New Virtual Machine 窗口中的 Boot Options 选项卡。Run Once 窗口包含多个可配置的部分。

独立的 Rollback this configuration during reboots 复选框指定重新启动(由管理器启动,还是从 guest 中启动)是 warm(软)还是冷(硬)。选中此复选框可配置冷重新引导,以使用常规(非运行一次)配置重新启动虚拟机。清除此复选框,以配置保留虚拟机的 Run Once 配置的温重启。

Boot Options 部分定义虚拟机的启动序列、运行选项以及用于安装操作系统和所需驱动程序的源镜像。

注意

下表不包含是否需要电源周期的信息,因为这些一次性引导选项仅在重启虚拟机时应用。

表 A.13. 引导选项部分

字段名称描述

附加软盘

将软盘镜像附加到虚拟机。使用这个选项安装 Windows 驱动程序。软盘镜像必须位于 ISO 域中。

Attach CD

将 ISO 镜像附加到虚拟机。使用此选项安装虚拟机的操作系统和应用程序。CD 镜像必须驻留在 ISO 域中。

启用菜单选择引导设备

启用菜单以选择引导设备。虚拟机启动并连接到控制台后,但在虚拟机开始启动前,会显示一个菜单,供您选择启动设备。这个选项应该在初始引导前启用,以便您可以选择所需的安装介质。

以暂停模式启动

启动并暂停虚拟机,以启用与控制台的连接。适用于位于远程位置的虚拟机。

预定义的启动序列

确定引导设备用于启动虚拟机的顺序。选择 Hard DiskCD-ROMNetwork(PXE),然后使用 UpDown 将 选项向上或向下移动。

无状态运行

会在关闭时删除对虚拟机的所有数据和配置更改。只有在虚拟磁盘附加到虚拟机时,此选项才可用。

Linux Boot Options 部分包含可直接引导 Linux 内核的字段,而不是通过 BIOS 引导装载程序。

表 A.14. Linux 启动选项部分

字段名称描述

内核路径

内核镜像的完全限定路径以引导虚拟机。内核镜像必须存储在 ISO 域(路径名称,格式为 iso://path-to-image)上,或者存储在主机的本地存储域( /data/images 格式的路径名称)。

initrd 路径

与之前指定的内核一起使用的 ramdisk 镜像的完全限定路径。ramdisk 镜像必须存储在 ISO 域中(采用 iso://path-to-image 格式的路径名称)或主机的本地存储域(路径名称为 /data/images格式)。

内核参数

启动时要与定义的内核一起使用的内核命令行参数字符串.

Initial Run 部分用于指定是否使用 Cloud-Init 或 Sysprep 初始化虚拟机。对于基于 Linux 的虚拟机,您必须选中 Initial Run 选项卡中的 Use Cloud-Init 复选框,以查看可用的选项。对于基于 Windows 的虚拟机,您必须通过选择"引导选项选项卡中的附加软盘复选框并从列表中选择软盘来附加 [sysprep] 软盘。

Initial Run 部分中提供的选项因虚拟机所基于的操作系统而异。

表 A.15. 初始运行部分(基于 Linux 的虚拟机)

字段名称描述

VM 主机名

虚拟机的主机名。

配置时区

虚拟机的时区。选择此复选框,然后从 Time Zone 列表中选择一个时区。

身份验证

虚拟机的身份验证详情。单击暴露的箭头,以显示这个选项的设置。

身份验证用户名

在虚拟机上创建新用户帐户。如果未填写此字段,则默认用户为 root

验证使用已配置的密码

指定初始 root 密码后会自动选择此复选框。您必须清除此复选框,以启用 PasswordVerify Password 字段并指定新密码。

身份验证密码

虚拟机的 root 密码。在此文本字段中输入密码和 Verify Password 文本字段以验证密码。

身份验证SSH 授权密钥

要添加到虚拟机的授权密钥文件中的 SSH 密钥。

身份验证重新生成 SSH 密钥

为虚拟机重新生成 SSH 密钥。

网络

虚拟机的网络相关设置。单击暴露的箭头,以显示这个选项的设置。

网络DNS 服务器

虚拟机使用的 DNS 服务器。

网络DNS 搜索域

虚拟机使用的 DNS 搜索域。

NetworkNetwork

为虚拟机配置网络接口。选中此复选框并单击 +- 以向虚拟机中添加或删除网络接口。单击 + 时,会看到一组字段,可以指定是否使用 DHCP,并配置 IP 地址、子网掩码和网关,并指定网络接口是否在引导时启动。

自定义脚本

自定义脚本,这些脚本将在虚拟机启动时在虚拟机上运行。此字段中输入的脚本是自定义 YAML 部分,添加到管理器生成的 YAML 部分,并允许您自动执行任务,如创建用户和文件、配置 yum 存储库和运行命令。有关可在此字段中输入的脚本格式的更多信息,请参阅 自定义脚本 文档。

表 A.16. 初始运行部分(基于 Windows 的虚拟机)

字段名称描述

VM 主机名

虚拟机的主机名。

虚拟机所属的 Active Directory 域。

机构名称

虚拟机所属组织的名称。此选项对应于文本字段,用于设置第一次运行 Windows 的计算机时显示的组织名称。

Active Directory OU

虚拟机所属的 Active Directory 域中的组织单元。必须提供可分辨名称。例如 CN=Users,DC=lab,DC=local

配置时区

虚拟机的时区。选择此复选框,然后从 Time Zone 列表中选择一个时区。

管理密码

虚拟机的管理用户密码。单击暴露的箭头,以显示这个选项的设置。

管理员密码使用已配置了密码

指定初始管理用户密码后会自动选择此复选框。您必须清除此复选框,以启用 Admin PasswordVerify Admin Password 字段并指定新密码。

Admin PasswordAdmin Password

虚拟机的管理用户密码。在此文本字段中输入密码和 Verify Admin Password 文本字段以验证密码。

自定义区域

区域设置必须采用如 en-US 的格式。单击暴露的箭头,以显示这个选项的设置。

自定义区域输入区域设置

用于用户输入的区域设置。

自定义区域UI 语言

用于用户界面元素的语言,如按钮和菜单。

自定义区域系统区域

整个系统的区域设置。

自定义区域用户区域设置

供用户使用的区域设置。

Sysprep

自定义 Sysprep 定义。定义的格式必须是完整的无人值守安装应答文件。您可以在安装 Red Hat Virtualization Manager 的机器上的 /usr/share/ovirt-engine/conf/sysprep/ 目录中复制并粘贴默认回答文件,并根据需要更改字段。该定义将覆盖 Initial Run 字段中输入的任何值。如需更多信息,请参阅 第 7 章 模板

虚拟机所属的 Active Directory 域。如果留空,则使用上一 Domain 字段的值。

备用凭证

选择此复选框可让您将 用户名密码设置为替代凭据。

System 部分允许您定义支持的机器类型或 CPU 类型。

表 A.17. 系统部分

字段名称描述

自定义模拟机器

这个选项允许您指定机器类型。如果更改,虚拟机将仅在支持此机器类型的主机上运行。默认为集群的默认机器类型。

自定义 CPU 类型

这个选项允许您指定 CPU 类型。如果更改,虚拟机将仅在支持此 CPU 类型的主机上运行。默认为集群的默认 CPU 类型。

Host 部分用于定义虚拟机的主机。

表 A.18. 主机部分

字段名称描述

集群中的任何主机

将虚拟机分配到任何可用的主机上。

特定主机.

为虚拟机指定用户定义的主机。

Console 部分定义要连接到虚拟机的协议。

表 A.19. 控制台部分

字段名称描述

无头模式

如果您在第一次运行机器时不需要图形控制台,请选择这个选项。如需更多信息,请参阅 第 4.9 节 “配置无头虚拟机”

VNC

要求 VNC 客户端通过 VNC 连接到虚拟机。(可选)从下拉列表中指定 VNC Keyboard Layout

SPICE

Linux 和 Windows 虚拟机的建议协议.Windows 8 和服务器 2012 虚拟机支持使用没有 QXL 驱动程序的 SPICE 协议;但是,对于此配置,不支持多个监控和图形加速。

启用 SPICE 文件传输

确定您是否可以将文件从外部主机拖放到虚拟机的 SPICE 控制台。此选项仅适用于使用 SPICE 协议的虚拟机。默认选择此复选框。

启用 SPICE 剪贴板复制和粘贴

定义您是否可以从外部主机复制内容并将其粘贴到虚拟机的 SPICE 控制台中。此选项仅适用于使用 SPICE 协议的虚拟机。默认选择此复选框。

Custom Properties 部分包含用于运行虚拟机的其他 VDSM 选项。详情请查看 表 A.10 “虚拟机自定义属性设置”

A.3. 新网络接口和编辑网络接口 Windows 中的设置说明

当您添加或编辑虚拟机网络接口时,将应用这些设置。如果您有多个网络接口附加到虚拟机,您可以将虚拟机置于多个逻辑网络上。

表 A.20. 网络接口设置

字段名称描述需要电源重启?

名称

网络接口的名称。此文本字段的限制为 21 个字符,且必须是唯一的名称,其中含有大写字母和小写字母、数字、连字符和下划线的任意组合。

No.

profile

网络接口所放入的 vNIC 配置文件和逻辑网络。默认情况下,所有网络接口都放在 ovirtmgmt 管理网络中。

No.

类型

网络接口提供给虚拟机的虚拟接口。

  • rtl8139e1000 设备驱动程序包含在大多数操作系统中。
  • VirtIO 速度更快,但需要 VirtIO 驱动程序。Red Hat Enterprise Linux 5 及更高版本包括 VirtIO 驱动程序。Windows 不包含 VirtIO 驱动程序,但可以从客户机工具 ISO 或虚拟软盘安装。
  • PCI Passthrough 支持 vNIC 直接连接到支持 SR-IOV 的 NIC 的虚拟功能(VF)。然后,vNIC 将绕过软件网络虚拟化,直接连接到 VF 进行直接设备分配。所选 vNIC 配置集还必须启用 Passthrough

是。

自定义 MAC 地址

选择这个选项来设置自定义 MAC 地址。Red Hat Virtualization Manager 会自动生成一个 MAC 地址,该地址对环境是唯一的,用于标识网络接口。在同一网络中在线具有相同 MAC 地址的两个设备会导致网络冲突。

是。

链接状态

网络接口是否连接到逻辑网络。

  • Up :网络接口位于其插槽上。

    • Card 状态为 Plugged 时,这表示网络接口连接到网络电缆,并且处于活动状态。
    • Card StatusUnplugged 时,网络接口将自动连接到网络,并在插入后变为活动状态。
  • Down:网络接口位于其插槽上,但没有连接到任何网络。虚拟机将无法在此状态运行。

No.

卡状态

是否在虚拟机上定义网络接口。

  • plugged :网络接口已在虚拟机上定义。

    • 如果其 链路状态Up,则表示网络接口连接到网络电缆并处于活动状态。
    • 如果其 链路状态为 Down,则网络接口不会连接到网络电缆。
  • Unplugged :网络接口仅在 Manager 上定义,且不与虚拟机关联。

    • 如果其 链路状态Up,则当网络接口插入后,它将自动连接到网络并变为活动状态。
    • 如果其 Link StateDown,则网络接口在虚拟机上定义之前不会连接到任何网络。

No.

A.4. 新虚拟磁盘和编辑虚拟磁盘窗口中设置的说明

注意

下表不包含是否需要电源周期的信息,因为该信息不适用于这些情况。

表 A.21. 新虚拟磁盘和编辑虚拟磁盘设置: 镜像

字段名称Description

Size(GB)

以 GB 为单位的新虚拟磁盘大小。

Alias

虚拟磁盘的名称,限制为 40 个字符。

Description

虚拟磁盘的描述。建议使用此字段,但不强制设置。

Interface

磁盘向虚拟机呈现的虚拟接口。VirtIO 速度更快,但需要驱动程序。Red Hat Enterprise Linux 5 及更高版本包括这些驱动程序。Windows 不包括这些驱动程序,但可以从客户机工具 ISO 或虚拟软盘磁盘安装。IDE 设备不需要特殊驱动程序。

在停止磁盘所附加的所有虚拟机后,可以更新接口类型。

数据中心

提供虚拟磁盘的数据中心。

存储域

存储虚拟磁盘的存储域。下拉列表显示给定数据中心中所有可用的存储域,还显示存储域中的总空间和当前可用空间。

分配策略

新虚拟磁盘的调配策略。

  • 在创建虚拟磁盘时,预分配 存储域中磁盘的整个大小。虚拟大小和预分配磁盘的实际大小相同。与精简调配的虚拟磁盘相比,预分配的虚拟磁盘需要更长的时间,但读取和写入性能更佳。建议为服务器和其他 I/O 密集型虚拟机预分配的虚拟磁盘。如果虚拟机每四秒写入超过 1 GB,请尽可能使用预分配的磁盘。
  • 精简资源调配 会在创建虚拟磁盘时分配 1 GB,并为磁盘可增长的大小设置最大限制。磁盘的虚拟大小是最大限制;磁盘的实际大小是到目前为止已分配的空间。精简置备的磁盘比预分配的磁盘创建更快,并允许存储过量使用。建议桌面使用精简配置虚拟磁盘。

磁盘配置文件

分配给虚拟磁盘的磁盘配置文件。磁盘配置文件定义存储域中虚拟磁盘的最大吞吐量以及最大输入和输出操作级别。磁盘配置文件根据为数据中心创建的服务条目的存储质量在存储域级别定义。

激活磁盘

创建后立即激活虚拟磁盘。创建浮动磁盘时无法使用此选项。

删除后擦除

允许您启用增强的安全性,从而在删除虚拟磁盘时删除敏感资料。

可引导

允许您在虚拟磁盘中启用可引导标记。

可共享

允许您一次将虚拟磁盘附加到多个虚拟机。

只读

允许您将磁盘设置为只读。同一磁盘可以以只读方式附加到一个虚拟机,并且可以重新写入到另一台虚拟机。创建浮动磁盘时无法使用此选项。

启用 Discard

允许您在虚拟机启动时缩小精简置备的磁盘。对于块存储,底层存储设备必须支持丢弃调用,选项不能用于 Wipe After Delete,除非底层存储支持 discard_zeroes_data 属性。对于文件存储,底层文件系统和块设备必须支持丢弃调用。如果满足所有要求,QEMU 将 guest 虚拟机发出的 SCSI UNMAP 命令传递给底层存储,以释放未使用的空间。

Direct LUN 设置可以在 Targets > LUNsLUNs > Targets 中显示。目标 > LUN 根据发现它们的主机对可用 LUN 进行排序,而 LUNs > Targets 则显示 LUN 的单一列表。

表 A.22. 新虚拟磁盘并编辑虚拟磁盘设置: Direct LUN

字段名称Description

Alias

虚拟磁盘的名称,限制为 40 个字符。

Description

虚拟磁盘的描述。建议使用此字段,但不强制设置。默认情况下,LUN ID 的最后 4 个字符被插入到字段中。

可以使用 engine-config 命令将 PopulateDirectLUNDiskDescriptionWithLUNId 配置键设置为适当的值来配置默认行为。对于要使用的完整 LUN ID,可将配置密钥设置为 -1,对于忽略这个功能,可以将其设置为 0。正整数使用相应 LUN ID 的字符数填充描述信息。

Interface

磁盘向虚拟机呈现的虚拟接口。VirtIO 速度更快,但需要驱动程序。Red Hat Enterprise Linux 5 及更高版本包括这些驱动程序。Windows 不包括这些驱动程序,但可以从客户机工具 ISO 或虚拟软盘磁盘安装。IDE 设备不需要特殊驱动程序。

在停止磁盘所附加的所有虚拟机后,可以更新接口类型。

数据中心

提供虚拟磁盘的数据中心。

主机

挂载 LUN 的主机。您可以在数据中心中选择任何主机。

存储类型

要添加的外部 LUN 的类型。您可以从 iSCSI光纤通道中进行选择。

发现目标

当您使用 iSCSI 外部 LUN 时,可以扩展此部分,并选择 Targets > LUNs

地址 - 目标服务器的主机名或 IP 地址。

port - 用于尝试连接到目标服务器的端口。默认端口为 3260。

用户身份验证 - iSCSI 服务器需要用户身份验证。使用 iSCSI 外部 LUN 时,可以看到 User Authentication 字段。

CHAP 用户名 - 有权登录到 LUN 的用户的用户名。选择了 User Authentication 复选框时,可以访问此字段。

CHAP 密码 - 有权登录到 LUN 的用户密码。选择了 User Authentication 复选框时,可以访问此字段。

激活磁盘

创建后立即激活虚拟磁盘。创建浮动磁盘时无法使用此选项。

可引导

允许您在虚拟磁盘中启用可引导标记。

可共享

允许您一次将虚拟磁盘附加到多个虚拟机。

只读

允许您将磁盘设置为只读。同一磁盘可以以只读方式附加到一个虚拟机,并且可以重新写入到另一台虚拟机。创建浮动磁盘时无法使用此选项。

启用 Discard

允许您在虚拟机启动时缩小精简置备的磁盘。启用此选项后,QEMU 将发出自客户机虚拟机的 SCSI UNMAP 命令传递到底层存储,以释放未使用的空间。

启用 SCSI 透传

接口设置为 VirtIO-SCSI 时可用。选择此复选框可启用物理 SCSI 设备的透传到虚拟磁盘。启用 SCSI 透传的 VirtIO-SCSI 接口自动包含 SCSI 丢弃支持。当选择此复选框时,不支持只读

如果没有选择此复选框,虚拟磁盘将使用仿真 SCSI 设备。只读在仿真 VirtIO-SCSI 磁盘上受支持。

允许 Privileged SCSI I/O

选择了 Enable SCSI Pass-Through 复选框时可用。选择此复选框可启用未过滤的 SCSI Generic I/O(SG_IO)访问,从而允许磁盘上具有特权 SG_IO 命令。这是持久保留所必需的。

使用 SCSI 保留

当选择了 Enable SCSI Pass-ThroughAllow Privileged SCSI I/O 复选框时可用。选择此复选框可禁用使用此磁盘的任何虚拟机的迁移,以防止使用 SCSI 保留的虚拟机丢失对磁盘的访问。

填写 Discover Targets 部分中的字段,然后单击 Discover 来发现目标服务器。然后,您可以单击 Login All 按钮列出目标服务器上的可用 LUN,并使用每个 LUN 旁边的单选按钮,选择要添加的 LUN。

将 LUN 直接用作虚拟机硬盘映像可删除虚拟机及其数据之间的抽象层。

在将直接 LUN 用作虚拟机硬盘镜像时,您必须考虑以下事项:

  • 不支持直接 LUN 硬盘镜像的实时迁移。
  • 直接 LUN 磁盘不包括在虚拟机导出中。
  • 直接 LUN 磁盘不包含在虚拟机快照中。

如果没有可用的 OpenStack 卷存储域,则 Cinder 设置表单将被禁用,您可以在相关数据中心中创建磁盘。Cinder 磁盘需要访问使用外部提供者窗口添加到 Red Hat Virtualization 环境的 OpenStack 卷实例;如需更多信息,请参阅 为存储管理添加 OpenStack 卷(Cinder)实例

表 A.23. 新虚拟磁盘并编辑虚拟磁盘设置: Cinder

字段名称Description

Size(GB)

以 GB 为单位的新虚拟磁盘大小。

Alias

虚拟磁盘的名称,限制为 40 个字符。

Description

虚拟磁盘的描述。建议使用此字段,但不强制设置。

Interface

磁盘向虚拟机呈现的虚拟接口。VirtIO 速度更快,但需要驱动程序。Red Hat Enterprise Linux 5 及更高版本包括这些驱动程序。Windows 不包括这些驱动程序,但可以从客户机工具 ISO 或虚拟软盘磁盘安装。IDE 设备不需要特殊驱动程序。

在停止磁盘所附加的所有虚拟机后,可以更新接口类型。

数据中心

提供虚拟磁盘的数据中心。

存储域

存储虚拟磁盘的存储域。下拉列表显示给定数据中心中所有可用的存储域,还显示存储域中的总空间和当前可用空间。

卷类型

虚拟磁盘的卷类型。下拉列表显示所有可用的卷类型。卷类型将在 OpenStack Cinder 上管理和配置。

激活磁盘

创建后立即激活虚拟磁盘。创建浮动磁盘时无法使用此选项。

可引导

允许您在虚拟磁盘中启用可引导标记。

可共享

允许您一次将虚拟磁盘附加到多个虚拟机。

只读

允许您将磁盘设置为只读。同一磁盘可以以只读方式附加到一个虚拟机,并且可以重新写入到另一台虚拟机。创建浮动磁盘时无法使用此选项。

重要

挂载文件系统需要读写访问权限。对于包括如文件系统(EXT3, EXT4, 或 XFS) 的虚拟磁盘,不适合使用 Read Only 选项。

A.5. New Template 窗口中的 Settings 说明

下表详细介绍了 New Template 窗口的设置。

注意

下表不包含是否需要电源周期的信息,因为该信息不适用于这种情况。

  1. 新模板设置

字段

description/Action

名称

模板的名称。这是在管理门户的 Templates 选项卡中列出模板时使用的名称,它通过 REST API 访问。此文本字段的限制为 40 个字符,且必须是数据中心内的唯一名称,其包含大写字母和小写字母、数字、连字符和下划线的任意组合。名称可以在环境中的不同数据中心重复使用。

描述

模板的描述。建议使用此字段,但不强制设置。

注释

用于添加模板相关纯文本可读注释的字段。

集群

与模板关联的集群。默认情况下,这与原始虚拟机相同。您可以在数据中心中选择任何集群。

CPU 配置文件

分配给模板的 CPU 配置文件。CPU 配置文件定义虚拟机在其上运行的主机上可以访问的最大处理能力,以对该主机可用的总处理能力的百分比表示。CPU 配置集根据为数据中心创建的服务质量条目质量在集群级别上定义。

创建为 Template Sub-Version

指定模板是否创建为现有模板的新版本。选中此复选框来访问用于配置此选项的设置。

  • 根模板 :在其下添加子模板的模板。
  • sub-Version Name :模板的名称。这是在基于模板创建新虚拟机时访问模板所使用的名称。如果虚拟机无状态,子版本列表将包含 最新的 选项,而不是最新的子版本的名称。此选项会在重启后自动将最新的模板子版本应用到虚拟机。在处理无状态虚拟机池时,子版本特别有用。

磁盘分配

别名 - 模板使用的虚拟磁盘的别名。默认情况下,别名的值与源虚拟机的别名相同。

虚拟大小 - 基于模板的虚拟机可以使用的总磁盘空间量。此值无法编辑,仅供参考。这个值对应于创建或编辑磁盘时指定的大小(以 GB 为单位)。

格式 - 模板使用的虚拟磁盘格式。可用的选项有 QCOW2 和 Raw。默认情况下,格式设置为 Raw。

目标 - 模板所用虚拟磁盘所在的存储域。默认情况下,存储域的值与源虚拟机的存储域相同。您可以选择集群中的任何存储域。

磁盘配置文件 - 要分配给模板使用的虚拟磁盘的磁盘配置文件。磁盘配置文件基于数据中心中定义的存储配置文件创建。如需更多信息,请参阅创建磁盘配置集

允许所有用户访问此模板

指定模板是公共还是私有。公共模板可由所有用户访问,而私有模板则只能由 TemplateAdminSuperUser 角色的用户访问。

复制虚拟机权限

将源虚拟机上设置的显式权限复制到模板。

封装模板 (仅限 Linux)

指定模板是否封装。"封装"是从文件系统中删除所有机器特定配置的操作,包括 SSH 密钥、UDEV 规则、MAC 地址、系统 ID 和主机名。此设置可防止基于此模板的虚拟机继承源虚拟机的配置。

附录 B. virt-sysprep 操作

virt-sysprep 命令删除系统特定的详细信息。

模板封闭过程中仅执行标有 * 的操作。

# virt-sysprep --list-operations
abrt-data * Remove the crash data generated by ABRT
bash-history * Remove the bash history in the guest
blkid-tab * Remove blkid tab in the guest
ca-certificates   Remove CA certificates in the guest
crash-data * Remove the crash data generated by kexec-tools
cron-spool * Remove user at-jobs and cron-jobs
customize * Customize the guest
dhcp-client-state * Remove DHCP client leases
dhcp-server-state * Remove DHCP server leases
dovecot-data * Remove Dovecot (mail server) data
firewall-rules   Remove the firewall rules
flag-reconfiguration   Flag the system for reconfiguration
fs-uuids   Change filesystem UUIDs
kerberos-data   Remove Kerberos data in the guest
logfiles * Remove many log files from the guest
lvm-uuids * Change LVM2 PV and VG UUIDs
machine-id * Remove the local machine ID
mail-spool * Remove email from the local mail spool directory
net-hostname * Remove HOSTNAME in network interface configuration
net-hwaddr * Remove HWADDR (hard-coded MAC address) configuration
pacct-log * Remove the process accounting log files
package-manager-cache * Remove package manager cache
pam-data * Remove the PAM data in the guest
puppet-data-log * Remove the data and log files of puppet
rh-subscription-manager * Remove the RH subscription manager files
rhn-systemid * Remove the RHN system ID
rpm-db * Remove host-specific RPM database files
samba-db-log * Remove the database and log files of Samba
script * Run arbitrary scripts against the guest
smolt-uuid * Remove the Smolt hardware UUID
ssh-hostkeys * Remove the SSH host keys in the guest
ssh-userdir * Remove ".ssh" directories in the guest
sssd-db-log * Remove the database and log files of sssd
tmp-files * Remove temporary files
udev-persistent-net * Remove udev persistent net rules
user-account   Remove the user accounts in the guest
utmp * Remove the utmp file
yum-uuid * Remove the yum UUID