Red Hat Training

A Red Hat training course is available for Red Hat Virtualization

虚拟机管理指南

Red Hat Virtualization 4.0

在 Red Hat Virtualization 环境中管理虚拟机

Red Hat Virtualization Documentation Team

Red Hat Customer Content Services

摘要

本指南介绍了在 Red Hat Virtualization 中安装、配置和管理虚拟机的内容。

第 1 章 介绍

虚拟机是通过软件实现的计算机。Red Hat Virtualization 环境提供了创建虚拟台式机和虚拟服务器的功能。
虚拟机整合了计算任务和负载。在传统的计算环境中,负载通常是在单独管理和升级的服务器上进行的。而使用虚拟机,可以减少运行计算任务和负载所需要的硬件,以及相应的管理任务。

1.1. 本指南针对的读者

Red Hat Virtualization 中的多数与虚拟机相关的任务都可以通过用户门户和管理门户进行。但是,这两个门户的用户界面不完全相同,一些管理任务只能通过管理门户进行,本指南会对只能在管理门户中进行的任务给予特殊注明。用户可以使用哪个门户,以及用户可以执行什么操作是由用户的具体权限级别决定的。第 6.8 节 “虚拟机和权限” 介绍了与虚拟机权限相关的信息。
用户门户的界面在 Introduction to the User Portal 中进行了介绍。
管理门户的界面在 Introduction to the Administration Portal 中进行了介绍。
使用 Red Hat Virtualization REST API 创建和管理虚拟机的信息包括在 REST API 指南中。

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

Red Hat Virtualization 支持使用以下操作系统的虚拟机:

表 1.1. 可以作为虚拟机操作系统的操作系统

操作系统构架是否支持 SPICE
Red Hat Enterprise Linux 3
32-bit、64-bit
支持
Red Hat Enterprise Linux 4
32-bit、64-bit
支持
Red Hat Enterprise Linux 5
32-bit、64-bit
支持
Red Hat Enterprise Linux 6
32-bit、64-bit
支持
Red Hat Enterprise Linux 7
64-bit
支持
SUSE Linux Enterprise Server 10(在用户界面中选 Other Linux 作为虚拟机的类型)
32-bit、64-bit
不支持
SUSE Linux Enterprise Server 11(红帽不提供这个操作系统的 SPICE 驱动 (QXL),但这个操作系统的厂商可能会在这个操作系统的发行版本中提供 SPICE 驱动。)
32-bit、64-bit
不支持
Ubuntu 12.04 (Precise Pangolin LTS)
32-bit、64-bit
支持
Ubuntu 12.10 (Quantal Quetzal)
32-bit、64-bit
支持
Ubuntu 13.04 (Raring Ringtail)
32-bit、64-bit
不支持
Ubuntu 13.10 (Saucy Salamander)
32-bit、64-bit
支持
Windows 7
32-bit、64-bit
支持
Windows 8
32-bit、64-bit
支持
Windows 8.1
32-bit、64-bit
支持
Windows 10
32-bit、64-bit
支持
Windows Server 2008
32-bit、64-bit
支持
Windows Server 2008 R2
64-bit
支持
Windows Server 2012
64-bit
支持
Windows Server 2012 R2
64-bit
不支持
使用以下操作系统作为 Red Hat Virtualization 中的虚拟机操作系统被 GSS(Global Support Services)所支持。

表 1.2. GSS(Global Support Services)支持的虚拟机操作系统

操作系统构架
Red Hat Enterprise Linux 3
32-bit、64-bit
Red Hat Enterprise Linux 4
32-bit、64-bit
Red Hat Enterprise Linux 5
32-bit、64-bit
Red Hat Enterprise Linux 6
32-bit、64-bit
Red Hat Enterprise Linux 7
64-bit
SUSE Linux Enterprise Server 10(在用户界面中选 Other Linux 作为虚拟机的类型)
32-bit、64-bit
SUSE Linux Enterprise Server 11(红帽不提供这个操作系统的 SPICE 驱动 (QXL),但这个操作系统的厂商可能会在这个操作系统的发行版本中提供 SPICE 驱动。)
32-bit、64-bit
Windows 7
32-bit、64-bit
Windows 8
32-bit、64-bit
Windows 8.1
32-bit、64-bit
Windows 10
32-bit、64-bit
Windows Server 2008
32-bit、64-bit
Windows Server 2008 R2
64-bit
Windows Server 2012
64-bit
Windows Server 2012 R2
64-bit
Desktop Protocol (RDP) 是使用用户门户访问 Windows 8 和 Windows 2012 虚拟机的默认连接协议。因为 Microsoft 对 Windows Display Driver Model 进行了改变,所以使用 SPICE 进行连接对性能会有影响。

注意

虽然支持使用 Red Hat Enterprise Linux 3 和 Red Hat Enterprise Linux 4 作为虚拟机的操作系统,但是使用它们的 32 位版本的虚拟机将无法通过管理门户对它们进行正常关机(因为 32 位的 x86 内核不支持 ACPI)。如果需要关闭使用 Red Hat Enterprise Linux 3 或 Red Hat Enterprise Linux 4 的 32 位 x86 内核的虚拟机,请在虚拟机图标上点鼠标右键并选择 Power Off 选项。

注意

请参阅 http://www.redhat.com/resourcelibrary/articles/enterprise-linux-virtualization-support 来获取最新的、关于虚拟机操作系统的支持信息。

1.3. 虚拟机性能参数

Red Hat Virtualization 的虚拟机支持以下配置:

表 1.3. 支持的虚拟机配置

参数数量备注
虚拟 CPU240Red Hat Enterprise Linux 6 主机上运行的每个虚拟机。
虚拟 CPU240Red Hat Enterprise Linux 7 主机上运行的每个虚拟机。
虚拟内存4000GB一个 64 位的虚拟机
虚拟内存4 GB一个 32 位的虚拟机。请注意,虚拟机使用的操作系统会对虚拟机所能识别的内存数量有限制,因此虚拟机可能无法识别全部 4 GB 内存。。
虚拟化的存储设备8每个虚拟机
虚拟网络接口控制器8每个虚拟机
虚拟 PCI 设备32每个虚拟机

1.4. 安装支持组件

1.4.1. 安装控制台组件

控制台(console)就是一个图形界面,您可以通过它来查看虚拟机在启动/关机时的屏幕输出、虚拟机的桌面显示,并可以象操作一台物理机器一样对虚拟机进行操作。在 Red Hat Virtualization 环境中,打开虚拟机控制台的默认程序是 Remote Viewer,这个应用程序需要在使用前安装在客户端的机器上。

1.4.1.1. 在 Red Hat Enterprise Linux 上安装 Remote Viewer

Remote Viewer 应用程序为用户提供了一个连接虚拟机的图形化控制台。安装后,它会在打开一个到虚拟机的 SPICE 进程时被自动调用。另外,它也可以被作为一个独立的应用程序来使用。Remote Viewer 包括在 Red Hat Enterprise Linux Workstation 和 Red Hat Enterprise Linux Server 软件仓库所提供的 virt-viewer 软件包中。

过程 1.1. 在 Linux 上安装 Remote Viewer

  1. 安装 virt-viewer 软件包:
    # yum install virt-viewer
  2. 重新启动网络浏览器来使所做的改变有效。
您可以使用 SPICE 协议或 VNC 协议连接到虚拟机。

1.4.1.2. 在 Windows 上安装 Remote Viewer

Remote Viewer 应用程序为用户提供了一个连接虚拟机的图形化控制台。安装后,它会在打开一个到虚拟机的 SPICE 进程时被自动调用。另外,它也可以被作为一个独立的应用程序来使用。

过程 1.2. 在 Windows 上安装 Remote Viewer

  1. 打开网络浏览器并根据您的系统下载相应的安装程序。
    • Virt Viewer for 32-bit Windows:
      https://your-manager-fqdn/ovirt-engine/services/files/spice/virt-viewer-x86.msi
    • Virt Viewer for 64-bit Windows:
      https://your-manager-fqdn/ovirt-engine/services/files/spice/virt-viewer-x64.msi
  2. 打开下载的文件所在的目录。
  3. 双击文件图标。
  4. 如果出现一个安全提示,点 Run
  5. 如果出现用户账户管理控制提示,选 Yes
Remote Viewer 被安装,并可以通过“Start”菜单中的 All Programs -> VirtViewer -> Remote Viewer 打开它。

1.4.2. 在 Windows 上安装 usbdk

usbdk 是一个可以在客户虚拟机上安装或卸载 Windows USB 驱动的驱动程序。请注意,以前支持的 USB Clerk 选项已过时,现在不再被支持。

过程 1.3. 在 Windows 上安装 usbdk

  1. 打开网络浏览器并根据您的系统下载相应的安装程序。
    • 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
根据实际情况,SPICE 客户端会发送请求来为 USB 设备安装或卸载驱动。

第 2 章 安装 Linux 虚拟机

本章介绍了安装 Linux 虚拟机所需的步骤:
  1. 创建一个空虚拟机来安装操作系统。
  2. 添加用于存储的虚拟磁盘。
  3. 添加一个网络接口来把虚拟机连接到网络。
  4. 在虚拟机上安装操作系统。请参阅操作系统安装指南。
  5. 在 Content Delivery Network 中注册虚拟机并订阅相关的权利。
  6. 安装 guest 代理和驱动。
当这些步骤都完成后,新虚拟机就已准备就绪并可以进行其它任务。

2.1. 创建 Linux 虚拟机

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

过程 2.1. 创建 Linux 虚拟机

  1. 虚拟机标签页。
  2. 新建虚拟机打开新建虚拟机窗口。
    新虚拟机窗口

    图 2.1. 新虚拟机窗口

  3. 操作系统下拉列表中选 Linux 操作系统。
  4. 为虚拟机输入名称
  5. 为虚拟机添加存储。在实例镜像附加创建一个虚拟磁盘。
  6. 把虚拟机连接到网络。在 General 标签页底部的 nic1 下拉列表中选择一个 vNIC 配置档案来添加一个网络接口。
  7. 系统标签页中指定虚拟机的内存大小
  8. 引导选项标签页中选引导虚拟机的第一个设备
  9. 使用其它项中的默认设置,或根据需要对它们进行修改。如需了解更多与新建虚拟机窗口中的项相关的信息,请参阅 第 A.1 节 “新建虚拟机和编辑虚拟机窗口中的设置介绍”
  10. 确定
新的虚拟机被创建,并显示在虚拟机列表中,它的状态是 Down。在使用这个虚拟机前,需要安装一个操作系统,并在 Content Delivery Network 中注册。

2.2. 启动虚拟机

2.2.1. 启动一个虚拟机

过程 2.2. 启动虚拟机

  1. 虚拟机标签页并选择一个状态为 Down 的虚拟机。
  2. 点运行 ( ) 按钮。
    或者,在虚拟机上点鼠标右键,选择运行
虚拟机的状态会变为 Up,操作系统安装的过程开始。如果没有自动打开到虚拟机的控制台窗口,则需要手工打开它。

2.2.2. 打开一个虚拟机的控制台

使用 Remote Viewer 连接到一台虚拟机。

过程 2.3. 连接到虚拟机

  1. 如果还没有安装 Remote Viewer,请先安装它。详情请参阅 第 1.4.1 节 “安装控制台组件”
  2. 虚拟机标签页并选择一个虚拟机。
  3. 点控制台图标;或在虚拟机图标上点鼠标右键并选择控制台
    • 如果使用 SPICE,一个控制台窗口会为虚拟机自动打开。
    • 如果使用 VNC,一个 console.vv 文件会被下载。点这个文件,一个控制台窗口会为虚拟机自动打开。

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

对一个虚拟机的串口控制台进行访问需要通过命令行进行,而不能使用管理门户或用户门户。串口控制台通过 VirtIO 频道进行仿真,并使用 SSH 和密钥对,而且不需要直接访问 Manager。Manager 会起到一个代理的作用,提供虚拟机的位置信息,并保存验证密钥。通过管理门户或用户门户可以为每个用户添加公共密钥。用户只能访问他们具有访问权限的虚拟机。

重要

为了访问虚拟机的串口控制台,用户需要具有虚拟机的 UserVmManager、SuperUser 或 UserInstanceManager 的权限。这些权限必须为每个用户明确分配,把它们分配给 Everyone 并不足够。
串口控制台需要使用 Manager 的 TCP 端口 2222,这个端口会在新安装的系统上执行 engine-setup 操作时被打开。另外,串口控制台还需要 Manager 上的 ovirt-vmconsole 软件包和 ovirt-vmconsole-proxy 软件包,以及虚拟主机上的 ovirt-vmconsole 软件包和 ovirt-vmconsole-host 软件包。这些软件包会在一个新安装的系统中被默认安装。如需在已存在的系统上安装这个软件包,则需要重新安装主机。相关信息,请参阅管理指南中的 Reinstalling Virtualization Hosts

过程 2.4. 连接到虚拟机的串口控制台

  1. 在用来访问虚拟机串口控制台的客户端系统上产生一个 SSH 密钥对。Manager 支持标准的 SSH 密钥类型。以下命令可以产生一个 RSA 密钥:
    # ssh-keygen -t rsa -b 2048 -C "admin@internal" -f .ssh/serialconsolekey
    这个命令会产生一个公共密钥和一个私用密钥。
  2. 在管理门户或用户门户中,点页头条中的登陆用户的名称,点选项打开编辑选项窗口。
  3. 把客户端机器用来访问串口控制台所要用的公共密钥的内容粘贴到用户的共钥项中。
  4. 虚拟机标签页并选择一个虚拟机。
  5. 编辑
  6. 编辑虚拟机窗口中的控制台标签页中,选中启用 VirtIO 串口控制台选项。
  7. 从客户端系统上连接到虚拟机的串口控制台:
    1. 如果只有一个虚拟机,这个命令会把用户连接到那个虚拟机:
      # ssh -t -p 2222 ovirt-vmconsole@MANAGER_IP
      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:
      如果有多个虚拟机,这个命令会列出可用的虚拟机列表:
      # ssh -t -p 2222 ovirt-vmconsole@MANAGER_IP
      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
    2. 或者,使用虚拟机的 ID 或名称直接连接到所需的虚拟机:
      # ssh -t -p 2222 ovirt-vmconsole@MANAGER_IP --vm-id vmid1
      # ssh -t -p 2222 ovirt-vmconsole@MANAGER_IP --vm-name vm1

重要

当到串口控制台的连接非正常中断时,会出现 TCP 超时错误。在超时错误过期前,将无法重新连接到虚拟机的串口控制台。

2.3. 订阅所需的权利

在安装红帽所签发的软件包前,需要在 Content Delivery Network 中注册您的系统。在注册完成后,就可以使用您的权利池(entitlement pool)中的权利(entitlement)来启用所需的软件仓库(repository)。

过程 2.5. 使用 Subscription Manager 订阅所需的权利(Entitlement)

  1. 在 Content Delivery Network 中注册您的系统,在出现提示时输入您的用户门户网站的用户名和密码:
    # subscription-manager register
  2. 找到相关订阅池并记录下它们的 ID。
    # subscription-manager list --available
  3. 使用在上一步获得的权利池 ID 来附加所需的权利。
    # subscription-manager attach --pool=pool_id
  4. 禁用所有存在的软件仓库:
    # subscription-manager repos --disable=*
  5. 当一个系统订阅到带有多个软件仓库的订阅池时,在默认情况下,只有主仓库被启用,其它仓库都没有启用。启用其它仓库:
    # subscription-manager repos --enable=repository
  6. 确认当前安装的软件包已被升级到最新版本:
    # yum update

2.4. 安装 Guest 代理和驱动

2.4.1. Red Hat Virtualization Guest 代理和驱动

Red Hat Virtualization guest 代理和驱动为 Red Hat Enterprise Linux 和 Windows 虚拟机提供了额外的信息和功能。其中主要的功能包括监测资源的使用情况、通过用户门户和管理门户安全地关闭或重启虚拟机。您需要在每台需要使用这些功能的虚拟机上都安装 Red Hat Virtualization guest 代理和驱动。

表 2.1. Red Hat Virtualization Guest 驱动

驱动
描述
适用于
virtio-net
半虚拟化(Paravirtualized)网络驱动提供了比模拟设备(如 rtl)更好的性能。
服务器和台式机
virtio-block
半虚拟化(Paravirtualized)HDD 驱动提供了比模拟设备(如 IDE)更好的 I/O 性能。这个驱动在软件层面实现了主机使用的 virtio 设备的功能,可以被看做为一个硬件设备。
服务器和台式机
virtio-scsi
半虚拟化(Paravirtualized)iSCSI HDD 驱动提供了和 virtio-block 设备相似的功能,并提供了一些改进。特别是这个驱动支持添加上百个设备,并使用标准的 SCSI 设备命名规则来为设备命名。
服务器和台式机
virtio-serial
Virtio-serial 提供了多串口的支持。它提供了虚拟机和主机间的快速通信功能。guest 代理程序和其它功能(如在虚拟机和主机间进行文本的复制和粘贴、用户登录)需要虚拟机和主机间的快速通信功能。
服务器和台式机
virtio-balloon
Virtio-balloon 被用来控制虚拟机可以访问的内存大小。它提供了更好的内存过度分配(memory over-commitment)的性能。这个驱动被安装,但在默认的情况下没有被 Red Hat Virtualization 使用。
服务器和台式机
qxl
半虚拟化(Paravirtualized)显卡减少了对主机 CPU 的使用,并提供了更好的性能。
服务器和台式机

表 2.2. Red Hat Virtualization guest 代理和工具程序

guest 代理程序/工具
描述
适用于
rhevm-guest-agent-common
允许 Red Hat Virtualization Manager 接收虚拟机的内部事件和信息(如 IP 地址、安装的应用程序)。并且允许 Red Hat Enterprise Virtualization Manager 在虚拟机上执行特定的命令(如关机或重启)
在运行 Red Hat Enterprise Linux 6 或更高版本的虚拟机上,rhevm-guest-agent-common 会在虚拟机上安装并配置 tuned
服务器和台式机
spice-agent
SPICE 代理程序支持多个显示器以及客户鼠标模式(client-mouse-mode)。它有比 QEMU 模拟器更好的用户体验。客户鼠标模式不需要鼠标光标抓取功能。SPICE 代理程序会通过减少显示的级别(如减少颜色的深度、禁用墙纸、禁用动画)来减少对网络资源的使用。SPICE 代理程序支持剪贴板的功能,用户可以在客户端和虚拟机间进行文字和图形的复制和粘贴,以及根据客户端的显示设置自动设置虚拟机。在 Windows 虚拟机上,SPICE 代理程序包括了 vdservice 和 vdagent。
服务器和台式机
rhev-sso
允许用户通过访问 Red Hat Virtualization Manager 的身份认证来自动登录到它们的虚拟机上。
台式机
rhev-usb
包括了在虚拟机上支持 Legacy USB (版本 3.0 或更早版本)所需要的驱动和服务的软件包。如需访问插在客户端上的 USB 设备,需要安装这个软件包。客户端需要有 RHEV-USB Client
台式机

2.4.2. 在 Red Hat Enterprise Linux 虚拟机上安装 guest 代理和驱动

使用 Red Hat Virtualization Agent 软件仓库所提供的 rhevm-guest-agent 软件包可以在 Red Hat Enterprise Linux 虚拟机上安装 Red Hat Virtualization guest 代理和驱动。

过程 2.6. 在 Red Hat Enterprise Linux 虚拟机上安装 guest 代理和驱动

  1. 登录到 Red Hat Enterprise Linux 虚拟机。
  2. 启用 Red Hat Virtualization Agent 仓库:
    • 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. 安装 rhevm-guest-agent-common 以及相关的依赖软件:
    # yum install rhevm-guest-agent-common
  4. 启用服务:
    • Red Hat Enterprise Linux 6
      # service ovirt-guest-agent start
      # chkconfig ovirt-guest-agent on
    • Red Hat Enterprise Linux 7
      # systemctl start ovirt-guest-agent.service
      # systemctl enable ovirt-guest-agent.service
  5. 启用并运行 qemu-ga 服务:
    • Red Hat Enterprise Linux 6
      # service qemu-ga start
      # chkconfig qemu-ga on
    • Red Hat Enterprise Linux 7
      # systemctl start qemu-guest-agent.service
      # systemctl enable qemu-guest-agent.service
guest 代理可以把使用信息传递给 Red Hat Virtualization Manager。Red Hat Virtualization 代理作为一个名为 ovirt-guest-agent 的服务运行,您可以使用 /etc/ 目录中的 ovirt-guest-agent.conf 配置文件对它进行配置。

第 3 章 安装 Windows 虚拟机

本章介绍了安装 Windows 虚拟机所需的步骤:
  1. 创建一个空虚拟机来安装操作系统。
  2. 添加用于存储的虚拟磁盘。
  3. 添加一个网络接口来把虚拟机连接到网络。
  4. virtio-win.vfd 软盘镜像附加到虚拟机,从而可以在操作系统安装过程中使用针对 VirtIO 优化过的设备驱动。
  5. 在虚拟机上安装操作系统。请参阅操作系统安装指南。
  6. 安装 guest 代理和驱动。
当这些步骤都完成后,新虚拟机就已准备就绪并可以进行其它任务。

3.1. 创建一个 Windows 虚拟机

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

过程 3.1. 创建 Windows 虚拟机

  1. 虚拟机标签页。
  2. 新建虚拟机打开新建虚拟机窗口。
    新虚拟机窗口

    图 3.1. 新虚拟机窗口

  3. 操作系统下拉列表中选 Windows 操作系统。
  4. 为虚拟机输入名称
  5. 为虚拟机添加存储。在实例镜像附加创建一个虚拟磁盘。
  6. 把虚拟机连接到网络。在 General 标签页底部的 nic1 下拉列表中选择一个 vNIC 配置档案来添加一个网络接口。
  7. 系统标签页中指定虚拟机的内存大小
  8. 引导选项标签页中选引导虚拟机的第一个设备
  9. 使用其它项中的默认设置,或根据需要对它们进行修改。如需了解更多与新建虚拟机窗口中的项相关的信息,请参阅 第 A.1 节 “新建虚拟机和编辑虚拟机窗口中的设置介绍”
  10. 确定
新的虚拟机被创建,并显示在虚拟机列表中,它的状态是 Down。在使用这个虚拟机前,需要安装一个操作系统、对 VirtIO 优化的磁盘和网络驱动。

3.2. 使用“只运行一次”选项启动虚拟机

3.2.1. 在 VirtIO 优化硬件上安装 Windows

在安装 Windows 时把 virtio-win.vfd 附加到虚拟机来安装针对 VirtIO 优化的磁盘和网络设备驱动。这些驱动比仿真的设备驱动具有更好的性能。
使用只运行一次选项附加软盘。这个软盘只会在引导中使用一次,这和新建虚拟机窗口中定义的引导选项不同。以下过程假设已为虚拟机添加了一个 Red Hat VirtIO 网络接口,以及一个使用 VirtIO 接口的磁盘。

注意

virtio-win.vfd 会被自动放置在 Manager 服务器所在 ISO 存储域中。管理员需要通过 engine-iso-uploader 手动把它上传到其它存储域中。

过程 3.2. 在安装 Windows 时安装 VirtIO 驱动

  1. 虚拟机页并选择一个虚拟机。
  2. 只运行一次
  3. 展开引导选项菜单。
  4. 选择附加软盘选项,从下拉列表中选择 virtio-win.vfd
  5. 选择附加 CD 选项,从下拉列表中选择所需的 Windows ISO。
  6. CD-ROM 移到引导序列项的最上面。
  7. 根据需要配置其它只运行一次选项。如需了解更多信息,请参阅 第 A.5 节 “只运行一次窗口中的设置介绍”
  8. 确定
虚拟机的状态会变为 Up,操作系统安装的过程开始。如果没有自动打开到虚拟机的控制台窗口,则需要手工打开它。
Windows 的安装包括了一个在安装过程的早期加载额外驱动的选项。使用这个选项来从附加到您的虚拟机上的 virtio-win.vfd 软盘(A:)中加载驱动。对于每个支持的虚拟机架构和 Windows 版本,磁盘中都有一个包括经过优化的硬件设备驱动的目录。

3.2.2. 打开一个虚拟机的控制台

使用 Remote Viewer 连接到一台虚拟机。

过程 3.3. 连接到虚拟机

  1. 如果还没有安装 Remote Viewer,请先安装它。详情请参阅 第 1.4.1 节 “安装控制台组件”
  2. 虚拟机标签页并选择一个虚拟机。
  3. 点控制台图标;或在虚拟机图标上点鼠标右键并选择控制台
    • 如果使用 SPICE,一个控制台窗口会为虚拟机自动打开。
    • 如果使用 VNC,一个 console.vv 文件会被下载。点这个文件,一个控制台窗口会为虚拟机自动打开。

3.3. 安装 Guest 代理和驱动

3.3.1. Red Hat Virtualization Guest 代理和驱动

Red Hat Virtualization guest 代理和驱动为 Red Hat Enterprise Linux 和 Windows 虚拟机提供了额外的信息和功能。其中主要的功能包括监测资源的使用情况、通过用户门户和管理门户安全地关闭或重启虚拟机。您需要在每台需要使用这些功能的虚拟机上都安装 Red Hat Virtualization guest 代理和驱动。

表 3.1. Red Hat Virtualization Guest 驱动

驱动
描述
适用于
virtio-net
半虚拟化(Paravirtualized)网络驱动提供了比模拟设备(如 rtl)更好的性能。
服务器和台式机
virtio-block
半虚拟化(Paravirtualized)HDD 驱动提供了比模拟设备(如 IDE)更好的 I/O 性能。这个驱动在软件层面实现了主机使用的 virtio 设备的功能,可以被看做为一个硬件设备。
服务器和台式机
virtio-scsi
半虚拟化(Paravirtualized)iSCSI HDD 驱动提供了和 virtio-block 设备相似的功能,并提供了一些改进。特别是这个驱动支持添加上百个设备,并使用标准的 SCSI 设备命名规则来为设备命名。
服务器和台式机
virtio-serial
Virtio-serial 提供了多串口的支持。它提供了虚拟机和主机间的快速通信功能。guest 代理程序和其它功能(如在虚拟机和主机间进行文本的复制和粘贴、用户登录)需要虚拟机和主机间的快速通信功能。
服务器和台式机
virtio-balloon
Virtio-balloon 被用来控制虚拟机可以访问的内存大小。它提供了更好的内存过度分配(memory over-commitment)的性能。这个驱动被安装,但在默认的情况下没有被 Red Hat Virtualization 使用。
服务器和台式机
qxl
半虚拟化(Paravirtualized)显卡减少了对主机 CPU 的使用,并提供了更好的性能。
服务器和台式机

表 3.2. Red Hat Virtualization guest 代理和工具程序

guest 代理/工具程序
描述
适用于
rhevm-guest-agent-common
允许 Red Hat Virtualization Manager 接收虚拟机的内部事件和信息(如 IP 地址、安装的应用程序)。并且允许 Red Hat Enterprise Virtualization Manager 在虚拟机上执行特定的命令(如关机或重启)
在运行 Red Hat Enterprise Linux 6 或更高版本的虚拟机上,rhevm-guest-agent-common 会在虚拟机上安装并配置 tuned
服务器和台式机
spice-agent
SPICE 代理程序支持多个显示器以及客户鼠标模式(client-mouse-mode)。它有比 QEMU 模拟器更好的用户体验。客户鼠标模式不需要鼠标光标抓取功能。SPICE 代理程序会通过减少显示的级别(如减少颜色的深度、禁用墙纸、禁用动画)来减少对网络资源的使用。SPICE 代理程序支持剪贴板的功能,用户可以在客户端和虚拟机间进行文字和图形的复制和粘贴,以及根据客户端的显示设置自动设置虚拟机。在 Windows 虚拟机上,SPICE 代理程序包括了 vdservice 和 vdagent。
服务器和台式机
rhev-sso
允许用户通过访问 Red Hat Virtualization Manager 的身份认证来自动登录到它们的虚拟机上。
台式机
rhev-usb
包括了在虚拟机上支持 Legacy USB (版本 3.0 或更早版本)所需要的驱动和服务的软件包。如需访问插在客户端上的 USB 设备,需要安装这个软件包。客户端需要有 RHEV-USB Client
台式机

3.3.2. 在 Windows 上安装 guest 代理

使用作为 Red Hat Virtualization Manager 的一个依赖软件包所安装的 rhev-guest-tools-iso 提供的 rhev-tools-setup.iso ISO 文件,可以在 Windows 虚拟机上安装 Red Hat Virtualization guest 代理和驱动。这个 ISO 文件被保存在安装了 Red Hat Virtualization Manager 的系统的 /usr/share/rhev-guest-tools-iso/rhev-tools-setup.iso 中。

注意

rhev-tools-setup.iso ISO 文件会在运行 engine-setup 时被自动复制到默认的 ISO 存储域中。如果没有运行这个命令,您必须手工把它上传到一个 ISO 存储域中。

注意

最新版本的 rhev-tools-setup.iso ISO 文件需要被手动附加到运行它们的 Windows 虚拟机上,并对工具程序和驱动进行升级。如果在虚拟机上启动了 APT 服务,最新版本的 ISO 文件会被自动附加。

注意

如果您使用命令行或作为实施工具(如 Windows Deployment Services)的一部分安装了 guest 代理和驱动,就可以在 RHEV-toolsSetup.exe 中使用 ISSILENTMODEISNOREBOOT 选项来以“安静模式”安装 guest 代理和驱动,并可以防止机器在安装完成后马上重启。机器会在整个实施过程完全完成后才重启。
D:\RHEV-toolsSetup.exe ISSILENTMODE ISNOREBOOT

过程 3.4. 在 Windows 上安装 guest 代理

  1. 登录到虚拟机。
  2. 选择包括 rhev-tools-setup.iso 文件的 CD。
  3. 双击 RHEV-toolsSetup
  4. 在欢迎界面中点 Next
  5. 按照 RHEV-Tools InstallShield Wizard 窗口中的提示进行操作。确认选择了组件列表中的所有选项。
    选择安装所有 Red Hat Virtualization Tools 组件

    图 3.2. 选择安装所有 Red Hat Virtualization Tools 组件

  6. 在安装完成后,选 Yes, I want to restart my computer now 并点 Finish
guest 代理和驱动可以把使用信息传递给 Red Hat Virtualization Manager,并允许您使用 USB 设备、单点登录以及其它功能。Red Hat Virtualization guest 代理以一个名为 RHEV Agent 的服务运行,您可以使用 rhev-agent 配置文件(位于 C:\Program Files\Redhat\RHEV\Drivers\Agent)对它进行配置。

3.3.3. 使用 Red Hat Virtualization APT(Application Provisioning Tool) 在 Windows 虚拟机上自动化 guest 相关的操作

Red Hat Virtualization Application Provisioning Tool(APT)是一个可以在 Windows 虚拟机和模板上安装的 Windows 服务。当 APT 服务在一台虚拟机上安装并运行后,附加的 ISO 文件会被自动扫描。当这个服务发现了一个有效的 Red Hat Virtualization guest 工具程序 ISO,并且还没安装过其它 guest 工具程序时,APT 服务会安装这个 guest 工具程序。如果 guest 工具程序已经被安装,但 ISO 镜像中包括更新的版本时,APT 服务会自动进行升级操作。以下操作假设您已经把 rhev-tools-setup.iso ISO 文件附加到虚拟机。

过程 3.5. 在 Windows 上安装 APT 服务

  1. 登录到虚拟机。
  2. 选择包括 rhev-tools-setup.iso 文件的 CD。
  3. 双击 RHEV-Application Provisioning Tool
  4. User Account Control 窗口中点 Yes
  5. 安装完成后,请确认 Start RHEV-apt Service 选项在 RHEV-Application Provisioning Tool InstallShield Wizard 窗口中被选择,然后点 Finish
当通过 APT 服务在虚拟机上成功安装或升级了 guest 工具程序后,这个虚拟机会自动重新启动(这个操作不会提示登录的用户进行确认)。当使用安装了 APT 服务的模板创建的虚拟机第一次引导时,APT 服务也会执行这些操作。

注意

取消选择 Start RHEV-apt Service 选项可以使 RHEV-apt 服务在安装完成后马上停止。您可以使用 Services 窗口随时停止、启动或重启这个服务。

第 4 章 额外配置

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

配置单点登录允许您使用登录到用户门户所使用的登录信息自动登录到虚拟机上。单点登录可以在 Red Hat Enterprise Linux 和 Windows 虚拟机上使用。

重要

如果到用户门户的单点登录功能被启用,则到虚拟机的单点登录功能将无法实现。这是因为,用户门户在启用了单点登录功能后,将不需要接受用户密码,因此用户的密码将无法在登录到虚拟机时被验证。

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

要配置 Red Hat Enterprise Linux 虚拟机使用 GNOME 和 KDE 图形桌面系统和 IPA(IdM)服务器实现单点登录,需要在虚拟机上安装 rhevm-guest-agent 软件包,以及和您的 window manager 相关的软件包。

重要

以下操作假设您已经有了一个可以正常工作的 IPA 设置,而且 IPA 域己经被加入到 Manager。另外,您还需要保证 Manager 上的时钟、虚拟机的时钟和 IPA(IdM)所在的系统时钟都在使用 NTP 进行同步。

过程 4.1. 为 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. 下载并安装 guest 代理软件包:
    # yum install rhevm-guest-agent-common
  4. 安装单点登录软件包:
    # yum install rhevm-guest-agent-pam-module
    # yum install rhevm-guest-agent-gdm-plugin
  5. 安装 IPA 软件包:
    # yum install ipa-client
  6. 运行以下命令,根据提示配置 ipa-client 并把虚拟机加入到域中:
    # ipa-client-install --permit --mkhomedir

    注意

    在使用 DNS obfuscation 的环境中,这个命令应该是:
    # ipa-client-install --domain=FQDN --server==FQDN
  7. 对于 Red Hat Enterprise Linux 7.2,运行:
    # authconfig --enablenis --update

    注意

    Red Hat Enterprise Linux 7.2 带有一个新版本的系统安全服务守护进程(System Security Services Daemon,简称 SSSD),它的配置与 Red Hat Virtualization Manager guest 代理的单点登录机制不匹配。运行以上命令才可以使单点登录正常工作。
  8. 获得一个 IPA 用户的详细信息:
    # getent passwd IPA_user_name
    它会返回和以下相似的内容:
    some-ipa-user:*:936600010:936600001::/home/some-ipa-user:/bin/sh
    在下一步中,您将需要这个信息来为 some-ipa-user 创建一个 home 目录。
  9. 为 IPA 用户创建一个 home 目录:
    1. 为新用户创建 home 目录:
      # mkdir /home/some-ipa-user
    2. 为新用户分配它的 home 目录的拥有者权限:
      # chown 935500010:936600001 /home/some-ipa-user
使用一个用户的用户名和密码登录到用户门户,然后就可以使用单点登录功能连接到虚拟机的控制台。您将会自动登录到虚拟机上。

4.1.2. 配置 Red Hat Enterprise Linux 虚拟机使用 Active Directory 实现单点登录

要配置 Red Hat Enterprise Linux 虚拟机使用 GNOME 和 KDE 图形桌面系统和 Active Directory 服务器实现单点登录,需要在虚拟机上安装 rhevm-guest-agent 软件包,以及和您的 window manager 相关的软件包,并把虚拟机加入到域中。

重要

以下操作假设您已经有了一个可以正常工作的 Active Directory 设置,而且 Active Directory 域己经被加入到 Manager。另外,您还需要保证 Manager 上的时钟、虚拟机的时钟和 IPA(IdM)所在的系统时钟都在使用 NTP 进行同步。

过程 4.2. 为 Red Hat Enterprise Linux 虚拟机配置单点登录

  1. 登录到 Red Hat Enterprise Linux 虚拟机。
  2. 启用 Red Hat Virtualization Agent 频道:
    • 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. 下载并安装 guest 代理软件包:
    # yum install rhevm-guest-agent-common
  4. 安装单点登录软件包:
    # yum install rhev-agent-gdm-plugin-rhevcred
  5. 安装 Samba 客户端软件包:
    # yum install samba-client samba-winbind samba-winbind-clients
  6. 修改虚拟机上的 /etc/samba/smb.conf 文件来包括以下内容,把 DOMAIN 替换为短域名,把 REALM.LOCAL 替换为 Active Directory realm:
    [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 服务,并使它可以在系统启动后自动运行:
    # service winbind start
    # chkconfig winbind on
  9. 检查系统是否可以和 Active Directory 进行交流:
    1. 验证一个信任的关系已经被创建:
      # wbinfo -t
    2. 验证可以列出用户:
      # wbinfo -u
    3. 验证可以列出组:
      # wbinfo -g
  10. 配置 NSSPAM
    1. 打开 Authentication Configuration 窗口:
      # authconfig-tui
    2. 选择 Use Winbind 选项,选 Next 后点 Enter
    3. 选择 OK 按钮后点 Enter
使用一个用户的用户名和密码登录到用户门户,然后就可以使用单点登录功能连接到虚拟机的控制台。您将会自动登录到虚拟机上。

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

要为 Windows 虚拟机配置单点登录功能,需要在虚拟机上安装 Windows guest agent。RHEV Guest Tools ISO 文件提供了这个 agent。如果您的 ISO 域中没有包括 RHEV-toolsSetup.iso 镜像,请联系您的系统管理员。

过程 4.3. 为 Windows 虚拟机配置单点登录

  1. 选择 Windows 虚拟机。确认这个虚拟机处于开机状态。
  2. 更换 CD
  3. 从镜像列表中选 RHEV-toolsSetup.iso
  4. 确定
  5. 控制台图标登录到虚拟机。
  6. 在虚拟机上,找到包括 guest 工具程序 ISO 文件的 CD 后启动 RHEV-ToolsSetup.exe。在这些工具程序被安装后,会被提示重启您的机器。
使用一个用户的用户名和密码登录到用户门户,然后就可以使用单点登录功能连接到虚拟机的控制台。您将会自动登录到虚拟机上。

4.1.4. 禁用虚拟机单点登录

以下介绍了如何在一个虚拟机上禁用单点登录。

过程 4.4. 禁用虚拟机单点登录

  1. 选择一个虚拟机并点编辑
  2. 控制台标签页。
  3. 禁用单点登录选项。
  4. 确定

4.2. 配置 USB 设备

使用 SPICE 连接协议的虚拟机可以被配置为直接使用客户端系统上的 USB 设备。
只有在虚拟机处于活跃的状态,并且正通过客户端使用时,客户端上的 USB 设备才可以被重定向到虚拟机上。每次当一个 USB 设备被插入到客户端时,USB 重定义功能可以被手工启动,或在 SPICE 客户端菜单中设置为自动重定向到活跃的虚拟机。

重要

请注意“客户端系统(client machine)”和“虚拟客户端系统(guest machine)”之间的区别。客户端系统(在本文档中有时被简称为客户端)是指您用来访问虚拟机的硬件系统,而虚拟客户端系统(在本文档中有时被简称为虚拟机)就是通过用户门户或管理门户所访问的虚拟机(虚拟桌面或虚拟服务器)。

4.2.1. 在虚拟机上使用 USB 设备

USB 重定向 Native 模式允许 KVM/SPICE USB 设备被重定向到 Linux 或 Windows 虚拟机上。在使用 native USB 模式时,虚拟机并不需要安装客户端代理或驱动。在 Red Hat Enterprise Linux 客户端上,USB 重定向所需的软件包都由 virt-viewer 软件包提供。在 Windows 客户端上,需要安装 usbdk 软件包。以下客户端和 guest 支持 Native USB 模式:
  • 客户端
    • Red Hat Enterprise Linux 7.1 或更高版本
    • Red Hat Enterprise Linux 6.0 或更高版本
    • Windows 10
    • Windows 8
    • Windows 7
    • Windows 2008
    • Windows 2008 Server R2
  • 虚拟机
    • Red Hat Enterprise Linux 7.1 或更高版本
    • Red Hat Enterprise Linux 6.0 或更高版本
    • Windows 7
    • Windows XP
    • Windows 2008

注意

如果您使用 64 位的 PC,则必须使用 64 位版的 Internet Explorer 来安装 64 位的 USB 驱动程序。如果在 64 位系统上安装了 32 位的驱动,USB 重定向功能将无法正常工作。只要在原始安装 USB 驱动时使用了正确的版本,以后就可以通过 32 或 64 位版本的浏览器来使用 USB 重定向功能。

4.2.2. 使用 Windows 客户端上的 USB 设备

如果需要把 Windows 客户端系统上的 USB 设备重定向到虚拟机上,则需要在 Windows 客户端上安装 usbdk。您需要确定所使用的 usbdk 版本与客户端系统的系统相匹配。例如,64 位版的 usbdk 必须安装在 64 位的 Windows 系统上。

过程 4.5. 使用 Windows 客户端上的 USB 设备

  1. usbdk 驱动被安装并运行后,选择一个已经被配置为使用 SPICE 协议的虚拟机。
  2. 确定 USB 支持选项被设置为 Native
    1. 编辑
    2. 控制台标签页。
    3. USB 支持下拉列表中选择 Native
    4. 确定
  3. 控制台选项按钮并选启用 USB 自动共享选项。
  4. 启动虚拟机,点控制台按钮连接到虚拟机。当您在客户端系统上插入 USB 设备时,它会被自动重定向,出现在您的虚拟机系统上。

4.2.3. 使用 Red Hat Enterprise Linux 客户端上的 USB 设备

usbredir 软件包会把 USB 从 Red Hat Enterprise Linux 客户端系统上重新定向到虚拟机上。usbredirvirt-viewer 软件包存在依赖关系,因此它们会被一起自动安装。

过程 4.6. 使用 Red Hat Enterprise Linux 客户端上的 USB 设备

  1. 虚拟机标签页,选择一个已经被配置为使用 SPICE 协议的虚拟机。
  2. 确定 USB 支持选项被设置为 Native
    1. 编辑
    2. 控制台标签页。
    3. USB 支持下拉列表中选择 Native
    4. 确定
  3. 控制台选项按钮并选启用 USB 自动共享选项。
  4. 启动虚拟机,点控制台按钮连接到虚拟机。当您在客户端系统上插入 USB 设备时,它会被自动重定向,出现在您的虚拟机系统上。

4.3. 配置多个显示器

4.3.1. 为 Red Hat Enterprise Linux 虚拟机配置多显示器

当使用 SPICE 协议连接到虚拟机时,一个 Red Hat Enterprise Linux 虚拟机可以最多配置 4 个显示器。
  1. 启动一个到虚拟机的 SPICE 会话连接。
  2. 打开 SPICE 客户端窗口上部的 View 下拉菜单。
  3. 打开 Display 菜单。
  4. 点显示的名称来启用或禁用那个显示。

    注意

    在默认的情况下,当启动一个虚拟机的 SPICE 会话连接时,Display 1 是唯一一个启用的显示。如果没有启用其它显示,禁用这个显示将会结束会话连接。

4.3.2. 为 Windows 虚拟机配置多显示器

当使用 SPICE 协议连接到虚拟机时,一个 Windows 虚拟机可以最多配置 4 个显示器。
  1. 虚拟机页并选择一个虚拟机。
  2. 在虚拟机处于关机状态时,点编辑
  3. 控制台标签页。
  4. 显示器下拉列表中选择显示的数量。

    注意

    这个设置指定了虚拟机可以使用的最多显示数量。当虚拟机运行时,用户可以为它添加额外的显示(总共显示数量不能超过这个设置的值)。
  5. 确定
  6. 启动一个到虚拟机的 SPICE 会话连接。
  7. 打开 SPICE 客户端窗口上部的 View 下拉菜单。
  8. 打开 Display 菜单。
  9. 点显示的名称来启用或禁用那个显示。

    注意

    在默认的情况下,当启动一个虚拟机的 SPICE 会话连接时,Display 1 是唯一一个启用的显示。如果没有启用其它显示,禁用这个显示将会结束会话连接。

4.4. 配置控制台选项

4.4.1. 控制台选项

连接协议为虚拟机提供了图形界面的功能,这就可以使用户象使用物理存在的机器一样使用虚拟机。Red Hat Virtualization 当前支持以下的连接协议:
SPICE

SPICE(Simple Protocol for Independent Computing Environments)是 Linux 虚拟机和 Windows 虚拟机推荐使用的连接协议。要使用 SPICE 连接到一个虚拟机的控制台,则需要使用 Remote Viewer。

VNC

VNC(Virtual Network Computing)可以被用来打开到 Linux 虚拟机和 Windows 虚拟机的控制台。要使用 VNC 打开到一个虚拟机的控制台,您需要使用 Remote Viewer 或一个 VNC 客户端。

RDP

RDP(Remote Desktop Protocol)只可以被用来打开到 Windows 虚拟机的控制台,并只能从已经安装了 Remote Desktop 的 Windows 系统上访问虚拟机。另外,在用户可以使用 RDP 访问一个 Windows 虚拟机前,远程共享(remote sharing)必须在虚拟机上被配置,并且虚拟机的防火墙必须被配置为允许 remote desktop 连接。

注意

SPICE 现在还不被运行 Windows 8 的虚拟机支持。如果一个 Windows 8 虚拟机被配置为使用 SPICE 协议,它会发现系统缺少所需的 SPICE 驱动,并自动转换为使用 RDP

4.4.1.1. 访问控制台选项

您可以配置打开到虚拟机的图形界面控制台的多个选项,如调用控制台的方法、允许/禁用 USB 重定向。

过程 4.7. 访问控制台选项

  1. 选择一个正在运行的虚拟机。
  2. 打开控制台选项窗口。
    • 在管理门户中,在虚拟机图标上点鼠标右键并选控制台选项
    • 在用户门户中点编辑控制台选项按钮。
    用户门户的编辑控制台选项按钮

    图 4.1. 用户门户的编辑控制台选项按钮

注意

其它一些针对于每个连接协议选项(如使用 VNC 连接协议时的键盘格式)可以在编辑虚拟机窗口中的控制台标签页中进行配置。

4.4.1.2. SPICE 控制台选项

当 SPICE 连接协议被选择时,以下选项将会在控制台选项窗口中有效。
控制台选项窗口

图 4.2. 控制台选项窗口

控制台调用

  • 自动的:Manager 会自动选择调用控制台的方法。
  • Native 客户:当连接到虚拟机时,一个文件下载对话框提供了一个文件,使用它来通过 Remote Viewer 打开虚拟机的控制台。
  • SPICE HTML5 浏览器客户(技术预览):当连接到虚拟机时,一个浏览器标签页会被打开作为控制台。

SPICE 选项

  • Map control-alt-del shortcut to ctrl+alt+end:选择这个选项可以把 Ctrl+Alt+Del 组合键在虚拟机上转换为 Ctrl+Alt+End 组合键。
  • 启用 USB 自动共享:选择这个选项自动重定向 USB 设备到虚拟机。如果这个选项没有选择,USB 设备将会被连接到客户端的机器上,而不会连接到虚拟机。要在虚拟机上使用 USB 设备,需要在 SPICE 客户端菜单中手工启用它。
  • 以全屏打开:选择这个选项后,当连接到虚拟机时,虚拟机控制台会自动以全屏模式打开。点 SHIFT+F11 可以在全屏和非全屏模式间切换。
  • 启用 SPICE 代理:选择这个选项来启用 SPICE 代理。
  • 启用 WAN 选项:选择这个选项会在 Windows 虚拟机上把 WANDisableEffectsWANColorDepth 参数分别设为 animation16 位。这个选项限制 WAN 环境中的带宽,并可以防止特定的 Windows 设置消耗太多的带宽。

4.4.1.3. VNC 控制台选项

当 VNC 连接协议被选择时,以下选项在控制台选项窗口中有效。
控制台选项窗口

图 4.3. 控制台选项窗口

控制台调用

  • Native 客户:当连接到虚拟机时,一个文件下载对话框提供了一个文件,使用它来通过 Remote Viewer 打开虚拟机的控制台。
  • noVNC:当连接到虚拟机控制台时,一个新的浏览器标签页会被打开作为控制台。

VNC 选项

  • Map control-alt-delete shortcut to ctrl+alt+end:选择这个选项可以把 Ctrl+Alt+Del 组合键在虚拟机上转换为 Ctrl+Alt+End 组合键。

4.4.1.4. RDP 控制台选项

当 RDP 连接协议被选择时,以下选项在控制台选项窗口中有效。
控制台选项窗口

图 4.4. 控制台选项窗口

控制台调用

  • 自动的:Manager 会自动选择调用控制台的方法。
  • Native 客户:当连接到虚拟机时,一个文件下载对话框提供了一个文件,使用它来通过 Remote Desktop 打开虚拟机的控制台。

RDP 选项

  • 使用本地磁盘:选择这个选项后,客户端机器上的磁盘就可以被虚拟机所访问。

4.4.2. Remote Viewer 选项

4.4.2.1. Remote Viewer 选项

当指定了 Native 客户浏览器插件控制台调用选项后,您将使用 Remote Viewer 和虚拟机进行连接。Remote Viewer 窗口提供了一组菜单来和所连接的虚拟机进行交互。
Remote Viewer 连接菜单

图 4.5. Remote Viewer 连接菜单

表 4.1. Remote Viewer 选项

选项快捷键
File
  • Screenshot:对当前的屏幕进行截屏,并把它保存在您所指定的位置中。
  • USB device selection:如果 USB 重定义功能已经在您的虚拟机上被启用,插到您的客户端机器上的 USB 设备就可以从这个菜单中被访问。
  • Quit:关闭控制台。这个操作的快捷键是 Shift+Ctrl+Q
View
  • Full screen:在全屏模式和非全屏模式间切换。在启用全屏模式时,虚拟机的显示会占据所有的屏幕显示。当启用非全屏模式时,虚拟机会在一个窗口中显示。使用或不使用全屏模式的快捷键是 SHIFT+F11
  • Zoom:放大或缩小控制台窗口。Ctrl++ 会放大,Ctrl+- 会缩小,Ctrl+0 会把屏幕恢复到它原始的大小。
  • Automatically resize:选择这个选项可以使虚拟机显示的分辨率根据控制台窗口的大小自动进行调整。
  • Displays:允许用户启用或禁用虚拟机的显示。
Send key
  • Ctrl+Alt+Del:在 Red Hat Enterprise Linux 虚拟机上,它会显示一个包括了挂起、关闭或重启虚拟机操作的窗口。在 Windows 虚拟机上,它会显示 task manager 或 Windows Security 对话框。
  • Ctrl+Alt+Backspace:在 Red Hat Enterprise Linux 虚拟机上,它会重启 X sever。在 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 键盘选项传递给虚拟机。
HelpAbout 显示您所使用的 Virtual Machine Viewer 的版本信息。
从虚拟机中释放鼠标SHIFT+F12

4.4.2.2. Remote Viewer 快捷键

您在全屏模式或非全屏模式中都可以使用虚拟机的快捷键。当使用全屏模式时,可以把鼠标光标移到屏幕上部中央的位置来显示包括快捷键的菜单。当使用非全屏模式时,可以通过虚拟机窗口标题条中的 Send key 菜单来查看快捷键。

注意

当客户端系统上没有运行 vdagent 时,如果您的虚拟机窗口没有处于全屏模式,而您的鼠标在虚拟机窗口范围内,鼠标会被虚拟机所获得。要释放鼠标,请按 Shift+F12

4.4.2.3. 手工关联 console.vv 文件和 Remote Viewer

当您打开一个连接到虚拟机的控制台时被提示下载 console.vv 文件,而您已经安装了 Remote Viewer,您就可以手动把 console.vv 文件和 Remote Viewer 相关联。这样,Remote Viewer 就可以自动使用这些文件来打开控制台。

过程 4.8. 手工关联 console.vv 文件和 Remote Viewer

  1. 启动虚拟机。
  2. 打开控制台选项窗口。
    • 在管理门户中,在虚拟机图标上点鼠标右键并选控制台选项
    • 在用户门户中点编辑控制台选项按钮。
    用户门户的编辑控制台选项按钮

    图 4.6. 用户门户的编辑控制台选项按钮

  3. 把控制台调用的方法改为 Native 客户后点确定
  4. 打开到虚拟机的一个控制台,当提示打开或保存 console.vv 文件时,点保存
  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,并点 Browse 按钮。
  8. 找到 C:\Users\[user name]\AppData\Local\virt-viewer\bin 目录并选择 remote-viewer.exe
  9. Open,然后点 OK
当您使用“native 客户”控制台调用选项打开一个虚拟机的控制台时,Remote Viewer 会自动使用 Red Hat Virtualization Manager 提供的 console.vv 文件,而不会再要求您选择需要使用的应用程序。

4.5. 配置 Watchdog

4.5.1. 为虚拟机添加一个 Watchdog 卡

为虚拟机添加 watchdog 卡可以监控操作系统是否在正常工作。

过程 4.9. 为虚拟机添加 Watchdog 卡

  1. 虚拟机页并选择一个虚拟机。
  2. 编辑
  3. 选择高可用性标签页。
  4. Watchdog 型号下拉列表中选择 watchdog 的型号。
  5. Watchdog 操作下拉列表中选择一个操作。这个操作会在 watchdog 事件发生时在虚拟机上执行。
  6. 确定

4.5.2. 安装 Watchdog

要激活虚拟机上的 watchdog 卡,需要在虚拟机上安装 watchdog 软件包,并启动 watchdog 服务。

过程 4.10. 安装 Watchdog

  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.5.3. 配置 Watchdog 的功能

确认 watchdog 卡被连到虚拟机上,watchdog 服务已启动。

警告

以下操作只被用来测试 watchdog 的功能,请不要在实际的生产环境中运行。

过程 4.11. 配置 Watchdog 的功能

  1. 登录到 watchdog 卡所连的虚拟机上。
  2. 确认 watchdog 卡已经被虚拟机所识别:
    # lspci | grep watchdog -i
  3. 运行以下命令之一来确定 watchdog 处于激活状态:
    • 产生一个内核 panic:
      # echo c > /proc/sysrq-trigger
    • 终止 watchdog 服务:
      # kill -9 `pgrep watchdog`
watchdog 计时器将无法被重置,它将会倒数到 0。当计时器到 0 时,在 Watchdog 操作下拉菜单中所指定的操作将会进行。

4.5.4. watchdog.conf 中的 watchdog 参数

以下列出了 /etc/watchdog.conf 文件中关于配置 watchdog 服务的参数。要配置一个参数,您需要确保它的配置行没有被注释并在修改后重新启动 watchdog 服务。

注意

如需了解更多关于配置 watchdog 服务和使用 watchdog 命令的信息,请参阅 watchdog man 文档。

表 4.2. watchdog.conf 变量

变量名默认值备注
pingN/A一个 IP 地址。watchdog 会尝试 ping 这个地址来确定这个地址是否可以被访问。您可以通过使用多个 ping 行来指定多个 IP 地址。
interfaceN/A一个网络接口。watchdog 将监测这个接口来确定是否有网络通信。您可以通过使用多个 interface 行来指定多个网络接口。
file/var/log/messages一个本地系统上的文件。watchdog 将监测这个文件的改变。您可以通过使用多个 file 行来指定多个文件。
change1407watchdog 的间隔数。在经过了这个间隔次数后,watchdog 才会再次检查文件的改变。change 行必须在每个 file 行后面被马上指定并只对这个 file 行有效。
max-load-124虚拟机在 1 分钟的时间内可以承受的最大平均负载。如果这个平均值被超过,watchdog 将会进行相应的操作。把它设为 0 将禁用这个功能。
max-load-518虚拟机在 5 分钟的时间内可以承受的最大平均负载。如果这个平均值被超过,watchdog 将会进行相应的操作。把它设为 0 将禁用这个功能。在默认情况下,这个变量的值被设为 max-load-1 值的四分之三。
max-load-1512虚拟机在 15 分钟的时间内可以承受的最大平均负载。如果这个平均值被超过,watchdog 将会进行相应的操作。把它设为 0 将禁用这个功能。在默认情况下,这个变量的值被设为 max-load-1 值的一半。
min-memory1虚拟机上必须保留的最小可用虚拟内存的值(以内存页为单位)。把它设为 0 将禁用这个功能。
repair-binary/usr/sbin/repair一个位于本地系统的二进制文件的路径和文件名,当 watchdog 事件被触发时需要执行这个文件。如果运行这个文件可以解决出现的问题,watchdog 将不会进行其它操作。
test-binaryN/A位于本地系统上的一个二进制文件的路径和文件名,watchdog 会在每个间隔中运行这个文件。
test-timeoutN/A用户所定义的测试可以运行的时间限制(以秒为单位)。如果它被设为 0,用户定义的测试的运行时间将没有限制。
temperature-deviceN/A用来检查 watchdog 服务所在机器的温度的设备路径和设备名。
max-temperature120watchdog 服务所在机器的最高温度。如果达到了这个温度,机器将会停止。这个值必须和所使用的 watchdog 卡相匹配。
adminrootWatchdog 事件相关的电子邮件通知所要发送到的电子邮件地址。
interval10watchdog 设备接收更新信息的间隔(以秒为单位)。watchdog 设备在每一分钟内至少应该接收到一条更新信息,如果过了一分钟还没有收到更新,watchdog 事件将会被触发。这个一分钟的限制是被 watchdog 设备所固定的,它不能被修改。
logtick1如果为 watchdog 服务设置了详细日志项,watchdog 服务会定期把日志信息写到本地系统上。logtick 指定了在经过了 watchdog 的几个间隔后日志信息才会被写入本地系统。
realtimeyes指定 watchdog 是否被锁定在内存中。如果它的值为 yes,watchdog 将被锁定在内存中,而不会被交换出内存。如果它的值为 no,watchdog 将可以被交换出内存。如果 watchdog 被交换出内存,而且在 watchdog 计时器倒数到 0 时还没有被交换回到内存,watchdog 事件将会被触发。
priority1realtime 被设置为 yes 时,调度的优先级。
pidfile/var/run/syslogd.pid一个 PID 文件的路径和文件名。watchdog 会监测这个文件来确定相关的进程是否处于活跃状态。如果相关的进程没有处于活跃状态,watchdog 事件将会被触发。

4.6. 配置虚拟 NUMA

在管理门户中,您可以在虚拟机上配置虚拟 NUMA 节点,并把它们固定到一个主机的物理 NUMA 节点上。主机默认的策略是在主机任何可用的资源上调动和运行虚拟机。因此,当一个大型虚拟机所使用的资源无法在单一的主机插槽中分配时,这个资源会分布在多个 NUMA 节点中,随着使用时间的增加,资源的位置会不断变化,从而导致性能下降和不可预测。通过配置并固定虚拟 NUMA 节点,可以避免以上提到的问题并可以提高系统的性能。
配置虚拟 NUMA 需要一个启用了 NUMA 功能的主机。登陆到主机并运行 numactl --hardware 来检查 NUMA 是否已在主机上启用。如果这个命令的输出包括最少两个 NUMA 节点,则说明 NUMA 已在这个主机上启用。您也可以通过管理门户查看主机的 NUMA 拓扑:从主机标签页中选主机,点 NUMA 支持。这个按钮只在主机最少有两个 NUMA 节点时才可用。

过程 4.12. 配置虚拟 NUMA

  1. 虚拟机标签页并选择一个虚拟机。
  2. 编辑
  3. 主机标签页。
  4. 专有的选项并从列表中选择相应的主机。所选的主机需要最少有两个 NUMA 节点。
  5. 迁移选项下拉列表中选择不允许迁移
  6. NUMA 节点数项中输入分配给虚拟机的虚拟 NUMA 节点数量。
  7. 调整模式下拉菜单中选 StrictPreferredInterleave。如果选择了 PreferredNUMA 节点数需要被设置为 1
  8. NUMA 固定
    NUMA 拓扑窗口

    图 4.7. NUMA 拓扑窗口

  9. NUMA 拓扑窗口中,根据需要,从右面的框中选中虚拟 NUMA 节点,并把它拖到左面框中的主机 NUMA 节点上,然后点确定
  10. 确定

注意

Red Hat Enterprise Linux 7 支持自动 NUMA 均衡功能,但当前还无法通过 Red Hat Virtualization Manager 进行配置。

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

在管理门户中,可以配置虚拟机来显示可用的勘误(errata)。虚拟机需要和 Red Hat Satellite 服务器相关联来显示可用的勘误。
Red Hat Virtualization 4.0 支持 Red Hat Satellite 6.1 的勘误管理。
先决条件:

重要

虚拟机在 Satellite 服务器中由它们的 FQDN 进行标识,这就可以确保外部内容主机的 ID 不需要在 Red Hat Virtualization 中维护。

过程 4.13. 配置 Red Hat Satellite 勘误管理

注意

虚拟机需要以一个内容主机的形式在 Satellite 服务器中注册,并需要安装 katello-agent 软件包。
如需了解如何配置主机进行注册的信息,请参阅 Red Hat Satellite User Guide 中的 Configuring a Host for Registration;如需了解如何注册主机并安装 katello-agent 软件包的信息,请参阅 Red Hat Satellite User GuideRegistration
  1. 虚拟机标签页并选择一个虚拟机。
  2. 编辑
  3. Foreman/Satellite 标签页。
  4. 供应商下拉列表中选择所需的 Satellite 服务器。
  5. 确定

第 5 章 编辑虚拟机

5.1. 编辑虚拟机属性

编辑存储、操作系统或网络参数将会影响到您的虚拟机。在试图修改这些配置前,请确认您已经获得了与它们相关的正确信息。虚拟机可以在运行时被编辑,其中的一些变化(在下面列出)会马上有效。如需应用所有的变化,虚拟机需要被关闭后再重启。

过程 5.1. 编辑虚拟机

  1. 选择需要编辑的虚拟机。
  2. 编辑
  3. 根据需要修改相关设置。
    对以下设置的修改会立即生效:
    • 名称
    • 描述
    • 备注
    • 优化(Desktop/Server)
    • 删除保护
    • 网络接口
    • 内存大小(编辑这个项来“热插”虚拟内存。详情请参阅 第 5.4 节 “热插虚拟内存”。)
    • 虚拟插槽(编辑这个项来“热插” CPU。详情请参阅 第 5.5 节 “热插虚拟 CPU”。)
    • 使用自定义迁移下线时间
    • 高可用性
    • 运行/迁移队列的优先级
    • 禁用严格的用户检查
    • 图标
  4. 确定
  5. 如果 Next Start Configuration 弹出窗口出现,点 OK
第 3 步列出的改变会马上生效,其它所有改变只有在关闭虚拟机,并重启它们后才会生效。在重启前,会显示一个橙色图标( )来表示所做的修改还没有被应用。

5.2. 网络接口

5.2.1. 添加新的网络接口

通过为虚拟机添加多个网络接口,可以把虚拟机添加到多个逻辑网络。

过程 5.2. 为虚拟机添加网络接口

  1. 虚拟机标签页并选择一个虚拟机。
  2. 在详情框中点网络接口标签页。
  3. 新建
    新建网络接口窗口

    图 5.1. 新建网络接口窗口

  4. 输入网络接口的名称
  5. 使用下拉菜单选择网络接口的配置集类型配置集类型下拉菜单中的内容会根据集群中具体的配置集和网络类型,以及虚拟机可用的网络接口卡信息生成。
  6. 如果需要,选择自定义 MAC 地址并为网络接口输入一个 MAC 地址。
  7. 确定
新的网络接口会在虚拟机的详情框中的网络接口标签页中列出。在默认情况下,当网络接口卡在虚拟机上被定义并连接到网络后,连接状态被设置为 Up
如需了解更多与新建网络接口中的设置相关的信息,请参阅 第 A.2 节 “新建网络接口和编辑网络接口窗口中的设置介绍”

5.2.2. 编辑一个网络接口

为了修改网络设置,需要编辑网络接口。这个过程可以在正在运行的虚拟机上执行,但一些操作需要在没有运行的虚拟机上执行。

过程 5.3. 编辑网络接口

  1. 虚拟机标签页并选择一个虚拟机。
  2. 在详情框中点网络接口标签页并选择需要编辑的网络接口。
  3. 编辑打开编辑网络接口窗口。这个窗口包括了和新建网络接口对话框相同的项。
  4. 根据需要修改相关设置。
  5. 确定

5.2.3. 热插网络接口

您可以“热插”网络接口。这意味着您可以在虚拟机运行的时候启用或禁用网络接口。

注意

虚拟机的操作系统需要支持“热插”网络接口的功能。

过程 5.4. 热插拔网络接口

  1. 虚拟机标签页并选择一个虚拟机。
  2. 在详情框中点网络接口页并选择需要热插的网络接口。
  3. 编辑
  4. 卡状态设置为 Plugged 来启用这个网络接口,或把它设为 Unplugged 来禁用这个网络接口。
  5. 确定

5.2.4. 删除一个网络接口

过程 5.5. 删除网络接口

  1. 虚拟机标签页并选择一个虚拟机。
  2. 在详情框中点网络接口页并选择需要删除的网络接口。
  3. 删除
  4. 确定

5.3. 虚拟磁盘

5.3.1. 添加新的虚拟磁盘

可以为一个虚拟机添加多个虚拟磁盘。
镜像是默认的磁盘类型,您也可以添加直接 LUN 磁盘或 Cinder(OpenStack 卷)磁盘。镜像磁盘的创建完全由 Manager 管理。直接 LUN 磁盘需要外部准备的目标已存在。Cinder 磁盘需要可以访问通过外部供应商窗口添加到 Red Hat Virtualization 环境中的 OpenStack 卷实例。如需了解更多相关信息,请参阅 Adding an OpenStack Volume (Cinder) Instance for Storage Management。存在的磁盘是附加到虚拟机的浮动磁盘或可共享的磁盘。

过程 5.6. 为虚拟机添加磁盘

  1. 虚拟机标签页并选择一个虚拟机。
  2. 在详情框中点磁盘标签页。
  3. 新建
    新虚拟磁盘窗口

    图 5.2. 新虚拟磁盘窗口

  4. 使用相关的单选按钮选择镜像直接 LUNCinder。通过用户门户添加的虚拟磁盘只能是镜像磁盘。直接 LUNCinder 磁盘需要通过管理门户添加。
  5. 为新磁盘输入大小(GB)别名描述信息。
  6. 使用下拉列表和选择框配置磁盘。如需了解更多相关信息,请参阅 第 A.3 节 “新建虚拟磁盘和编辑虚拟磁盘窗口中的设置介绍”
  7. 确定
在简短的一段时间后,新磁盘会出现在详情框中。

5.3.2. 为虚拟机附加一个已存在的磁盘

浮动磁盘是那些没有和任何虚拟机相关联的磁盘。
浮动磁盘可以减少设置虚拟机所需要的时间。如果指定一个虚拟机使用浮动磁盘作为它的存储,在创建这个虚拟机的时候就不需要等待分配磁盘的时间。
浮动磁盘可以附加到一个虚拟机上。如果这个虚拟磁盘是可共享的,它还可以被附加到多个虚拟机上。
当浮动磁盘被附加到虚拟机上以后,虚拟机就可以对它进行访问。

过程 5.7. 为虚拟机附加虚拟磁盘

  1. 虚拟机标签页并选择一个虚拟机。
  2. 在详情框中点磁盘标签页。
  3. 附加
    附加虚拟磁盘窗口

    图 5.3. 附加虚拟磁盘窗口

  4. 从可用的磁盘列表中选择一个或多个虚拟磁盘。
  5. 确定

注意

为虚拟机添加或删除磁盘不会消耗“配额(Quota)”资源。

5.3.3. 扩展虚拟磁盘的可用空间

以下介绍了当一个虚拟磁盘被附加到虚拟机后,如何为它重新调整容量。重新调整一个虚拟磁盘的容量并不会影响到它的分区或文件系统,您需要使用 fdisk 来调整分区和文件系统(请参阅 How to Resize a Partition using fdisk)。

过程 5.8. 扩展虚拟磁盘的可用空间

  1. 虚拟机标签页并选择一个虚拟机。
  2. 在详情框中点磁盘标签页,选择要编辑的磁盘。
  3. 编辑
  4. 扩展大小(GB)项中输入相应的值。
  5. 确定
在磁盘被扩展时,磁盘的状态会变为 locked。当扩展完成后,设备的状态变为 OK

5.3.4. 热插虚拟磁盘

您可以“热插拔”虚拟机磁盘。这意味着您可以在虚拟机运行的时候启用或禁用磁盘。

注意

虚拟机的操作系统需要支持“热插”虚拟磁盘的功能。

过程 5.9. 热插虚拟磁盘

  1. 虚拟机标签页并选择一个虚拟机。
  2. 在详情框中点磁盘标签页,选择要热插的虚拟磁盘。
  3. 激活启用磁盘,或点取消激活来禁用磁盘。
  4. 确定

5.3.5. 从虚拟机上删除一个虚拟磁盘

过程 5.10. 从虚拟机上删除虚拟磁盘

  1. 虚拟机标签页并选择一个虚拟机。
  2. 在详情框中点磁盘标签页,选择要删除的虚拟磁盘。
  3. 取消激活
  4. 确定
  5. 删除
  6. 或者,选中永久地删除选项来把虚拟磁盘从环境中完全删除。如果您没有使用这个选项,而且磁盘是一个共享磁盘,这个虚拟磁盘还会保留在磁盘资源页中。
  7. 确定
如果磁盘被作为块设备(如 iSCSI)创建,并且在创建时选择了删除后清除选项,则可以通过查看主机上的日志文件来确认在删除磁盘后,相关的数据也被删除。更详细的相关信息,请参阅管理指南中的 Settings to Wipe Virtual Disks After Deletion

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

使用详情框中的磁盘导入标签页从一个导入的存储域中导入浮动虚拟磁盘。
这个操作需要可以访问管理门户。

注意

只有与 QEMU 兼容的磁盘才可以导入到 Manager。

过程 5.11. 导入一个磁盘镜像

  1. 选择已被导入到数据中心中的一个存储域。
  2. 在详情框中,点磁盘导入
  3. 选择一个或多个磁盘,点导入打开导入磁盘窗口。
  4. 为每个磁盘选择相关的磁盘配置集
  5. 确定导入所选的磁盘。

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

使用详情框中的磁盘导入标签页从一个存储域中导入浮动虚拟磁盘。在 Red Hat Virtualization 环境外创建的浮动磁盘没有在 Manager 中注册。对存储域进行扫描来找出要导入的、没有注册的浮动磁盘。
这个操作需要可以访问管理门户。

注意

只有与 QEMU 兼容的磁盘才可以导入到 Manager。

过程 5.12. 导入一个磁盘镜像

  1. 选择已被导入到数据中心中的一个存储域。
  2. 在存储域上点鼠标右键,选扫描磁盘来让 Manager 找出没有注册的磁盘。
  3. 在详情框中,点磁盘导入
  4. 选择一个或多个磁盘,点导入打开导入磁盘窗口。
  5. 为每个磁盘选择相关的磁盘配置集
  6. 确定导入所选的磁盘。

5.4. 热插虚拟内存

您可以对虚拟内存进行热插操作。这意味着可以在虚拟机运行时启用或禁用设备。当内存被“热插”后,它就会作为一个新内存设备出现在详情框的 Vm 设备标签页中(最多 16 个)。当虚拟机被关闭并重启后,这些设备会从详情框的 Vm 设备标签页中清除,而虚拟机的内存并不会减小,从而使您可以"热插"更多内存设备。

重要

Red Hat Virtualization 当前还不支持热拔(hot unplug)虚拟内存。

过程 5.13. 热插虚拟内存

  1. 虚拟机标签页并选择一个运行的虚拟机。
  2. 编辑
  3. 系统标签页。
  4. 根据需要编辑内存大小的值。内存可以以 256 MB 倍数的数量进行添加。
  5. 确定
    这会打开下次启动配置窗口,MemSizeMb 的值在虚拟机被重启前不会改变。但是,热插操作会由对内存值的修改而触发,因此可以马上生效。
    热插虚拟内存

    图 5.4. 热插虚拟内存

  6. 取消选择稍后应用选项来使改变马上生效。
  7. 确定
虚拟机的定义的内存值会在详情框中的常规标签页中被更新。在详情框中的 Vm 设备标签页中将可以看见新添加的内存设备。

5.5. 热插虚拟 CPU

您可以“热插”虚拟 CPU。这意味着您可以在虚拟机运行的时候启用或禁用相关设备。
先决条件:
  • 虚拟机的操作系统需要在新建虚拟机窗口中被明确设置。
  • 虚拟机的操作系统必须支持 CPU 热插拔功能。详细信息请参阅以下内容。
  • Windows 虚拟机需要安装 guest 代理。请参阅 第 3.3.2 节 “在 Windows 上安装 guest 代理”

重要

Red Hat Virtualization 目前还不支持“热拔”虚拟 CPU 的功能。

过程 5.14. 热插虚拟 CPU

  1. 虚拟机标签页并选择一个运行的虚拟机。
  2. 编辑
  3. 系统标签页。
  4. 按需修改虚拟插槽的值。
  5. 确定

表 5.1. 支持 vCPU 热插拔功能的操作系统列表

操作系统
版本
构架
是否支持热插
Red Hat Enterprise Linux 6.3+
 
x86
Red Hat Enterprise Linux 7.0+
 
x86
Microsoft Windows Server 2008
所有
x86
Microsoft Windows Server 2008
Standard, Enterprise
x64
Microsoft Windows Server 2008
Datacenter
x64
Microsoft Windows Server 2008 R2
所有
x86
Microsoft Windows Server 2008 R2
Standard, Enterprise
x64
Microsoft Windows Server 2008 R2
Datacenter
x64
Microsoft Windows Server 2012
所有
x64
Microsoft Windows Server 2012 R2
所有
x64
Microsoft Windows 7
所有
x86
Microsoft Windows 7
Starter, Home, Home Premium, Professional
x64
Microsoft Windows 7
Enterprise, Ultimate
x64
Microsoft Windows 8.x
所有
x86
Microsoft Windows 8.x
所有
x64

5.6. 把一个虚拟机固定到多个主机

多主机固定(Multi-host pinning)功能支持把一个虚拟机固定到一个集群中的一组特定主机上运行,而不是只能在一个特定的主机上运行或可以在所有主机上运行。当一个虚拟机被固定到多个主机上时,即使这些主机无效,这个虚拟机也不能在其它主机上运行。使用多主机固定功能,可以把虚拟机限制在一组有一定特征的主机中运行,如这些主机有相同的硬件配置。
当一个虚拟机被固定到多个主机上时,当运行它的主机出现故障时将无法进行实时迁移。但是,如果这个虚拟机被配置为高可用性,它会被自动迁移到所固定的那组主机中的其它一个主机上运行。

注意

固定到一个主机上的虚拟机不支持高可用性功能。

过程 5.15. 把虚拟机固定到多个主机

  1. 虚拟机标签页并选择一个虚拟机。
  2. 编辑
  3. 主机标签页。
  4. 开始运行在的下面选择专有的选项,从下拉列表中选两个或更多主机。
  5. 迁移选项下拉列表中选择不允许迁移
  6. 选择高可用性标签页。
  7. 选择高可用性选项。
  8. 优先级下拉列表中选。当进行虚拟机迁移时,一个队列会被创建,有高优先级的虚拟机会排在队列的前面,从而被先处理。如果集群的可用资源较少,只有高可用性虚拟机会被迁移。
  9. 确定

5.7. 为虚拟机更换 CD

您可以在虚拟机运行的时候为它更换可访问的 CD。

注意

只能使用已经被添加到这个虚拟机所在 ISO 域中的 ISO 文件。

过程 5.16. 为虚拟机更换 CD

  1. 虚拟机标签页并选择一个运行的虚拟机。
  2. 更换 CD
  3. 从下拉列表中选择一个选项:
    • 从列表中选择一个 ISO 文件,这会弹出虚拟机当前可以访问的 CD,并挂载所选的 ISO 文件作为一个 CD。
    • 从列表中选 [Eject] 弹出当前虚拟机访问的 CD。
  4. 确定

5.8. 智能卡验证

智能卡(smart card)是一个提供额外安全性能的硬件设备,它常见于信用卡上,但许多机构也使用它作为身份验证的设备。智能卡可以被用来保护 Red Hat Virtualization 环境中的虚拟机。

过程 5.17. 启用智能卡

  1. 确认智能卡硬件已经插入客户端的机器上,并根据厂商的要求进行了安装。
  2. 虚拟机标签页并选择一个虚拟机。
  3. 编辑
  4. 选择控制台标签页并选启用智能卡选项。
  5. 确定
  6. 控制台图标来运行虚拟机。智能卡验证功能会从客户端硬件上被移到虚拟机上。

重要

如果智能卡硬件没有被正确安装,启用智能卡验证功能可能会导致虚拟机无法正常加载。

过程 5.18. 禁用智能卡

  1. 虚拟机标签页并选择一个虚拟机。
  2. 编辑
  3. 选择控制台标签页,取消选择启用智能卡选项。
  4. 确定

过程 5.19. 为智能卡共享配置客户端系统

  1. 智能卡可能需要特定的程序库来访问它们的证书。这些程序库必须对 NSS 程序库可见,spice-gtk 使用它们来为虚拟机提供智能卡功能。NSS 需要程序库提供 PKCS #11 接口。
  2. 模块架构需要和 spice-gtk/remote-viewer 的架构相匹配。例如,如果您只有 32b PKCS #11 程序库,则需要安装 virt-viewer 的 32b 版本才可以使智能卡正常工作。

过程 5.20. 配置带有 CoolKey 智能卡中间件的 RHEL 客户端

  • CoolKey 智能卡中间件是 Red Hat Enterprise Linux 的一部分。安装 Smart card support 组。如果 Smart Card Support 组已在一个 Red Hat Enterprise Linux 系统中安装,则会在启用智能卡时把智能卡重新定向到虚拟机。使用以下命令安装 Smart card support 组:
    # yum groupinstall "Smart card support"

过程 5.21. 配置带有其它智能卡中间件的 RHEL 客户端

  • 在系统的 NSS 数据库中注册程序库。以 root 身份运行以下命令:
    # modutil -dbdir /etc/pki/nssdb -add "module name" -libfile /path/to/library.so

过程 5.22. 配置 Windows 客户端

  • 红帽不提供 Windows 客户端对 PKCS #11 的支持,支持 PKCS #11 的程序库需要从第三方获得。在获得这些程序库后,使用一个具有适当权限的用户运行以下命令来注册它们:
    modutil -dbdir %PROGRAMDATA%\pki\nssdb -add "module name" -libfile C:\Path\to\module.dll

第 6 章 管理任务

6.1. 关闭虚拟机

过程 6.1. 关闭虚拟机

  1. 虚拟机标签页并选择一个运行的虚拟机。
  2. 点关机 ( ) 按钮。
    或者,在虚拟机上点鼠标右键并选择关闭
  3. 另外,还可以在管理门户中的关闭虚拟机确认窗口中输入关闭虚拟机的原因。如果选择了这个选项,当集群中的虚拟机被 Manager 关闭时会出现一个“理由”项。您可以在这个项中输入进行维护的理由,当虚拟机被重启后,您所输入的理由信息将出现在系统的日志中。

    注意

    虚拟机关闭的原因项只有在它在集群设置中被启用时才会出现。如需了解更多相关信息,请参阅管理指南中的 Explanation of Settings and Controls in the New Cluster and Edit Cluster Windows
  4. 关闭虚拟机确认窗口中点确定
虚拟机被正常关机,它的状态变为 Down

6.2. 挂起虚拟机

挂起虚拟机等同于把虚拟机设置为 Hibernate(休眠)模式。

过程 6.2. 挂起虚拟机

  1. 虚拟机标签页并选择一个运行的虚拟机。
  2. 点挂起 ( ) 按钮。
    或者,在虚拟机上点鼠标右键并选择暂停
虚拟机的状态变为 Suspended

6.3. 重启虚拟机

过程 6.3. 重启虚拟机

  1. 虚拟机标签页并选择一个运行的虚拟机。
  2. 点重启 ( ) 按钮。
    或者,在虚拟机上点鼠标右键并选择重启
  3. 重启虚拟机确认窗口中点确定
虚拟机的状态变为 Reboot In Progress,重启成功后变为 Up

6.4. 删除虚拟机

重要

删除键在虚拟机运行的时候是被禁用的,您必须先关闭虚拟机,然后才能删除它。

过程 6.4. 删除虚拟机

  1. 虚拟机标签页并选择需要被删除的虚拟机。
  2. 删除
  3. 另外,您还可以选择删除磁盘选项来把附加到这个虚拟机的磁盘一起删除。如果没有选择删除磁盘选项,虚拟磁盘会作为浮动磁盘留在您的环境中。
  4. 确定

6.5. 克隆虚拟机

您可以在不先创建一个模板或快照的情况下克隆虚拟机。

重要

克隆虚拟机键在虚拟机运行的时候是被禁用的,您必须先关闭虚拟机,然后才能克隆它。

过程 6.5. 克隆虚拟机

  1. 虚拟机标签页并选择需要克隆的虚拟机。
  2. 克隆虚拟机
  3. 为新虚拟机输入克隆名称
  4. 确认

6.6. 更新 guest 代理和驱动

6.6.1. 在 Red Hat Enterprise Linux 上更新 guest 代理和驱动

把 Red Hat Enterprise Linux 虚拟机上的 guest 代理和驱动升级到最新版本。

过程 6.6. 在 Red Hat Enterprise Linux 上更新 guest 代理和驱动

  1. 登录到 Red Hat Enterprise Linux 虚拟机。
  2. 更新 rhevm-guest-agent-common 软件包:
    # yum update rhevm-guest-agent-common
  3. 重启服务:
    • Red Hat Enterprise Linux 6
      # service ovirt-guest-agent restart
    • Red Hat Enterprise Linux 7
      # systemctl restart ovirt-guest-agent.service

6.6.2. 在 Windows 上更新 guest 代理和驱动

guest 工具程序包括了 Red Hat Virtualization Manager 和它所管理的虚拟机进行交流的工具软件,它为 Manager 提供了所管理的虚拟机的信息(如 IP 地址、内存使用情况、在虚拟机上安装的软件)。这些工具程序被打包为 RPM 文件,并以 ISO 文件的形式附加到虚拟机上。用户可以通过 Red Hat Virtualization Manager 使用这个 ISO 文件进行安装和升级。

过程 6.7. 在 Windows 上更新 guest 代理和驱动

  1. 在 Red Hat Virtualization Manager 上把 Red Hat Virtualization Guest Tools 更新到最新版本:
    # yum update -y rhev-guest-tools-iso*
  2. ISO 文件上传到 ISO 域,使用您的 ISO 域的名称替换 [ISODomain]
    engine-iso-uploader --iso-domain=[ISODomain] upload /usr/share/rhev-guest-tools-iso/rhev-tools-setup.iso

    注意

    rhev-tools-setup.iso 文件是一个到最新的 ISO 文件的链接。这个链接会在每次升级 rhev-guest-tools-iso 软件包时自动连接到最新的 ISO 文件。
  3. 在管理门户或用户门户中,如果虚拟机正在运行,使用更换 CD 按钮来把最新的 rhev-tools-setup.iso 文件添加到每个虚拟机上。如果虚拟机已关闭,点只运行一次按钮来把 ISO 作为一个 CD 添加到虚拟机上。
  4. 选择包括最新 ISO 的 CD 驱动器,运行 RHEV-ToolsSetup.exe 文件。

6.7. 查看虚拟机的 Red Hat Satellite 勘误

当 Red Hat Virtualization 虚拟机被配置为从 Red Hat Satellite 服务器接收勘误后,就可以查看每个虚拟机的勘误。
如需了解如何配置虚拟机来显示有效勘误的信息,请参阅 第 4.7 节 “为虚拟机配置 Red Hat Satellite 勘误管理”

过程 6.8. 查看 Red Hat Satellite 勘误

  1. 虚拟机标签页并选择一个虚拟机。
  2. 在详情框中点勘误标签页。

6.8. 虚拟机和权限

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

作为 SuperUser,系统管理员需要管理“管理门户”的每个方面。而其它更具体的管理角色,可以分配给其他用户。这些有一定限制的管理员角色可以有效地把相关管理员的权限限制在与他们相关的资源操作中。例如,具有 DataCenterAdmin 角色的用户只有特定数据中心的管理权限;一个具有 ClusterAdmin 角色的用户只有特定集群的管理权限。
UserVmManager 是一个数据中心中的虚拟机的系统管理员。这个角色可以只针对特定虚拟机,也可以针对一个数据中心的,甚至可以针对整个虚拟环境。这使不同的用户来管理不同的虚拟资源成为可能。
具有虚拟机管理员角色的用户可以执行以下操作:
  • 创建、编辑和删除虚拟机。
  • 运行、暂停、关闭和停止使用虚拟机。

注意

您只能为已经存在的用户分配角色和权限。
许多用户只关心虚拟机资源的使用,因此,Red Hat Virtualization 为这些用户提供了一组特定的角色来管理虚拟机上的特定资源,而不能管理数据中心中的其它资源。

6.8.2. 虚拟机管理员角色介绍

以下表格描述了虚拟机管理员角色,以及他们所具有的权利。

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

角色权利备注
DataCenterAdmin数据中心管理员具有一个特定数据中心中,除了存储以外的所有资源的管理权限。
ClusterAdmin集群管理员具有一个特定集群中的所有资源的管理权限。
NetworkAdmin网络管理员具有在一个逻辑网络上进行所有操作的管理权限,并可以配置和管理附加到虚拟机的网络。要在虚拟机网络上配置端口镜像,需要具有所在网络的 NetworkAdmin 角色和所在虚拟机的 UserVmManager 角色。

6.8.3. 虚拟机用户角色介绍

以下表格描述了虚拟机用户的角色和权限。这些角色有权限使用"用户门户"来访问和管理虚拟机,但没有使用"管理门户"的权限。

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

角色权利备注
UserRole可以访问和使用虚拟机和池。可以登录到用户门户并使用虚拟机和池。
PowerUserRole可以创建和管理虚拟机和模板。使用配置窗口为用户在整个环境、特定数据中心或集群中分配这个角色。例如,如果一个 PowerUserRole 角色在数据中心级上被分配,PowerUser 就可以在这个数据中心上创建虚拟机和模板。PowerUserRole 角色相当于具有了 VmCreatorDiskCreatorTemplateCreator 的角色。
UserVmManager一个虚拟机的系统管理员可以管理虚拟机、创建并使用快照。当一个用户通过用户门户创建了一个虚拟机,这个用户将自动具有那台虚拟机的 UserVmManager 角色。
UserTemplateBasedVm只有使用模板的权利。有权利使用模板创建虚拟机。
VmCreator可以通过用户门户创建虚拟机。这个角色不针对于一个特定的虚拟机,使用配置窗口来在整个环境的范围上为用户分配这个角色。如果您在一个集群的范围内使用这个角色,您还需要在这个数据中心范围或特定的存储域上分配 DiskCreator 角色。
VnicProfileUser虚拟机的逻辑网络和网络接口用户如果在创建逻辑网络时选择了允许所有用户使用这个网络选项,VnicProfileUser 权限会被分配给这个逻辑网络中的所有用户。具有这个角色的用户可以把虚拟机网络接口添加到逻辑网络中,也可以从逻辑网络接口中删除虚拟机网络接口。

6.8.4. 为虚拟机分配用户

当您为其它用户创建虚拟机后,您还需要在那些虚拟机上为用户分配用户角色,否则用户将无法使用新建的虚拟机。请注意,权限只能分配给已经存在的用户。请参阅 Red Hat Enterprise Virtualization 管理指南中的 Users and Roles 一节中的内容。
用户门户支持三个默认的角色:User、PowerUser 和 UserVmManager,自定义的角色可以通过管理门户进行配置。以下介绍了默认的角色。
  • User 可以连接并使用虚拟机。这个角色适用于一般用户执行日常的操作。
  • PowerUser 可以创建虚拟机并查看虚拟资源。这个角色适用于系统管理员或需要为员工分配资源的经理。
  • UserVmManager 可以编辑和删除虚拟机,分配用户权限,使用快照并使用模板。这个角色适用于需要修改虚拟环境配置的用户。
当您创建一个虚拟机的时候,您将自动继承 UserVmManager 的权限。它的权限包括编辑虚拟机、为您所管理的用户分配权限、为在您的 Identity Management (IdM) 或 RHDS 组中的用户分配权限。详情请参阅 Administration Guide

过程 6.9. 为用户分配权限

  1. 虚拟机标签页并选择一个虚拟机。
  2. 点详情框中的权限标签页。
  3. 添加
  4. 搜索框中输入一个名称、用户名或它们的一部分后点 Go。一组可能的匹配列表会出现在结果列表中。
  5. 选择要分配权限的用户。
  6. 要分配的角色:下拉列表中选择 UserRole
  7. 确定
可以访问这个虚拟机的用户的用户名和角色被显示。

注意

如果一个用户只被分配了访问一个虚拟机的权限,则可以为这个虚拟机设置单点登录(single sign-on,简称 SSO)。如果配置了单点登录,当用户登录到用户门户后,如需连接到虚拟机(例如通过 SPICE 控制台),则不再需要重新输入用户名和密码。每个虚拟机的单点登录功能都可以被单独启用或禁用(请参阅 第 4.1 节 “为虚拟机配置单点登录”)。

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

过程 6.10. 删除用户的虚拟机访问权限

  1. 虚拟机标签页并选择一个虚拟机。
  2. 点详情框中的权限标签页。
  3. 删除。一个删除确认窗口会出现,您需要确认是否要进行权限删除操作。
  4. 确定删除所选的权限;点取消则会终止这个操作。

6.9. 快照

6.9.1. 创建一个虚拟机的快照

一个快照(snapshot)就是一个虚拟机的某些或所有磁盘在一个特定时间点上的操作系统和应用程序的记录。如果您所要进行的操作有可能会对系统产生非预期的结果,您可以在进行这个操作前对虚拟机进行一个快照。当您所做的操作出现问题时,就可以使用快照把系统恢复到以前的状态。

重要

在对使用 OpenStack Volume(Cinder)磁盘的虚拟机进行实时快照前,需要手工“冻结”和“解冻”虚拟机的文件系统。这无法通过 Manager 进行,只能使用 REST API。请参阅 Red Hat Virtualization REST API 指南中的 Freeze Virtual Machine Filesystems Action

过程 6.11. 创建一个虚拟机的快照

  1. 虚拟机标签页并选择一个虚拟机。
  2. 在详情框中选快照标签页,点创建
    创建快照

    图 6.1. 创建快照

  3. 输入这个快照的描述信息。
  4. 选择要包括的磁盘
  5. 使用保存内存选项来指定您是否需要在快照中包括虚拟机的内存。
  6. 确定

注意

如果在对使用 OpenStack Volume(Cinder)磁盘的虚拟机进行快照时,需要使用 REST API 对虚拟机的文件系统进行“解冻”。请参阅 REST API 指南中的 Thaw Virtual Machine Filesystems Action
虚拟机上所选的磁盘上的操作系统和应用程序被保存在快照中,这个快照可以被预览,或用来恢复系统。快照的状态为 Locked,然后变为 Ok。当您点这个快照时,它的信息会在右面的详情框中的常规磁盘网络接口安装的应用程序标签页中显示。

6.9.2. 使用快照来恢复一个虚拟机

快照可以把虚拟机恢复到它以前的状态。

过程 6.12. 使用快照恢复虚拟机

  1. 虚拟机标签页并选择一个虚拟机。
  2. 在详情框中点快照标签页列出有效的快照。
  3. 在左面的框中选择一个被用来恢复的快照,它的详细信息在右面的框中被显示。
  4. 预览旁的下拉菜单打开自定义预览快照窗口。
    自定义预览快照

    图 6.2. 自定义预览快照

  5. 使用虚拟机配置内存和磁盘选项来选择您需要恢复的项,然后点确定。这将允许您创建由多个快照中的配置和磁盘所组成的自定义快照,并使用自定义快照进行系统恢复。
    自定义预览快照窗口

    图 6.3. 自定义预览快照窗口

    快照的状态变为预览模式。虚拟机的状态会短暂地变为 Image Locked,然后变为 Down
  6. 启动虚拟机,它将会使用快照的磁盘镜像来运行。
  7. 提交来使用快照恢复虚拟机。这个快照以后的所有快照都会被删除。
    或者,点撤销来终止恢复虚拟机的操作,虚拟机会返回到它当前的状态。

6.9.3. 通过快照创建一个虚拟机

如果您为一个虚拟机创建了一个快照,就可以使用这个快照来创建其它虚拟机。

过程 6.13. 通过快照创建一个虚拟机

  1. 虚拟机标签页并选择一个虚拟机。
  2. 在详情框中点快照标签页列出有效的快照。
  3. 在显示的列表中选择一个快照,点克隆
  4. 为虚拟机输入名称描述
    从快照克隆虚拟机

    图 6.4. 从快照克隆虚拟机

  5. 确定
克隆的虚拟机出现在虚拟机标签页中,它的状态为 Image Locked。这个虚拟机会一直维持这个状态,直到 Red Hat Virtualization 完成了整个虚拟机创建过程。一个带有类型为 preallocated 的 20 GB 硬盘的虚拟机需要大约 15 分钟来创建。创建使用类型为 sparsely-allocated 的虚拟磁盘的虚拟机所用的时间会短一些。
当虚拟机在虚拟机标签页中的状态从 Image Locked 变为 Down 后,它将可以被使用。

6.9.4. 删除一个快照

您可以删除一个虚拟机快照,并把它从 Red Hat Virtualization 环境中永久删除。这个操作可以在运行的虚拟机上进行,而不需要关闭虚拟机。

重要

当您从镜像链中删除一个快照时,以下 3 种情况之一会出现:
  • 如果被删除的快照包括在一个 RAW(预分配)基本镜像中,一个新的卷会被创建,它的大小和被删除的基本镜像大小相同。
  • 如果被删除的快照包括在一个 QCOW2(thin provisioned)基本镜像中,包括被删除快照的卷的下一个卷会被扩展,扩展的大小和包括被删除快照的基本卷的大小相同。
  • 如果被删除的快照包括在一个 QCOW2(thin provisioned)、由内部存储提供的非基本镜像中,包括被删除快照的卷的下一个卷会被扩展,扩展的大小和包括被删除镜像的卷的大小相同。
删除操作所涉及到的两个卷中的数据会被合并到新的、或经过大小调整的卷中。这个卷需要可以保存所涉及的两个卷中的数据,它的最大值是这两个卷大小的总和。因此,在删除快照时,存储域需要有足够的存储空间来临时保存原生的卷以及合并的卷。如果没有足够的空间,快照删除操作会失败,您需要导出并重新导入卷来删除快照。如需了解更多的相关信息,请参阅 https://access.redhat.com/solutions/527613

过程 6.14. 删除一个快照

  1. 虚拟机标签页并选择一个虚拟机。
  2. 在详情框中点快照页来列出有效的快照。
    快照列表

    图 6.5. 快照列表

  3. 选择要被删除的快照
  4. 删除
  5. 确定

6.10. 主机设备

6.10.1. 为虚拟机添加一个主机设备

当主机已配置了直接的设备分配(device assignment)功能,主机设备就可以直接附加到虚拟机以获得更好的性能。

过程 6.15. 为虚拟机添加主机设备

  1. 选择一个虚拟机,在详情框中点主机设备标签页可以列出已经附加到这个虚拟机的主机设备列表。一个虚拟机只能附加同一个主机的设备。如果一个虚拟机已从一个主机上附加了设备,而您又为这个虚拟机附加了另外一个主机上的设备,则以前附加的前一个主机的设备会被自动删除。
    为虚拟机附加主机设备需要这个虚拟机处于 Down 的状态。如果虚拟机正在运行,则所做的修改只会在这个虚拟机已被关闭过后才会起作用。
  2. 添加设备打开添加主机设备窗口。
  3. 固定到主机下拉菜单中选择一个主机。
  4. 使用能力下拉菜单列出 pciscsiusb_device 主机设备。
  5. 有效的主机设备框中选择要附加到虚拟机上的设备,使用箭头图标把所选设备移到附加的主机设备框中。
  6. 在把所有需要的设备都移到附加的主机设备框后,点确定来把这些设备附加到虚拟机并关闭这个窗口。
这些主机设备会在虚拟机下一次开机时被附加到虚拟机。

6.10.2. 从一个虚拟机上删除主机设备

通过虚拟机的详情框,可以删除直接附加到这个虚拟机上的主机设备。
如果您删除直接附加的主机设备的目的是为这个虚拟机附加其它主机的设备,则可以直接为虚拟机从相关的主机上添加设备,这将会自动删除虚拟机上所有已存在的、来自于不同主机的设备。

过程 6.16. 从一个虚拟机上删除主机设备

  1. 选择虚拟机,在详情框中点主机设备标签页列出附加到这个虚拟机上的主机设备。
  2. 选择要从虚拟机上分离的主机设备(使用 Ctrl 可以选择多个设备),点删除设备打开删除主机设备窗口。
  3. 确定进行确认。

6.10.3. 把虚拟机固定到另外一个主机

您可以使用一个虚拟机的主机设备标签页把虚拟机固定到一个特定的主机上。
如果已有主机设备附加到这个虚拟机,在把这个虚拟机固定到另外一个主机时,这些已附加的主机设备会被自动从虚拟机上删除。

过程 6.17. 把虚拟机固定到一个主机

  1. 选择一个主机,在详情框中点主机设备标签页。
  2. 固定到另外一个主机打开把 VM 固定到主机窗口。
  3. 主机下拉菜单中选择一个主机。
  4. 确定把这个虚拟机固定到所选的主机。

6.11. 关联组(Affinity Group)

虚拟机关联允许用户定义一组规则来指定是否一组特定的虚拟机需要在同一个主机上运行,或需要在不同的主机上运行。这个功能可以被用来处理复杂的运行负载需求,例如软件许可证的要求,高可用性对负载的要求。
虚拟机关联通过把虚拟机加入到一个或多个关联组(affinity group)来实现。一个关联组包括两个或两个以上的虚拟机,它们有相同的参数和运行条件。这些参数包括 positive 关联(在这个关联组的虚拟机需要在同一个主机上运行)和 negative 关联(在这个关联组中的虚拟机需要在不同的主机上运行)。
另外,其它一组条件会被用来和这些参数一起使用。例如,您可以设置硬实施(hard enforcement),它将强制执行您所设置的参数,而不会考虑外部环境;您也可以设置软实施(soft enforcement),它将在外部条件允许的前提下尽量执行您所设置的参数。
一个关联组(affinity group),以及它的参数和条件被统称为一个关联策略(affinity policy)。关联策略可以在不重启虚拟机的情况下被应用到虚拟机上。

注意

关联组在集群的范围内应用于虚拟机。如果一个虚拟机被从一个集群移到另一个集群,这个虚拟机也会从它原来所在集群的关联组中被删除。

重要

关联组只在定义关联组的集群所应用的调度策略中启用了 VmAffinityGroups 过滤器模块或权重模块后才会有效。VmAffinityGroups 过滤器模块被用来实现“硬实施(hard enforcement)“,而 VmAffinityGroups 权重模块被用来实现”软实施(soft enforcement)“。

6.11.1. 创建一个关联组

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

过程 6.18. 创建关联组

  1. 虚拟机标签页并选择一个虚拟机。
  2. 在详情框中选 Affinity 组标签页。
  3. 新建
  4. 为关联组输入名称描述
  5. Positive 来进行关联,或不选择这个选项来不进行关联。
  6. 选择 Enforcing 来强制实施关联(hard enforcement),或不选择这个项来软实施(soft enforcement)关联。
  7. 使用下拉列表为关联组添加和删除虚拟机。使用 +- 按钮来添加或删除虚拟机。
  8. 确定

6.11.2. 编辑一个关联组

过程 6.19. 编辑关联组

  1. 虚拟机标签页并选择一个虚拟机。
  2. 在详情框中选 Affinity 组标签页。
  3. 编辑
  4. 通过 PositiveEnforcing 选择框设置您所需要的值,并使用 +- 按钮为关联组添加虚拟机或从关联组中删除虚拟机。
  5. 确定

6.11.3. 删除一个关联组

过程 6.20. 删除关联组

  1. 虚拟机标签页并选择一个虚拟机。
  2. 在详情框中选 Affinity 组标签页。
  3. 删除
  4. 确定
以前应用到属于这个关联组的虚拟机上的关联协议将不再有效。

6.12. 导出及导入虚拟机和模板

注意

导出存储域这个概念已过时。存储数据域可以从一个数据中心中分离并导入同一个环境或另外一个环境中的其它数据中心中。虚拟机、浮动虚拟磁盘镜像以及模板可以从导入的存储域中上传到附加到的数据中心中。如需了解更多与导入存储域相关的信息,请参阅 Red Hat Virtualization 管理指南中的 Importing Existing Storage Domains 部分。
以 OVF (Open Virtual Machine Format,开放虚拟化格式)保存的虚拟机和模板可以被导出,并导入到同一个或不同 Red Hat Virtualization 环境中的数据中心中。
在导出或导入虚拟机和模板时,一个活跃的导出域必须被附加到包括了要被导出或导入的虚拟机或模板所在的数据中心中。导出域起到了一个临时存储的功能,它为每个虚拟机和模板都准备了两个目录。一个目录包括了虚拟机或模板的 OVF 文件;另一个目录包括了虚拟机或模板的磁盘镜像文件。
导入和导出虚拟机和模板有三个阶段:
  1. 把虚拟机或模板导出到一个导出域中。
  2. 把导出域从一个数据中心中取消,并移到另一个数据中心上。您可以把导出域附加到同一个 Red Hat Virtualization 环境中的数据中心上,也可以把它附加到由另外一个 Red Hat Virtualization Manager 所管理的 Red Hat Virtualization 环境的数据中心。

    注意

    一个导出域只能同时被一个数据中心中使用。这意味着它不能被同时附加到源数据中心和目标数据中心上。
  3. 把虚拟机或模板导入到导出域所在的数据中心。
在导入和导出虚拟机或模板时,包括虚拟机或模板基本信息(如名称和描述、资源分配、高可用性设置)的属性会被保留,而特定的用户角色和权限在导出过程中不会被保留。因此,如果访问虚拟机或模板需要特定的用户角色和权限,则需要在虚拟机或模板被导入后重新设置。
您也可以使用 V2V 的功能从其它虚拟产品供应商(如 Xen 或 VMware)中导入虚拟机,或导入 Windows 虚拟机。V2V 会对导入的虚拟机进行转换,从而使它们可以在 Red Hat Virtualization 中运行。从一个 VMware 供应商中导入虚拟机包括两个阶段:
  1. 添加供应商窗口中添加一个或多个 VMware vCenter 供应商。如需了解更多相关信息,请参阅 Adding a VMware Instance as a Virtual Machine Provider
  2. 在目标数据中心的 Red Hat Enterprise Linux 7.2 主机上安装 virt-v2v。这个软件包包括在基本的 rhel-7-server-rpms 软件仓库中。
  3. 通过导入虚拟机窗口从 VMware 供应商中导入虚拟机。如需相关的详细信息,请参阅 第 6.12.4 节 “从 VMware 供应商中导入一个虚拟机”
如需了解更多与安装和使用 V2V 相关的信息,请参阅 Converting Virtual Machines from Other Hypervisors to KVM with virt-v2v

6.12.1. 导出及导入虚拟机和模板

以下提供了一组图来介绍从一个数据中心导出一个虚拟机或模板,并把它导入到另一个数据中心的过程。

过程 6.21. 导出并导入虚拟机和模板

  1. 为源数据中心添加一个导出域。
    添加导出域

    图 6.6. 添加导出域

  2. 把虚拟机或模板导出到导出域。
    导出虚拟资源

    图 6.7. 导出虚拟资源

  3. 从源数据中心上断开导出域。
    断开导出域

    图 6.8. 断开导出域

  4. 把导出域添加到目标数据中心上。
    添加导出域

    图 6.9. 添加导出域

  5. 把虚拟机或模板导入到目标数据中心。
    导入虚拟资源

    图 6.10. 导入虚拟资源

6.12.2. 把一个虚拟机导出到导出域

为了把虚拟机导入到另一个数据中心,这个虚拟机需要先被导出到导出域中。在您把虚拟机导出到导出域前,请确认导出域已经被添加到虚拟机所在的数据中心中;虚拟机已经被关闭。

过程 6.22. 把一个虚拟机导出到导出域

  1. 虚拟机标签页并选择一个虚拟机。
  2. 导出
  3. 另外,还可以选择下面的选择框:
    • 强制覆盖:覆盖已经存在于这个导出域中的虚拟机镜像。
    • Collapse 快照:为每个磁盘创建一个单独的导出卷。使用这个选项将会删除所有的快照恢复点;在导出域中包括虚拟机所基于的模板;并删除虚拟机和模板的依赖关系。对于依赖于一个模板的虚拟机,可以选择这个选项,并把模板和虚拟机一起导出;或确保模板已经存在于目标数据中心中。

      注意

      当您通过模板创建虚拟机时,新建虚拟机资源分配存储分配中包括两个分配选项。
      • 如果选克隆选项,虚拟机将不会依赖模板,模板也不必须包括在目标数据中心中。
      • 如果选 Thin 选项,虚拟机需要依赖模板,模板必须存在于目标数据中心中;或和虚拟机一起被导出。另外,您也可以选择 Collapse 快照,这会把模板磁盘和虚拟机磁盘合并为一个单一的磁盘。
      选择一个虚拟机,在它的详情框的常规标签页中可以查看选择了哪个选项。
  4. 确定
导出虚拟机的过程开始。在导出的过程中,虚拟机会在虚拟机结果列表中被显示,它的状态为 Image Locked。这个过程所需要的时间会取决于您的虚拟机硬盘镜像的大小,以及您所使用的存储硬件的情况(它有可能会需要长达一个小时的时间)。您可以使用事件页来查看它的进程。当这个过程完成后,虚拟机被导出到导出域中,并在导出域的详情框中的虚拟机导入标签页中显示。

6.12.3. 把虚拟机导入到目标数据中心

您已经把虚拟机导出到导出域。在这个虚拟机可以被导入到新的数据中心前,导出域必须被添加到目标数据中心上。

过程 6.23. 把虚拟机导入到目标数据中心

  1. 存储标签页,在结果列表中选择导出域。导出域的状态必须是活跃
  2. 在详情框中点虚拟机导入标签页列出所有要导入的虚拟机。
  3. 选一个或多个需要导入的虚拟机,点导入
    导入虚拟机

    图 6.11. 导入虚拟机

  4. 选择默认存储域集群
  5. 选择 Collapse 快照来删除快照的恢复点,并包括虚拟机所基于的模板。
  6. 选择要被导入的虚拟机后点磁盘子标签页。您可以通过选择这个标签页中的分配协议存储域下拉列表指定这个虚拟机要使用的磁盘类型是 thinly provisioned 或是 preallocated,以及磁盘所在的存储域。另外,一个特殊的图标被用来标识哪一个被导入的磁盘将被作为虚拟机的引导磁盘。
  7. 确定导入虚拟机。
    如果虚拟机己经在虚拟环境中存在了,导入虚拟机冲突窗口会出现。
    导入虚拟机冲突窗口

    图 6.12. 导入虚拟机冲突窗口

  8. 选择以下选项之一:
    • 不导入
    • 作为克隆导入并在新名字项中为这个虚拟机输入一个不同的值。
  9. 或者选择全部应用来导入所有重复的虚拟机,然后在克隆虚拟机后缀项中输入一个后缀(这些导入的虚拟机都会在名称中加这个相同的后缀)。
  10. 确定

重要

在进行一个导入操作时,您只能导入具有相同架构的虚拟机。如果在您选择导入的虚拟机中有和其它虚拟机架构不同的虚拟机,系统将会显示一个警告信息来要求您修改您的选择。

6.12.4. 从 VMware 供应商中导入一个虚拟机

从 VMware vCenter 供应商中为您的 Red Hat Enterprise Virtualization 环境导入虚拟机。您可以通过在导入操作过程中,在导入虚拟机窗口中输入 VMware 供应商的信息来从 VMware 供应商中导入虚拟机,也可以把 VMware 供应商添加为一个外部供应商,并在导入过程中选择这个预先配置的供应商来从中导入虚拟机。如需了解更多相关信息,请参阅 Adding a VMware Instance as a Virtual Machine Provider
Red Hat Virtualization 会在导入虚拟机前,使用 V2V 命令把 VMware 虚拟机转换为正确的格式。在进行操作前,需要在最少一个 Red Hat Enterprise Linux 7 主机上安装 virt-v2v 软件包。这个软件包包括在 rhel-7-server-rpms 软件仓库中。

警告

在从 VMware 供应商导入虚拟机的过程中,不要通过 VMware 启动虚拟机,这会导致数据被破坏。

过程 6.24. 从 VMware 导入虚拟机

  1. 虚拟机标签页中,点导入打开导入虚拟机窗口。
    导入虚拟机窗口

    图 6.13. 导入虚拟机窗口

  2. 列表中选择 VMware
  3. 如果已把 VMware 供应商配置为一个外部供应商,从外部供应商列表中选择它。确认供应商的身份凭证是正确的。如果在配置外部供应商时没有设置目标数据中心或代理主机选项, 现在需要设置它们。
  4. 如果还没有配置 VMware 供应商,或需要从一个新的 VMware 供应商中导入虚拟机,则需要提供以下信息:
    1. 数据中心列表中选择虚拟机将在哪个数据中心中有效。
    2. vCenter 项中输入 VMware vCenter 实例的 IP 地址或完全限定域名。
    3. ESXi 项中输入一个主机的 IP 地址或完全限定域名。虚拟机将从这个主机中导入。
    4. 数据中心项中输入指定的 ESXi 主机所在的数据中心的名称。
    5. 另外,还可以选择验证身份凭证选项来验证 ESXi 主机的证书。
    6. 为 VMware vCenter 实例输入用户名密码。这个用户必须可以访问 VMware 数据中心,以及虚拟机所在的 ESXi 主机。
    7. 在数据中心中选择一个安装了 virt-v2v 的主机作为虚拟机导入操作的代理主机。这个主机需要可以连接到 VMware vCenter 外部供应商的网络。
  5. Load 在 VMware 供应商中产生一个虚拟机列表。
  6. 源中的虚拟机列表中选择一个或多个虚拟机,使用箭头按钮把它们移到要导入的虚拟机列表中。
  7. Next.
    导入虚拟机窗口

    图 6.14. 导入虚拟机窗口

  8. 选择虚拟机所要属于的集群
  9. 为虚拟机选择一个 CPU 配置集
  10. 选择 Collapse 快照来删除快照的恢复点,并包括虚拟机所基于的模板。
  11. 克隆选项改变虚拟机的名称和 MAC 地址、克隆所有磁盘并删除所有快照。如果在虚拟机的名称旁有一个警告图标,或在 VM in System 栏中有一个标记图标,则需要克隆虚拟机并修改它的名称。
  12. 选择要被导入的虚拟机后点磁盘子标签页。您可以通过选择这个标签页中的分配协议存储域下拉列表指定这个虚拟机要使用的磁盘类型是 thinly provisioned 或是 preallocated,以及磁盘所在的存储域。另外,一个特殊的图标被用来标识哪一个被导入的磁盘将被作为虚拟机的引导磁盘。

    注意

    目标存储域需要是一个基于文件的域。因为当前存在的限制,指定一个基于块的域会导致 V2V 操作失败。
  13. 如果选择了克隆选项,需要在常规子标签页中修改虚拟机的名称。
  14. 确定导入虚拟机。

重要

在进行一个导入操作时,您只能导入具有相同架构的虚拟机。如果在您选择导入的虚拟机中有和其它虚拟机架构不同的虚拟机,系统将会显示一个警告信息来要求您修改您的选择。

6.13. 在主机间迁移虚拟机

实时迁移为用户提供了一个在不中断服务的情况下把运行的虚拟机在物理主机间进行迁移的功能。在虚拟机迁移到新物理主机的过程中,虚拟机上的用户应用仍然会正常运行。同时,虚拟机的内存数据会被复制到需要被迁移到的主机中,存储和网络连接则不会被改变。

6.13.1. 实时迁移的必要条件

在您使用实时迁移前,请确定您的 Red Hat Virtualization 环境已经被正确配置为可以进行实时迁移。
要使实时迁移可以成功进行,最少需要满足以下条件:
  • 源主机和目标主机必须在同一个集群中,并且它们的 CPU 必须兼容。

    注意

    一般情况下,不推荐在不同的集群间实时迁移虚拟机。目前唯一支持的情况在 https://access.redhat.com/articles/1390733 中进行了介绍。
  • 源主机和目标主机的状态必须都为 Up
  • 源主机和目标主机必须都可以访问相同的虚拟网络和 VLAN。
  • 源主机和目标主机必须都可以访问虚拟机所在的数据存储域。
  • 目标主机必须有足够的 CPU 资源来支持虚拟机的需求。
  • 目标主机必须有足够的可用内存来支持虚拟机的需求。
  • 要迁移的虚拟机必须没有 cache!=none 这个自定义属性设置。
另外,为了获得最好的性能,存储网络和管理网络应该被分开,从而可以避免网络饱和情况的出现。虚拟机的迁移将会在主机间传输大量数据。
实时迁移是通过管理网络进行的。每个实时迁移所使用的网络传输速率被限制为 30 MBps,同时进行的迁移数量也在默认的情况下被限制。虽然有这些限制,同时进行多个迁移可能会导致管理网络饱和。因此,我们推荐为存储、显示和虚拟机数据分别创建单独的逻辑网络来降低网络饱和的危险。

6.13.2. 优化实时迁移

实时迁移虚拟 机是一个需要大量资源的操作。通过对环境中的所有虚拟机(在集群一级或单独的虚拟机一级)设置以下两个选项,可以对它进行优化。
自动聚合迁移选项可以被用来指定在迁移虚拟机的过程中是否进行自动聚合。带有大量负载的大型虚拟机会很快“弄脏”内存,这个速率会比实时迁移所能达到的传输速率更快,因此,迁移无法被聚合。QEMU 中的自动聚合功能允许您对虚拟机迁移进行强制聚合。QEMU 会自动检测到没有进行聚合,并在虚拟机上触发一个降低 vCPU 速度的操作。
启用迁移压缩选项可以被用来指定在迁移虚拟机的过程中是否进行压缩。这个功能会使用 Xor Binary Zero Run-Length-Encoding,它会缩短那些运行需要大量写入内存的负载的虚拟机的下线时间,以及那些运行具有稀松内存更新特征的应用程序的虚拟机的下线时间。
在默认情况下,这两个选项都被全局禁用。

过程 6.25. 为虚拟机迁移配置自动聚合和迁移压缩

  1. 在全局一级配置优化设置:
    1. 在全局一级启用自动聚合:
      # engine-config -s DefaultAutoConvergence=True
    2. 在全局一级启用迁移压缩:
      # engine-config -s DefaultMigrationCompression=True
    3. 重新启动 ovirt-engine 服务使所做的修改生效:
      # service ovirt-engine restart
  2. 在集群一级配置优化设置:
    1. 选择一个集群。
    2. 编辑
    3. 调动策略标签页。
    4. 自动聚合迁移列表中选从全局设置继承自动聚合不自动聚合
    5. 启用迁移压缩列表中选从全局设置继承压缩不压缩
  3. 在虚拟机一级配置优化设置:
    1. 选择一个虚拟机。
    2. 编辑
    3. 主机标签页。
    4. 自动聚合迁移列表中选从集群设置继承自动聚合不自动聚合
    5. 启用迁移压缩列表中选从集群设置继承压缩不压缩

6.13.3. 自动虚拟机迁移

当一个主机被设为维护模式后,Red Hat Virtualization Manager 将会自动启动虚拟机实时迁移的操作,它会把这个主机上所运行的所有虚拟机迁移到这个集群中的其它主机上。
Manager 会根据调度策略中所规定的负载平衡或电源管理级别来自动进行虚拟机的实时迁移。在默认的情况下,调度策略没有被定义,但是如果您需要使用实时迁移的功能,我们推荐您设置一个适合于您的具体情况的调度策略。您也可以在需要的时候,在特定虚拟机上禁用自动(甚至手动)实时迁移功能。

6.13.4. 防止虚拟机自动迁移发生

Red Hat Virtualization Manager 允许您禁用虚拟机自动迁移功能。另外,您也可以通过设定虚拟机只能在一个特定主机上运行的选项,来禁用手动虚拟机迁移的功能。
禁用自动虚拟机迁移并指定虚拟机只能在一个特定的主机上运行对于使用高可用性产品(如 Red Hat High Availability 或 Cluster Suite)非常有用。

过程 6.26. 防止虚拟机自动迁移发生

  1. 虚拟机标签页并选择一个虚拟机。
  2. 编辑
    编辑虚拟机窗口

    图 6.15. 编辑虚拟机窗口

  3. 主机标签页。
  4. 运行在选项中指定虚拟机是运行在集群里的任何主机专有的主机。如果选择了专有的,从下拉列表中选择一个主机或一组主机。

    警告

    明确指定一台虚拟机只能在特定主机上运行并禁用迁移将无法实现 Red Hat Virtualization 的高可用性,除非使用第三方的高可用性产品(如 Red Hat High Availability)。另外,这个限制也不适用于把虚拟机分配到多个主机的情况。

    重要

    如果虚拟机已直接附加了其它主机的设备,则这些设备会被自动从虚拟机上删除。
  5. 迁移选项下拉列表中选只允许手工迁移不允许迁移
  6. 或者,选使用自定义迁移下线时间选项并指定一个值(以毫秒为单位)。
  7. 确定

6.13.5. 手动迁移虚拟机

一个正在运行的虚拟机可以被实时迁移(live migrate)到同一个主机集群中的任何一个主机上。实时迁移虚拟机不会造成服务中断。当某个主机的负载过高时,迁移它上面的虚拟机将会非常有用。如需了解实时迁移的详细信息,请参阅 第 6.13.1 节 “实时迁移的必要条件”

注意

当把一个主机设置为维护模式时,在它上面运行的虚拟机会被自动迁移到同一个集群中的其它主机上。您不需要手工迁移这些虚拟机。

注意

一般情况下,不推荐在不同的集群间实时迁移虚拟机。目前唯一支持的情况在 https://access.redhat.com/articles/1390733 中进行了介绍。

过程 6.27. 手动迁移虚拟机

  1. 虚拟机标签页并选择一个运行的虚拟机。
  2. 迁移
  3. 选择自动选择主机项,或选择选择目的地主机项并从下拉列表中选择主机。

    注意

    当选择了自动选择主机选项时,系统会根据调度策略中的负载均衡和电源管理设置来决定虚拟机将会被迁移到哪个主机上。
  4. 确定
在迁移过程中,迁移的进程显示在迁移进度条中。当迁移过程完成后,主机项的内容会被更新为新的主机。

6.13.6. 设置迁移优先级

Red Hat Virtualization Manager 会把一个主机上的虚拟机迁移请求放入到一个队列中。当这个队列中有一个迁移请求,而且集群中有可用的主机时,一个迁移事件就会根据集群中的负载均衡策略被触发。每一分钟负载均衡处理都会被运行,那些正在处理迁移事件的主机在它们的迁移事件完成前不会被包括在负载均衡处理中。
您可以通过为每个虚拟机设置优先级来影响迁移队列的顺序。例如,把虚拟机设置为“mission critical”可以使它在其它虚拟机之前被迁移。迁移的顺序由虚拟机的优先级决定,有高优先级的虚拟机会被先迁移。

过程 6.28. 设置迁移优先级

  1. 虚拟机标签页并选择一个虚拟机。
  2. 编辑
  3. 选择高可用性标签页。
  4. 优先级下拉列表中选择
  5. 确定

6.13.7. 取消正在进行的虚拟机迁移

一个正在进行的虚拟机迁移所用的时间比您预期的要长,而您需要对系统进行一些改变。因此,您需要取消正在进行的虚拟机迁移。

过程 6.29. 取消正在进行的虚拟机迁移

  1. 选择正在迁移的虚拟机。它在虚拟机资源页中的状态为 Migrating from
  2. 取消迁移
虚拟机的状态从 Migrating from 变为 Up

6.13.8. 高可用性虚拟机自动迁移的事件和日志

当一台虚拟机因为高可用性设置而发生自动迁移操作时,自动迁移的详细信息会被记录在事件标签页以及引擎的日志中。这些信息可以被用来进行故障排除。以下是这些信息的一些实例:

例 6.1. 在管理门户网络界面的事件页中的内容

Highly Available Virtual_Machine_Name failed. It will be restarted automatically.
Virtual_Machine_Name was restarted on Host Host_Name

例 6.2. Manager 中的 engine.log 的内容

这个日志文件是 Red Hat Virtualization Manager 上的 /var/log/ovirt-engine/engine.log:
Failed to start Highly Available VM. Attempting to restart. VM Name: Virtual_Machine_Name, VM Id:Virtual_Machine_ID_Number

6.14. 使用虚拟机的高可用性功能

6.14.1. 什么是高可用性?

高可用性意味着在出现问题的时候,虚拟机会重新启动。出现问题是指除了通过虚拟机上的客户端或 Manager 所发出的关机指令以外的情况下造成虚拟机停机。当问题出现时,具有高可用性性能的虚拟机会在它所在的主机或所在集群中的另外一台主机上自动进行重新启动。
高可用性的功能是 Red Hat Virtualization Manager 通过实时监测主机和存储设备,并自动检测硬件故障来实现的。如果主机被发现出现故障,被设置为高可用性的虚拟机将会在集群中的另外一个主机上被重新启动。
作为高可以性虚拟机,它所提供的服务的中断时间会被控制在最小。这是因为在出现问题时,虚拟机会在数秒之内重新启动,而不需要人工参与。高可用性虚拟机会在当前资源使用率最低的主机上被重启,或根据用户事先配置的负载平衡和电源管理策略在适当的主机上重启,从而保证了资源利用率的平衡。这还可以使整个环境有足够的资源来保证可以随时重新启动虚拟机。

6.14.2. 为什么使用高可用性功能?

我们推荐那些提供重要服务的虚拟机使用高可用性功能。
高可用性功能可以确保虚拟机在出现以下情况时被重新启动:
  • 因为硬件问题虚拟机无法正常工作。
  • 当虚拟机所在的主机被设为维护模式。
  • 因为主机无法和外部的存储资源进行联系导致一个主机无法正常工作。
使用高可用性功能的虚拟机会在它原来的主机,或集群中的另外一个主机上自动重新启动.

6.14.3. 使用高可用性功能所要考虑的问题

一个高可用性的主机需要一个电源管理设备,并且需要配置它的隔离(fencing)参数。另外,当高可用性虚拟机所在的主机无法工作时,虚拟机需要在集群中的其它主机上被重新启动。要保证可以迁移高可用性虚拟机,我们需要:
  • 运行高可用性虚拟机的主机的电源管理必须被配置。
  • 运行高可用性虚拟机的主机所在的集群必须有其它可用的主机。
  • 迁移的目标主机必须正在运行。
  • 源和目标主机必须都可以访问虚拟机所在的数据域。
  • 源和目标主机必须都可以访问相同的虚拟网络和 VLAN。
  • 目标主机必须有足够的可用 CPU 资源来支持虚拟机的需求。
  • 目标主机必须有足够的可用内存来支持虚拟机的需求。

6.14.4. 配置高可用性虚拟机

高可用性功能必须在每个虚拟机上单独配置。

过程 6.30. 配置高可用性虚拟机

  1. 虚拟机标签页并选择一个虚拟机。
  2. 编辑
  3. 选择高可用性标签页。
    选择高可用性标签页。

    图 6.16. 选择高可用性标签页。

  4. 选中高度可用的选项来为虚拟机启动高可用性功能。
  5. 优先级下拉列表中选。当进行虚拟机迁移时,一个队列会被创建,有高优先级的虚拟机会排在队列的前面,从而被先处理。如果集群的可用资源较少,只有高可用性虚拟机会被迁移。
  6. 确定

6.15. 其它虚拟机任务

6.15.1. 启用 SAP监测

通过管理门户为虚拟机启用 SAP 监测功能

过程 6.31. 在虚拟机上启用 SAP监测

  1. 虚拟机标签页并选择一个虚拟机。
  2. 编辑
  3. 自定义属性标签页。
    启用 SAP

    图 6.17. 启用 SAP

  4. 使用下拉菜单选择 sap_agent,并把它设为 True
    如果有其它属性已被设置,点加号按钮来添加一个属性设置。然后选择 sap_agent
  5. 确定

6.15.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.15.2.1. 安装并配置 QXL 驱动

您需要在运行 Red Hat Enterprise Linux 5.4 或更高 5.x 版本的虚拟机上手工安装 QXL 驱动程序。运行 Red Hat Enterprise Linux 6.0 或 Red Hat Enterprise Linux 7的虚拟机不需要这个步骤,因为 QXL 驱动会被默认安装。

过程 6.32. 安装 QXL 驱动

  1. 登录到 Red Hat Enterprise Linux 虚拟机上。
  2. 安装 QXL 驱动:
    # yum install xorg-x11-drv-qxl
您可以通过图形界面或命令行来配置 QXL 驱动。执行以下操作中的一个。

过程 6.33. 在 GNOME 中配置 QXL 驱动

  1. 系统
  2. 管理
  3. 显示
  4. 硬件
  5. 显卡配置
  6. 选择 qxl 并点 OK
  7. 通过重新登录到虚拟机来重启 X-Windows。

过程 6.34. 在命令行中配置 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.15.2.2. 配置一个虚拟机的平板输入设备和鼠标来使用 SPICE

编辑 /etc/X11/xorg.conf 文件来为虚拟机的平板输入设备使用 SPICE。

过程 6.35. 配置一个虚拟机的平板输入设备和鼠标来使用 SPICE

  1. 确认平板输入设备在您的客户端上可以被使用:
    # /sbin/lsusb -v | grep 'QEMU USB 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.15.3. KVM 虚拟机时间管理

虚拟环境存在着虚拟机的时间管理问题。使用 Time Stamp Counter (TSC) 作为时间源的虚拟机可能会遇到一些与时间相关的问题,因为一些 CPU 并没有 constant TSC。那些没有正确时间管理的虚拟机可能会在使用一些网络应用程序时出现问题,因为虚拟机中的时间源可能会比实际的时间慢或快。
KVM 通过为虚拟机提供一个准虚拟化的时钟解决了这个问题。KVM pvclock 为 KVM 客户端系统提供了一个稳定的时间源。
当前,只有 Red Hat Enterprise Linux 5.4 以及更高版本的虚拟机完全支持准虚拟化时钟。
使用不准确的时钟和计数器的虚拟机可能会有以下问题:
  • 虚拟机的时钟和实际的时间不同步,导致无效的进程和网络操作。
  • 虚拟机的时钟慢会导致迁移出现问题。
这些问题也会出现在其它虚拟化平台上,因此时间功能需要被测试。

重要

Network Time Protocol (NTP) 守护进程需要在主机和虚拟机上都运行。运行以下命令来启用 ntpd 服务:
# service ntpd start
把 ntpd 服务添加到启动脚本中:
# chkconfig ntpd on
使用 ntpd 服务可以减轻时钟不同步的问题。
您所使用的 NTP 服务器必须可以正常工作,并可以被您的主机和虚拟机所访问。
检查您的 CPU 是否有一个 constant TSC

如果有 constant_tsc 标识,说明您的 CPU 有 constant TSC。运行以下命令来检查是否有 constant_tsc 标识:

$ cat /proc/cpuinfo | grep constant_tsc
如果以上命令有输出,说明您的 CPU 有 constant_tsc。如果没有输出,请进行以下步骤。
配置没有 constant TSC 的主机

没有 constant TSC 的系统需要额外的配置。电源管理功能会影响到时间的准确性,因此为了保证时间的准确,使用 KVM 的虚拟机应该禁用这个功能。

重要

以下步骤只适用于 AMD revision F CPU。
如果 CPU 没有 constant_tsc 位,禁用所有的电源管理功能 (BZ#513138)。每个系统都会有多个计时器来管理时间。TSC 在主机上并不稳定,cpufreq 改变,deep C state,或迁移到一个有更快的 TSC 主机都可能会对它产生影响。Deep C 休眠可能导致 TSC 被停止。为了防止内核使用 deep C states,把 "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 工具在主机不同步的时候接收配置信息。

主机上有两个与时间漂移(time drift)相关的参数:EnableHostTimeDriftHostTimeDriftInSecEnableHostTimeDrift 可以被启用来接收关于主机时间漂移的警告信息(它的默认值是“false”)。HostTimeDriftInSec 参数用来指定在开始发送漂移警告信息前可以发生的最大时间漂移。
每个主机每小时会发送一次警告信息。
在运行 Red Hat Enterprise Linux 的系统上使用准虚拟化时钟

对于一些特定的 Red Hat Enterprise Linux 虚拟机,需要为它们配置额外的内核参数。这些参数可以被添加到虚拟机上的 /boot/grub/grub.conf 文件中的 /kernel 行的后面。

注意

使用 ktune 软件包可以自动配置内核参数。
ktune 软件包提供了一个交互式的 Bourne shell 脚本 - fix_clock_drift.sh。当以 superuser 的身份运行时,这个脚本会检查不同的系统参数来判断是否虚拟机可能会出现时间漂移的问题。如果会出现问题,它会在 /boot/grub/ 目录中创建一个新的 grub.conf.kvm 文件。这个文件包括了一个 KVM 引导行,这个引导行带有可以防止时钟漂移的内核参数。在以 superuser 的身份运行 fix_clock_drift.sh 命令并创建了 grub.conf.kvm 文件后,系统管理员应该手动备份当前的 grub.conf 文件,并检查新的 grub.conf.kvm 文件中除了新添加的引导行参数以外的内容和 grub.conf 文件的内容完全一致。最后,把 grub.conf.kvm 文件的文件名改为 grub.conf 并重新启动虚拟机。
下表列出了 Red Hat Enterprise Linux 的版本以及在没有 constant TSC 的系统上运行的虚拟机所需要的参数
Red Hat Enterprise Linux额外的虚拟机内核参数
5.4 AMD64/Intel 64 有准虚拟化时钟(with paravirtualized clock)不需要额外的参数
5.4 AMD64/Intel 64 没有准虚拟化时钟(without paravirtualized clock)notsc lpj=n
5.4 x86 有准虚拟化时钟(with the paravirtualized clock)不需要额外的参数
5.4 x86 没有准虚拟化时钟(without the paravirtualized clock)clocksource=acpi_pm lpj=n
5.3 AMD64/Intel 64notsc
5.3 x86clocksource=acpi_pm
4.8 AMD64/Intel 64notsc
4.8 x86clock=pmtmr
3.9 AMD64/Intel 64不需要额外的参数
3.9 x86不需要额外的参数

第 7 章 模板

模板就是一个被预先配置好的虚拟机备份,它可以被用来简化重复创建相似虚拟机的过程。模板包括了所基于的虚拟机上安装的软件,以及虚拟机的软件和硬件配置。这个模板所基于的虚拟机被称为源虚拟机。
当通过虚拟机创建一个模板时,一个虚拟机磁盘的只读备份会被创建。这个只读磁盘备份会被作为新模板的基本磁盘镜像,并可以被用来创建其它虚拟机。当有基于这个模板创建的虚拟机存在于环境中时,这个模板不能被删除。
基于模板所创建的虚拟机会使用和模板的源虚拟机相同的 NIC 类型和驱动,但是会被分配一个不同的 MAC 地址。
您可以直接通过模板标签页或虚拟机标签页创建一个虚拟机。在模板标签页中,在相关模板上点鼠标右键,选创建虚拟机。如需了解与创建新虚拟机相关的信息,请参阅 第 A.1.1 节 “虚拟机常规设置介绍”

7.1. 为准备创建模板封装虚拟机

本节介绍了封装(seal) Linux 虚拟机和 Windows 虚拟机的方法。封装就是在基于虚拟机创建模板前,把只对特定虚拟机有效的信息删除的过程。这可以防止在通过同一个模板创建多个虚拟机时,相同的信息出现在不同的虚拟机上(这些信息在不同的虚拟机上需要有所不同)。同时,封装也可以保证相关功能的确定性,例如保证 vNIC 的顺序是可以预测的。

7.1.1. 封装 Linux 虚拟机来为创建模板做准备

有两种方法封装一个 Linux 虚拟机:手工封装或使用 sys-unconfig 命令。当手工封装一个 Linux 虚拟机时,您需要在虚拟机上创建一个文件。这个文件作为一个标记,指示了在虚拟机下一次启动时需要进行的多个配置任务。sys-unconfig 命令会自动化这个过程。但是,无论使用这两个方法中的哪一个,您都需要在虚拟机上手工删除那些只适用于特定虚拟机的文件。使用这两个方法封装 Linux 虚拟机的结果是相同的。

7.1.1.1. 手动封装 Linux 虚拟机来为创建模板做准备

在基于虚拟机创建一个模板前,您必须“封装”这个虚拟机。

过程 7.1. 封闭一个 Linux 虚拟机

  1. 登录到虚拟机。
  2. 把这个系统标识为重新配置:
    # touch /.unconfigured
  3. 删除 ssh 主机密钥:
    # rm -rf /etc/ssh/ssh_host_*
  4. /etc/sysconfig/network 文件(Red Hat Enterprise Linux 6)或 /etc/hostname(Red Hat Enterprise Linux 7)文件中设置 HOSTNAME=localhost.localdomain
  5. 删除 /etc/udev/rules.d/70-*
    # rm -rf /etc/udev/rules.d/70-*
  6. /etc/sysconfig/network-scripts/ifcfg-eth* 中删除 HWADDR 行和 UUID 行。
  7. 另外,从 /var/log 中删除所有日志,从 /root 中删除 build 日志。
  8. 关闭虚拟机:
    # poweroff
虚拟机现在已被封装,并可以被用来创建模板。您可以使用这个模板部署 Linux 虚拟机,不会有与配置文件相关的冲突。
这里所介绍的步骤是封装一个 Red Hat Enterprise Linux 虚拟机器作为模板所需的最少步骤。除此之外,可能还需要一些与主机和特定环境相关的额外步骤。

7.1.1.2. 使用 sys-unconfig 封装一个 Linux 虚拟机

在基于虚拟机创建一个模板前,您必须“封装”这个虚拟机。

过程 7.2. 使用 sys-unconfig 封装一个 Linux 虚拟机

  1. 登录到虚拟机。
  2. 删除 ssh 主机密钥:
    # rm -rf /etc/ssh/ssh_host_*
  3. /etc/sysconfig/network 文件(Red Hat Enterprise Linux 6)或 /etc/hostname(Red Hat Enterprise Linux 7)文件中设置 HOSTNAME=localhost.localdomain
  4. /etc/sysconfig/network-scripts/ifcfg-eth* 中删除 HWADDR 行和 UUID 行。
  5. 另外,从 /var/log 中删除所有日志,从 /root 中删除 build 日志。
  6. 请运行以下命令:
    # sys-unconfig
虚拟机被关机。它已被封装,并可用来创建模板。您可以使用这个模板部署 Linux 虚拟机,不会有与配置文件相关的冲突。

7.1.2. 封装 Windows 虚拟机来为创建模板做准备

为 Windows 虚拟机所创建的模板在被用来部署虚拟机前需要被封装,这会确保那些针对于特定机器的设置不会出现在模板中。
Sysprep 是一个用来封装 Windows 模板的工具。

重要

在进行这个操作的过程中不要重新启动虚拟机。
在运行 Sysprep 前,请确保以下设置已经被配置:
  • Windows Sysprep 参数已经被正确定义。
    如果还没有定义,点编辑并在操作系统项中输入相应的信息。
  • 正确的产品密钥在 Manager 的一个覆盖文件中指定。
    这个覆盖文件需要在 /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.1. 封装 Windows 7、Windows 2008 或 Windows 2012 模板

在使用模板部署虚拟机前,需要封装一个 Windows 7、Windows 2008 或 Windows 2012 模板。

过程 7.3. 封装 Windows 7、Windows 2008 或 Windows 2012 模板

  1. 通过 C:\Windows\System32\sysprep\sysprep.exe 运行 Sysprep
  2. Sysprep 中输入以下信息:
    • System Cleanup Action 下,选择 Enter System Out-of-Box-Experience (OOBE)
    • 如需修改系统的 ID(SID),选择 Generalize
    • Shutdown Options 下,选择 Shutdown
  3. OK 完成封装的过程,在封装完成后,虚拟机会被自动关闭。
Windows 7、Windows 2008 或 Windows 2012 模板已被封装,并可以用来部署虚拟机。

7.2. 创建模板

根据一个已经存在的虚拟机创建一个模板,并使用所创建的模板作为创建其它虚拟机的“蓝图”。

重要

在创建模板前,您需要“封装(seal)”源虚拟机来保证所有与特定系统相关的信息被排除在虚拟机之外。这可以防止在通过同一个模板创建多个虚拟机时,相同的信息出现在不同的虚拟机上(这些信息在不同的虚拟机上需要有所不同)。如需了解更多相关信息,请参阅 第 7.1.1 节 “封装 Linux 虚拟机来为创建模板做准备”

过程 7.4. 创建模板

  1. 虚拟机标签页并选择源虚拟机。
  2. 确认虚拟机已被关机,并处于 Down 状态。
  3. 创建模板
    The New Template window

    图 7.1. 新建模板窗口

  4. 为要创建的新模板输入名称描述注释
  5. 集群下拉列表中选择新建模板所在的集群。在默认情况下,它会在原始虚拟机所在的同一个集群中。
  6. 或者也可以从 CPU 配置集下拉列表中为模板选择一个 CPU 配置集。
  7. 另外,您可以选择创建为子模板版本选项。选择一个根模板并输入一个子版本名称来把新创建的模板作为一个已存在模板的子模板。
  8. 存储分配区中的别名项中为磁盘输入一个别名,并在目标下拉菜单中选择这个磁盘所在的存储域。在默认情况下,这些设置与原始的虚拟机相同。
  9. 选择允许所有的用户来访问这个模板选项将使新创建的模板成为一个公共模板。
  10. 选择复制虚拟机的权限选项将会把原始虚拟机的权限设置复制到新的模板中。
  11. 确定
在模板被创建的过程中,它的状态为 Image Locked。根据虚拟机磁盘的大小以及您的存储硬件,创建模板可能会需要长达一个小时的时间。在创建完成后,新建的模板被添加到模板页中。您现在可以通过新建的模板来创建新虚拟机了。

注意

在创建模板时,整个原始虚拟机会被复制。因此在创建完成后,原始虚拟机和它的模板都可以被使用。

7.3. 编辑模板

当模板被创建后,它的属性可以被改变。因为一个模板就是一个虚拟机的备份,编辑模板的选项和编辑虚拟机窗口中的选项一样。

过程 7.5. 编辑模板

  1. 模板标签页并选一个模板。
  2. 编辑
  3. 修改相关的属性。
  4. 确定

7.4. 删除模板

如果使用模板创建的虚拟机使用了稀疏存储分配(thin provisioning storage allocation)选项,则无法删除这个模板,因为虚拟机需要这个模板才能正常运行。但是,克隆的虚拟机将不会依赖进行克隆的模板,这个模板可以被删除。

过程 7.6. 删除模板

  1. 模板标签页并选一个模板。
  2. 删除
  3. 确定

7.5. 导出模板

7.5.1. 把模板导出到导出域

注意

导出存储域这个概念已过时。存储数据域可以从一个数据中心中分离并导入同一个环境或另外一个环境中的其它数据中心中。虚拟机、浮动虚拟磁盘镜像以及模板可以从导入的存储域中上传到附加到的数据中心中。如需了解更多与导入存储域相关的信息,请参阅 Red Hat Virtualization 管理指南中的 Importing Existing Storage Domains 部分。
把模板导出到导出域,从而可以把它们迁移到其它的数据域(这个数据域可以在同一个或不同的 Red Hat Virtualization 环境中)。这个过程需要访问管理门户。

过程 7.7. 导出模板到导出域

  1. 模板标签页并选一个模板。
  2. 导出
  3. 选择强制覆盖选项来替换导出域中已经存在的较早版本的模板。
  4. 确定开始导出模板的过程。根据虚拟机磁盘的大小,以及您的存储硬件,这个过程可能会需要一个小时的时间来完成。
重复以上步骤把所有模板导出到导出域中。
存储标签页,选择导出域。点详情框中的模板导入标签页来查看导出域中的所有被导出的模板。

7.5.2. 复制一个模板的虚拟硬盘

如果您在通过一个模板创建虚拟机时使用了 “thin provisioning storage allocation” 选项,在迁移这个虚拟机的时候,模板的磁盘必须被复制到这个虚拟机磁盘所在的同一个存储域中。这个操作需要访问管理门户。

过程 7.8. 复制一个虚拟硬盘

  1. 磁盘标签页,选择要复制的模板磁盘。
  2. 复制
  3. 从下拉列表中选目标数据域。
  4. 确定
模板的虚拟硬盘备份在同一个或不同的存储域中被创建。您现在可以开始迁移虚拟硬盘了。

7.6. 导入模板

7.6.1. 为数据中心导入一个模板

注意

导出存储域这个概念已过时。存储数据域可以从一个数据中心中分离并导入同一个环境或另外一个环境中的其它数据中心中。虚拟机、浮动虚拟磁盘镜像以及模板可以从导入的存储域中上传到附加到的数据中心中。如需了解更多与导入存储域相关的信息,请参阅 Red Hat Virtualization 管理指南中的 Importing Existing Storage Domains 部分。
从一个新附加的导出域中导入模板。这个过程需要访问管理门户。

过程 7.9. 为数据中心导入一个模板

  1. 存储标签页,选新附加的导出域。
  2. 在详情框中点 模板导入标签页,选择一个模板。
  3. 导入
  4. 选择导入的模板。
  5. 使用下拉列表选择目标集群存储域。如果需要,修改后缀值。
    或者,清除克隆所有模块选项。
  6. 确定导入模板并打开一个提示窗口。点关闭键关闭提示窗口。
模板被导入到所需的数据中心中。根据存储设备的具体情况,这个过程可能会需要一个小时的时间。您可以在事件标签页中查看导入的进程。
当导入过程结束后,模板在模板标签页中被显示。这个模板可以被用来创建新虚拟机;或运行基于这个模块的、已被导入的虚拟机。

7.6.2. 从 OpenStack 镜像服务(OpenStack Image Service)导入虚拟磁盘镜像作为一个模板。

当一个 OpenStack 镜像服务作为一个“外部供应商”被添加到 Red Hat Virtualization Manager 中后,这个 OpenStack 镜像服务所管理的虚拟镜像就可以被导入到 Manager 中。这个操作需要访问管理门户。
  1. 存储标签页,选择 OpenStack 镜像服务域。
  2. 在详情框中点镜像标签页,选择要导入的镜像。
  3. 导入
  4. 选择虚拟磁盘镜像要导入的数据中心下拉菜单。
  5. 域名下拉列表中选择存储虚拟磁盘镜像的存储域。
  6. 另外,还可以使用配额菜单来为虚拟磁盘镜像设置一个配额。
  7. 选择作为模板导入选项。
  8. 集群下拉菜单中选择这个虚拟磁盘镜像作为一个模块所在的集群。
  9. 确定
这个镜像作为一个模板被导入,并在模板资源标签页中被显示。您可以基于这个模板创建新的虚拟机。

7.7. 模板和权限

7.7.2. 模板管理员角色介绍

以下表格描述了与模板管理相关的管理员角色,以及他们所具有的权利。

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

角色权利备注
TemplateAdmin可以在模板上进行所有操作。有权利创建 、删除和配置一个模板的存储域和网络详情,并可以在域间移动模板。
NetworkAdmin网络管理员可以配置和管理模板上的网络。

7.7.3. 模板用户角色介绍

下表介绍了用户门户中的,与使用和管理模板相关的用户角色和权利。

表 7.2. Red Hat Virtualization 模板用户角色

角色权利注记
TemplateCreator可以在被分配的资源中创建、编辑、管理和删除虚拟机模板。TemplateCreator 角色应用于整个环境,而不是一个特定的模板,使用配置窗口来为用户分配这个角色。另外,还可以把这个角色应用到特定的数据中心、集群或存储域中。
TemplateOwner可以编辑和删除模板;为模板分配和管理用户权限。创建模板的用户会被自动分配 TemplateOwner 角色。没有模板的 TemplateOwner 权限的用户将无法查看或使用这个模板。
UserTemplateBasedVm可以使用模板来创建虚拟机。不能编辑模板属性。
VnicProfileUser模板的逻辑网络和网络接口用户。如果在创建逻辑网络时选择了允许所有用户使用这个网络选项时,VnicProfileUser 权限会被分配给这个逻辑网络中的所有用户。用户可以为这个逻辑网络添加和删除网络接口。

7.7.4. 为资源分配一个管理员或用户

在为资源分配管理员或其它用户角色后,用户将可以访问或管理这个资源。

过程 7.10. 为资源分配一个用户角色

  1. 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
  2. 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
  3. 添加
  4. 搜索栏中输入用户名后点执行。在搜索结果中选择相应的用户。
  5. 要分配的角色:下拉列表中选择需要的角色。
  6. 确定
您为用户分配了一个角色。这个用户继承了角色在这个资源中应该具有的所有权限。

7.7.5. 从一个资源中删除一个管理员或用户角色

当把一个管理员或用户角色从一个资源中删除后,用户将不再具有原来所继承的资源权限。

过程 7.11. 从一个资源中删除一个角色

  1. 使用资源标签页、树形模式或搜索功能来找到一个资源并选择它。
  2. 点详情框中的权限标签页列出这个资源已有的用户、用户角色以及用户继承的权限。
  3. 选择您要从该资源中删除的用户。
  4. 删除打开删除权限窗口来确认权限删除操作。
  5. 确定
您从资源中删除了用户的角色,以及与它相关的权限。

7.8. 使用 Cloud-Init 自动配置虚拟机

Cloud-Init 是一个用来自动配置虚拟机的初始设置(如主机名,网卡和密钥)的工具。它可以在使用模板部署虚拟机时使用,从而达到避免网络冲突的目的。
在使用这个工具前,cloud-init 软件包必须在虚拟机上安装。安装后,Cloud-Init 服务会在系统启动时搜索如何配置系统的信息。您可以使用只运行一次窗口来提供只需要配置一次的设置信息;或在 新建虚拟机编辑虚拟机编辑模板窗口中输入虚拟机每次启动都需要的配置信息。

7.8.1. Cloud-Init 使用实例

Cloud-Init 可以在不同的环境中被用来自动化虚拟机的配置过程。以下介绍了一些常见的实例:
基于模板创建的虚拟机
当您使用一个模板创建虚拟机时,可以在只运行一次窗口中的初始运行项中使用 Cloud-Init 选择。它会在虚拟机第一次运行时对虚拟机进行自定义配置。
虚拟机模板
新建模板编辑模板窗口中的初始运行页中选择使用 Cloud-Init/Sysprep 选项,来定制基于模板所创建的虚拟机。
虚拟机池
您可以使用新建池窗口中的初始运行中的使用 Cloud-Init/Sysprep 选项来为基于虚拟机池的虚拟机自定义配置。这允许您设定一组标准的设置,每一次一台虚拟机池中的虚拟机被使用时,这组配置都会应用到那个虚拟机上。您可以继承或覆盖虚拟机所基于的模板中的设置;或为虚拟机池本身指定设置。

7.8.2. 安装 Cloud-Init

以下介绍了如何在虚拟机上安装 Cloud-Init。当 Cloud-Init 被安装后,您就可以基于这个虚拟机创建模板。使用这个模板创建的虚拟机可以使用 Cloud-Init 的功能,如在系统引导时配置主机名、时区、root 密码、验证密钥、网络接口、DNS 服务等。

过程 7.12. 安装 Cloud-Init

  1. 登录到虚拟机。
  2. 启用所需的仓库:
    • Red Hat Enterprise Linux 6:
      # subscription-manager repos --enable=rhel-6-server-rpms
      # subscription-manager repos --enable=rhel-6-server-rh-common-rpms
    • Red Hat Enterprise Linux 7:
      # subscription-manager repos --enable=rhel-7-server-rpms
      # subscription-manager repos --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 的方法。其中的设置也出现在新建虚拟机编辑模板只运行一次窗口中。

过程 7.13. 使用 Cloud-Init 准备一个模板

  1. 虚拟机标签页并选择一个虚拟机。
  2. 编辑
  3. 初始运行标签页,选择使用 Cloud-Init/Sysprep 选项。
  4. 虚拟机主机名项中输入主机名。
  5. 配置时区并从时区下拉列表中选择所需的时区。
  6. 展开验证项,您可以选中使用已经配置的密码选项来使用已经存在的密码来进行验证;也可以不选择它而在密码验证密码项中设置一个新的 root 密码。
  7. SSH 授权密钥项中输入 SSH 密钥,这个密钥会被添加到虚拟机的授权主机文件中。
  8. 选中重新产生 SSH 密钥选项来为虚拟机重新产生 SSH 密钥。
  9. 展开网络项,在 DNS 服务器项中输入 DNS 服务器。
  10. DNS 搜索域中输入 DNS 搜索域。
  11. 选中网络,并使用 +- 键来为虚拟机添加网络接口或从虚拟机上删除网络接口。
  12. 展开自定义脚本,在自定义脚本项中输入自定脚本。
  13. 确定
  14. 创建模板并输入所需的项。
  15. 确定
您现在就可以使用这个模板部署新的虚拟机。

7.8.4. 使用 Cloud-Init 初始化一台虚拟机

使用 Cloud-Init 可以对 Linux 虚拟机自动进行一些初始配置,如配置虚拟机的主机名、时区、root 密码、验证密钥、网络接口和 DNS 服务。您也可以指定一个自定义脚本( YAML 格式)来在引导时运行。这个自定义脚本可以进行 Cloud-Init 支持的、但是没有出现在 Cloud-Init 项中的设置。如需了解更多相关信息,请参阅 Cloud config examples

过程 7.14. 使用 Cloud-Init 初始化一台虚拟机

这个过程会在启动虚拟机时使用一组 Cloud-Init 设置,如果相关的设置包括在虚拟机所基于的模板中,请检查这些设置,并根据需要对它们进行修改。点确定启动虚拟机。
  1. 虚拟机标签页并选择一个虚拟机。
  2. 只运行一次
  3. 展开初始运行项并选择使用 Cloud-Init
  4. 虚拟机主机名项中输入主机名。
  5. 配置时区并从时区下拉菜单中选择所需的时区。
  6. 您可以选中使用已经配置的密码选项来使用已经存在的密码来进行验证;也可以不选择它而在密码验证密码项中输入 root 密码。
  7. SSH 授权密钥项中输入 SSH 密钥,这个密钥会被添加到虚拟机的授权主机文件中。
  8. 选中重新产生 SSH 密钥选项来为虚拟机重新产生 SSH 密钥。
  9. DNS 服务器项中输入 DNS 服务器。
  10. DNS 搜索域中输入 DNS 搜索域。
  11. 网络,并使用 +- 键来为虚拟机添加网络接口或从虚拟机上删除网络接口。
  12. 自定义脚本项中输入自定义脚本。请确定脚本中的值是正确的,否则会导致操作失败。
  13. 确定

注意

要检查一个虚拟机是否安装了 Cloud-Init,选择这个虚拟机,点应用子标签页。它只会在已安装了 guest 代理后才会显示。

7.9. 基于模板创建虚拟机

基于模板创建虚拟机。您的虚拟机会根据模板的内容被配置(包括操作系统、网络接口,应用程序和其它资源)。

注意

基于模板所创建的虚拟机将“依赖”于模板。这意味着,如果存在基于某个模板创建的虚拟机,您将无法通过 Manager 把那个模板删除。但是,您可以通过模板克隆虚拟机,从而使虚拟机不依赖于那个模板。

过程 7.15. 基于模板创建虚拟机

  1. 虚拟机标签页。
  2. 新建虚拟机
  3. 选择虚拟机所要属于的集群
  4. 基于的模板列表里选择一个模板。
  5. 输入名称描述注释项的值,并接受从模板中继承的其它项的值。您也可以根据您的具体情况修改它们。
  6. 资源分配标签页。
  7. 存储分配中选 Thin
  8. 分配策略列表中选磁盘供给策略。这个选项将会对克隆操作的速度有影响,同时也会对新的虚拟机在初始时所需要的磁盘容量有影响。
    • 选择 Thin Provision 会使克隆操作比较快,并提供一个优化的磁盘使用空间。磁盘空间只有在需要的时候才被分配。这是默认的选择。
    • 选择预分配的会使克隆操作比较慢,但优化了虚拟机的读写操作。模板所需要的磁盘空间在进行克隆操作时就会被分配。
  9. 目标列表中选择保存这个虚拟磁盘的存储域。
  10. 确定
虚拟机在虚拟机标签页中显示。

7.10. 基于模板创建一个克隆的虚拟机

克隆的虚拟机和基于模板创建的虚拟机相似,它们都从模板中继承相关的设置。但是,在一个克隆的虚拟机创建后,它不会“依赖”于它所基于的模板。

注意

如果您通过模板克隆一个虚拟机,模板的名字会出现在编辑虚拟机窗口中的常规标签页中。如果您修改了模板的名字,常规标签页中的模板名也会被更新。但是,如果您从 Manager 中删除了那个模板,模板最初的名字将会被显示。

过程 7.16. 基于模板克隆一个虚拟机

  1. 虚拟机标签页。
  2. 新建虚拟机
  3. 选择虚拟机所要属于的集群
  4. 基于模板下拉菜单中选择一个模板。
  5. 输入名称描述注释项的值,并接受从模板中继承的其它项的值。您也可以根据您的具体情况修改它们。
  6. 资源分配标签页。
  7. 存储分配中选克隆
  8. 分配策略列表中选磁盘供给策略。这个选项将会对克隆操作的速度有影响,同时也会对新的虚拟机在初始时所需要的磁盘容量有影响。
    • 选择 Thin Provision 会使克隆操作比较快,并提供一个优化的磁盘使用空间。磁盘空间只有在需要的时候才被分配。这是默认的选择。
    • 选择预分配的会使克隆操作比较慢,但优化了虚拟机的读写操作。模板所需要的磁盘空间在进行克隆操作时就会被分配。
  9. 目标列表中选择保存这个虚拟磁盘的存储域。
  10. 确定

注意

克隆一个虚拟机需要一些时间,模板的磁盘需要被复制。在进行这个操作时,虚拟机的状态是 Image Locked,然后是 Down
虚拟机被创建并在虚拟机标签页中显示。当克隆操作完成后,您就可以开始使用这个虚拟机,或为它分配用户。

附录 A. 参考资源:管理门户和用户门户中的设置

A.1. 新建虚拟机和编辑虚拟机窗口中的设置介绍

A.1.1. 虚拟机常规设置介绍

下表介绍了新建虚拟机编辑虚拟机窗口中的常规标签页中的选项。

表 A.1. 虚拟机:常规设置

描述
集群
虚拟机所属的主机集群的名字。虚拟机会根据相应的规则运行在这个集群的物理主机上。
基于模板
虚拟机所基于的模板。在默认情况下,这个项为,它允许您创建没有安装操作系统的虚拟机。
模板子版本
虚拟机所基于的模板的版本。在默认条件下,这个值被设置为模板的最新版本。如果只有基本模板,而没有其它的版本时,这个项的默认值为基础版本。每个版本被一个在括号中的数字所标记,数字越高代表版本越新。
操作系统
虚拟机的操作系统。可选的操作系统包括 Red Hat Enterprise Linux 和 Windows。
实例类型(instance type)
虚拟机硬件配置可以基于的实例类型。在默认的情况下,这个项被设置为 Custom,它意味着虚拟机没有和任何实例类型相关联。这个下拉菜单中的有效选项包括 LargeMediumSmallTinyXLarge 以及管理员已创建的自定义实例类型。
其它带有链状图标的设置是通过所选的实例类型自动设置的。如果这类设置的值被改变后,虚拟机将会断开与实例类型的关联(链状图标变为一个断开的链状图标)。如果所修改的设置又恢复到它的原始值时,虚拟机会重新关联到原来的实例类型,图标也会变为连接的链状图标。
优化
指定虚拟机需要根据什么系统类型进行优化。它有两个选项:服务器台式机,默认值是服务器。被优化为服务器的虚拟机没有声卡、使用克隆的磁盘镜像、并且不是无状态的(not stateless)。相反,被优化为台式机的虚拟机带有声卡、使用 thin allocation 镜像、并且是无状态的(stateless)。
名称
虚拟机的名字。它需要最少包括一个 A-Z 或 0-9 的字符(不能有空格)。它的最大长度是 255 个字符。这个名字在这个数据中心中必须是唯一的,但可以在不同的数据中心中重复使用。
VM Id
虚拟机的 ID。虚拟机的创建者可以为虚拟机设置一个自定义的 ID。如果在创建过程中没有指定 ID,一个 UUID 会被自动分配。无论是自定义的 ID 还是自动分配的 ID,在虚拟机创建后都无法被改变。
描述
虚拟机的具体描述。
注释
与这个虚拟机相关的备注。
Stateless
选择这个项来使虚拟机在无状态模式(stateless mode)下运行。这个选项主要用于桌面虚拟机。运行在无状态模式下的虚拟机会在虚拟机硬盘镜像上创建一个新的 COW 层用来保存新的数据。当无状态虚拟机关闭时,这个新的 COW 层会被删除,虚拟机会恢复到它的初始状态。这种虚拟机通常是作为一台临时的机器被短期使用。
以暂停模式启动
选择这个选项将会使虚拟机以暂停模式启动。如果建立一个 SPICE 连接需要很长的时间(如虚拟机不在本地),可以使用这个选项。
删除保护
选择这个选项后虚拟机将不能被删除。只有在这个选项没有被选择时才可以删除虚拟机。
实例镜像
附加为虚拟机附加浮动磁盘,或点创建来添加一个新虚拟磁盘。使用加号和减号图标来添加或删除虚拟磁盘。
编辑重新打开附加虚拟磁盘新建虚拟磁盘窗口。当一个虚拟磁盘被附加或创建后这个按钮会出现。
选择一个 vNIC 配置档案使虚拟机网络接口实例化。
nic1 下拉列表中选择一个 vNIC 配置集来为虚拟机添加一个网络接口。使用加号添加网络接口,使用减号删除网络接口。

A.1.2. 虚拟机系统设置介绍

下表描述了新建虚拟机编辑虚拟机窗口中的系统标签页中的选项。

表 A.2. 虚拟机:系统设置

描述
内存大小
分配给虚拟机的内存大小。在分配内存时,需要考虑虚拟机上所要运行的应用程序所需的资源。
虚拟机的最大内存被虚拟机的体系结构以及集群的兼容级别所限制。
虚拟 CPU 的总数
被分配给虚拟机的 CPU 内核数。它不能超过所在物理主机本身的内核数。
虚拟插槽
被分配给虚拟机的 CPU 插槽的数量。它不能超过所在物理主机本身的 CPU 插槽的数量。
每个虚拟插槽的内核数
为每个虚拟插槽(socket)所分配的内核数。
每个内核的线程数
分配给每个内核的线程数量。增加这个值可以实现同时的多线程(simultaneous multi-threading,简称 SMT)。IBM POWER8 支持每个内核最多 8 个线程。对于 x86(Intel 和 AMD)CPU 类型,推荐使用的值是 1。
自定义仿真机器
这个选项用来指定机器的类型。如果有所改变,虚拟机只会在支持这个机器类型的主机上运行。它的默认值是集群默认的机器类型。
自定义 CPU 类型
这个选项用来指定 CPU 的类型。如果有所改变,虚拟机只会在支持这个 CPU 类型的主机上运行。它的默认值是集群默认的 CPU 类型。
时区
这个选项被用来设置虚拟机的硬件时钟。对于运行 Windows 的系统,它应该和虚拟机中的时区设置相同。在运行 Linux 的系统中,大多数硬件时钟被设置为 GMT+00:00。
提供自定义序列号策略
使用这个选项可以为虚拟机指定一个序列号。可以选择:
  • Host ID:使用主机的 UUID 作为虚拟机的序列号。
  • Vm ID:使用虚拟机的 UUID 作为它的序列号。
  • Custom serial number:指定一个自定义序列号。

A.1.3. 虚拟机初始运行设置介绍

下表描述了新建虚拟机编辑虚拟机窗口中的初始运行标签页中的设置。这些设置只有在使用 Cloud-Init/Sysprep 被选择时才会被显示,而其中的一些特定选项只有在常规标签页中的操作系统列表中选择了基于 Linux 或基于 Windows 的选项后才有效。

表 A.3. 虚拟机:初始运行设置

操作系统
描述
使用 Cloud-Init/Sysprep
Linux,Windows
这个选项被用来切换是否使用 Cloud-Init 或 Sysprep 来初始化虚拟机。
虚拟机主机名
Linux,Windows
虚拟机的主机名。
Windows
虚拟机所属的 Active Directory 域。
机构名
Windows
虚拟机所属机构的机构名。这个选项的值会在运行 Windows 的机器第一次运行时设置机构名时被显示。
Active Directory OU
Windows
虚拟机在所属 Active Directory 域中的 OU(organizational unit)。
配置时区
Linux,Windows
虚拟机的时区。选择这个选项并从时区列表中选择一个时区。
Admin 密码
Windows
虚拟机的管理员用户密码。点扩展箭头显示这个选项的设置。
  • 使用已经配置的密码:这个选项会在您指定了一个初始的管理员密码后自动选择。您需要取消选择这个选项后才可以使用 Admin 密码验证 Admin 密码项来设定一个新密码。
  • Admin 密码:虚拟机的管理员用户密码。输入密码,并在验证 Admin 密码项中输入密码进行验证。
验证
Linux
虚拟机验证详情。点箭头来显示这个选项的设置。
  • 使用已经配置的密码:这个选项会在您指定了一个初始的 root 密码后自动选择。您需要取消选择这个选项后才可以使用密码验证密码项来设定一个新密码。
  • 密码:虚拟机的 root 用户密码。输入密码,并在验证密码项中输入密码进行验证。
  • SSH 授权密钥:指定 SSH 密钥并把它加入到虚拟机的验证密钥文件中。您可以通过在一个新行中输入 SSH 密钥来指定多个 SSH 密钥。
  • 重新生成 SSH 密钥:为这个虚拟机重新生成 SSH 密钥。
自定义语言环境
Windows
虚拟机的自定义语言环境选项。语言环境的设置值必须使用特定的格式,如 en-US。点扩展箭头显示这个选项的设置。
  • 输入的语言环境:用户输入的语言环境。
  • UI 语言:用户界面项(如按钮、菜单)所使用的语言。
  • 系统语言环境:系统整体的语言环境。
  • 用户语言环境:用户的语言环境。
网络
Linux
虚拟机中与网络相关的配置。点箭头来显示这个选项的设置。
  • DNS 服务器:虚拟机使用的 DNS 服务器。
  • DNS 搜索域:虚拟机使用的 DNS 搜索域。
  • 网络:为虚拟机配置网络接口。选择这个选项并使用 +- 来为这个虚拟机添加或删除网络接口。当点 + 时,一组项将会被显示,您可以通过它们指定是否使用 DHCP、配置 IP 地址、网络掩码和网关,以及指定网络接口是否在系统启动时启用。
自定义脚本
Linux
在虚拟机启动时运行的自定义脚本。在这个项中所输入的脚本会作为自定义 YAML 项被添加到 Manager 所产生的文件中。它可以自动进行一些操作,如创建用户和文件、配置 yum 软件仓库、运行命令。如需了解更多关于这个项中的脚本的格式,请参阅 Custom Script 文档。
Sysprep
Windows
一个自定义的 Sysprep 设置。这个设置必须使用完全非交换式回答文件(answer file)的格式。您可以使用默认的回答文件(位于安装 Red Hat Virtualization Manager 的机器的 /usr/share/ovirt-engine/conf/sysprep/ 目录中)作为一个模板,并根据您的需要进行相应的修改。

A.1.4. 虚拟机控制台的设置介绍

下表描述了新建虚拟机编辑虚拟机窗口中的控制台标签页中的选项。

表 A.4. 虚拟机:控制台

描述
显示协议
指定使用什么显示协议。因为 SPICE 支持多种功能,因此它是推荐使用的协议。VNC 是一个替代的选择,它需要使用 VNC 客户端连接到虚拟机。选择 SPICE + VNC 可以获得最大的灵活性。
VNC 键盘格式
虚拟机的键盘类型。这个选项只有在使用 VNC 协议时有效。
USB 支持
USB 设备是否可以在虚拟机上使用。这个选项只有在使用 SPICE 协议的虚拟机上有效。请选择:
  • 已禁用 - 不允许 USB 从客户机重定向到虚拟机。
  • 旧版本 - 使用 Red Hat Enterprise Virtualization 3.0 中的 SPICE USB 重定向策略。这个选项只能在 Windows 虚拟机上使用,并将不再被新的 Red Hat Virtualization 所支持。
  • Native - 为 Linux 和 Windows 虚拟机启用 native KVM/SPICE USB 重定向功能,虚拟机将不需要任何的代理程序或驱动。
显示器
虚拟机的显示器数量。这个选项只对使用 SPICE 显示协议的虚拟台式机有效。您可以选择 124。 请注意,Windows 8 和 Windows Server 2012 虚拟机不支持多显示器。
启用智能卡
智能卡(smart card)是一个提供额外安全性能的硬件设备,它常见于信用卡上,但许多机构也使用它作为身份验证的设备。智能卡可以被用来保护 Red Hat Virtualization 环境中的虚拟机。使用这个选项在虚拟机上启用或禁用智能卡验证。
禁用严格的用户检查
高级参数后选择这个选项来启用这个功能。当启用这个功能时,如果一个不同的用户连接到虚拟机,虚拟机将不需要重新启动。
在默认的情况下,“严格的用户检查”功能被启用,因此,只有一个用户可以连接到虚拟机的控制台上。在重新启动前,其它用户将无法打开这台虚拟机的控制台。但是,SuperUser 是一个例外,它可以在任何时候进行连接并取消其它用户的连接。当一个 SuperUser 连接后,一般用户在虚拟机被重启前无法再次连接。
当禁用“严格的用户检查”功能时需要格外小心,因为它可能会把前一个用户的连接信息泄漏给新的用户。
启用声卡
不是所有的虚拟机都需要声卡设备,如果您需要使用声卡,选中这个选项。
启用 VirtIO 串口控制台
VirtIO 串口控制台通过 VirtIO 频道进行仿真,并使用 SSH 和密钥对,您可以通过命令行而不是使用管理门户或用户门户直接访问虚拟机的串口控制台。因为 Manager 会作为连接的一个代理,提供虚拟机的放置信息,并保存验证密钥匙,所以串口控制台需要直接到 Manager 的访问。选择这个选项来在虚拟机上启用 VirtIO 控制台。
启用 SPICE 文件传输
指定是否允许用户从一个外部主机上复制并粘贴内容到虚拟机的 SPICE 控制台。这个选项只对使用 SPICE 协议的虚拟机有效。它在默认的情况下被选择。
启用 SPICE 剪貼板复制和粘贴功能
指定是否允许用户从一个外部主机上复制并粘贴内容到虚拟机的 SPICE 控制台。这个选项只对使用 SPICE 协议的虚拟机有效。它在默认的情况下被选择。

A.1.5. 虚拟机的主机设置介绍

下表描述了新建虚拟机编辑虚拟机窗口中的主机标签页中的选项。

表 A.5. 虚拟机:主机设置

子项
描述
开始运行在
 
指定虚拟机优先在哪个主机上运行。选择:
  • 集群里的任何主机 - 虚拟机可以在集群中的任何可用主机上运行。
  • 专有的 - 虚拟机将在集群中的某个特定主机上运行。从可用主机下拉菜单中选择 特定主机或一组主机。系统管理员可以根据虚拟机上的迁移和高可用性配置,把虚拟机迁移到集群中的其它主机上。
迁移选项
迁移模式
运行和迁移虚拟机的选项。如果这些选项没有被设置,这台虚拟机将会根据集群的策略来运行或迁移。
  • 允许手动和自动迁移 - 虚拟机可以根据所在环境的状态,自动从一个主机迁移到另一个主机;也可以被管理员手动迁移。
  • 只允许手动迁移 - 虚拟机只能通过管理员进行手动迁移。
  • 不允许迁移 - 虚拟机不能被迁移。
 
使用自定义迁移策略
指定迁移聚合策略。如果每个选择这个选项,主机会自己决定使用的策略。
  • Legacy - 使用 3.6 版本的工作方式。在 vdsm.conf 中进行覆盖仍然适用。guest 代理的 hook 机制会被禁用。
  • Minimal downtime - 允许虚拟机在典型的情况下进行迁移,虚拟机应该不会出现长时间的下线情况。如果在一定时间内(取决于 QEMU,最长时间是 500 毫秒)虚拟机的迁移还没有聚合,迁移操作会被终止。guest 代理机制会被启用。
  • Suspend workload if needed - 允许虚拟机在多数情况下都可以进行迁移,包括虚拟机的负载非常大的情况。虚拟机可能会出现较长的下线时间。当负载太大时,迁移操作也会被终止。guest 代理机制会被启用。
 
使用自定义迁移下线时间
指定在迁移过程中虚拟机的最大下线时间(以毫秒为单位)。您需要根据系统负载和 SLA 的要求来为每个虚拟机指定不同的值。输入 0 来使用 VDSM 的默认值。
 
自动聚合迁移
只有在使用 Legacy 迁移策略时有效。您可以设置在实时迁移虚拟机时是否进行自动聚合。具有大量负载的大型虚拟机产生“脏”内存的频率会比在实时迁移过程中所达到的传输速率更快,并可能造成迁移无法进行聚合。而 QEMU 中的自动聚合功能可以强制聚合迁移的虚拟机。QEMU 会自动检测到缺少的聚合操作,并触发虚拟机中的 vCPU 的节流操作。在默认情况下,自动聚合在全局范围内被禁用。
  • 从集群设置继承来使用集群一级中的自动聚合设置。这个选项在默认情况下被选择。
  • 自动聚合会忽略集群中的相关设置以及全局的相关设置,自动聚合在虚拟机上被启用。
  • 不自动聚合会忽略集群中的相关设置以及全局的相关设置,自动聚合在虚拟机上被禁用。
 
启用迁移压缩
只有在选择了 Legacy 选项后才有效。这个选项可以被用来指定在迁移虚拟机的过程中是否进行压缩。这个功能会使用 Xor Binary Zero Run-Length-Encoding,它会缩短那些运行需要大量写入内存的负载的虚拟机的下线时间,以及那些运行具有稀松内存更新特征的应用程序的虚拟机的下线时间。在默认情况下,迁移压缩被全局禁用。
  • 从集群设置继承来使用集群一级中的压缩设置。这个选项在默认情况下被选择。
  • 压缩会忽略集群中的相关设置以及全局的相关设置,压缩在虚拟机上被启用。
  • 不压缩会忽略集群中的相关设置以及全局的相关设置,压缩在虚拟机上被禁用。
 
Pass-Through 主机 CPU
允许虚拟机使用它所在主机的物理 CPU 所具有的功能。这个功能只有在不允许迁移被选中时有效。
配置 NUMA
NUMA 节点数
分配给虚拟机的虚拟 NUMA 节点的数量。如果 Tune Mode 被设置为 Preferred,这个值必须设置为 1
 
Tune Mode
分配内存的方法。
  • Strict:当内存无法在目标节点上分配时,内存分配失败。
  • Preferred:内存会从一个优先的节点上分配。如果这个节点没有足够的内存,内存会从其它节点上分配。
  • Interleave:使用循环(round-robin)算法在不同节点上分配内存。
 
NUMA 固定
打开 NUMA 拓扑窗口。这个窗口会显示主机的总 CPU、内存、NUMA 节点和虚拟机的虚拟 NUMA 节点。从右面的框中选中虚拟 NUMA 节点,并把它拖到左面框中的主机 NUMA 节点上来固定虚拟 NUMA 节点。

A.1.6. 虚拟机高可用性配置介绍

下表描述了新建虚拟机编辑虚拟机窗口中的高可用性标签页中的选项。

表 A.6. 虚拟机:高可用性设置

描述
高度可用的
如果虚拟机被用作为高可用性系统,请选择这个选项。当主机进行维护或出现问题时,虚拟机会被自动迁移到其它主机上运行。当主机出现问题并处于无法正常工作的状态时,只有带有高可用性功能的虚拟机会在其它主机上重启。如果主机被管理员手动关机,虚拟机将不会被自动实时迁移到其它主机上。
请注意,如果主机标签页中的迁移选项被设置为只允许手动迁移不允许迁移,这个选项将无效。作为一个高可用性的虚拟机,Manager 必须可以在需要的时候把它迁移到其它主机上。
运行/迁移队列的优先级
设置虚拟机迁移到其它主机并重新启动的优先级。
Watchdog
允许用户为虚拟机添加一个 watchdog 卡。watchdog 是一个计时器,它会自动检测系统故障并进行恢复。在 watchdog 计时器被设置后,它会开始倒计时,而正常运行的系统会定时去重设它的时间,从而使它的时间无法倒数到 0。如果计时器倒数到 0,则说明系统因为出现了故障,而没有重设它,排除故障的操作将会被进行。这个功能对于高可以性的服务器非常有用。
Watchdog 型号:虚拟机所使用的 watchdog 卡的型号。当前,我们只支持 i6300esb
Watchdog 操作: 当 watchdog 计时器倒数到 0 时所要进行的操作。以下操作可以被执行:
  • - 不进行任何操作,这个事件会被记录在审计日志中。
  • 重置 - 虚拟机被重启,并通知 Manager 这个重启操作。
  • 断电 - 虚拟机被立刻关机。
  • 转储 - 执行 dump 操作并暂停虚拟机。
  • 暂停 - 虚拟机被暂停,并可以被用户恢复运行。

A.1.7. 虚拟机资源分配设置介绍

下表描述了新建虚拟机编辑虚拟机窗口中的资源分配标签页中的选项。

表 A.7. 虚拟机:资源分配设置

子项
描述
CPU 分配
CPU 配置集
分配给虚拟机的 CPU 配置集。CPU 配置集定义了一个虚拟机可以在运行它的主机上获得的最大处理能力(以所占主机的所有资源的百分比表示)。CPU 配置集根据数据中心的服务质量在集群一级上被定义。
CPU 共享
一个虚拟机可以请求的 CPU 共享资源的级别。
  • - 512
  • - 1024
  • - 2048
  • 自定义 - 用户自定义的 CPU 共享级别。
 
CPU Pinning 拓扑结构
允许虚拟机的虚拟 CPU (vCPU) 在一个特定主机的特定物理 CPU (pCPU) 上运行。它的格式是: 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 固定到 pCPU1 - pCPU 4 中除 pCPU 2 外的一个 pCPU 上。
为了把一个虚拟机固定到一个主机,需要在主机标签页中做如下设置:
  • 开始运行在: 特定
  • 迁移选项: 不允许迁移
  • Pass-Through 主机 CPU
内存分配
虚拟机可以保证获得的物理内存的大小。
IO 线程启用 IO 线程启用 virtio-blk data plane。选择这个选项,可以提高带有 VirtIO 接口的磁盘的速度,这是通过把它们和一个与虚拟机的其它功能相独立的线程相固定来实现的。提高磁盘的性能将会使虚拟机的整体性能得到提高。带有 VirtIO 接口的磁盘使用循环(round robin)算法和 IO 线程进行固定。
 IO 线程数量另外,还可以输入一个数值来创建多个 IO 线程(最大值为 127)。它的默认值是 1。
存储分配
模板 Provisioning 选项只在虚拟机是通过一个模板被创建时才有效。
Thin
提供优化的存储空间的使用。磁盘空间只有在需要的时候才会被分配。
克隆
优化客户端的读写操作的速度。模板所需要的磁盘空间在进行克隆操作时就会被分配。
已启用 VirtIO-SCSI
允许用户在虚拟机上启用或禁用 VirtIO-SCSI。

A.1.8. 虚拟机引导选项设置介绍

下表描述了新建虚拟机编辑虚拟机窗口中的引导选项标签页中的选项。

表 A.8. 虚拟机:引导选项设置

描述
第一个设备
在虚拟机被安装后,它需要在启动前进入引导模式。选择虚拟机在引导时尝试使用的第一个设备:
  • 硬盘
  • CD-ROM
  • 网络 (PXE)
第二个设备
选择当虚拟机的第一个引导设备无效时要选择的第二个引导设备。在第一个设备选项中选择的值不会出现在这个选项中。
附加 CD
如果您选择了 CD-ROM 作为引导设备,点这个项并从下拉菜单中选择一个 CD-ROM 镜像。所选择的镜像必须存在于 ISO 域中。

A.1.9. 虚拟机随机数生成器设置介绍

下表描述了新建虚拟机编辑虚拟机窗口中的随机数生成器标签页中的选项。

表 A.9. 虚拟机:随机数生成器设置

描述
启用随机数生成器
选择这个选项来启用一个半虚拟化随机数生成器 PCI 设备(virtio-rng)。这个设备允许主机把系统随机变化的程度值(entropy)传递给虚拟机来产生更加复杂的随机数。请注意,这个选项只在主机上有 RNG 设备,并且在主机的集群中被启用时才可以选择。
周期时间(ms)
指定一个周期的时间(以毫秒为单位),libvirt 的默认值是 1000 毫秒(1 秒)。如果设置了这个项,Bytes per period 项也需要被设置。
Bytes per period
指定每个周期中允许消耗的字节数。
设备源:
随机数生成器的设备源。它会根据主机集群所支持的源来自动选择。
  • /dev/random source - Linux 提供的随机数生成器。
  • /dev/hwrng source - 外部的硬件随机数生成器。

重要

这个功能只在运行于 Red Hat Enterprise Linux 6.6(或更高版本)和 Red Hat Enterprise Linux 7.0(或更高版本)的主机上被支持。

A.1.10. 虚拟机自定义属性设置介绍

下表描述了新建虚拟机编辑虚拟机窗口中的自定义标签页中的选项。

表 A.10. 虚拟机:自定义属性设置

描述
建议和限制
sap_agent
在虚拟机上启用 SAP 监测。可设为 truefalse
-
sndbuf
输入通过网络端口发送虚拟机数据的缓冲区的大小。默认值是 0。
-
vhost
禁用 vhost-net。vhost-net 是关联到虚拟机的虚拟网络接口的、基于内核的 virtio 网络驱动。要禁用 vhost,使用以下格式设置这个选项:
LogicalNetworkName: false
这将使虚拟机在启动后,连接到 LogicalNetworkName 的虚拟网卡上没有 vhost-net 的设置。
vhost-net 会提供比 virtio-net 更好的性能。在默认的情况下,它会在所有虚拟机上启用。禁用这个功能可以帮助查找与性能相关的问题,或调试与 vhost-net 相关的错误。
viodiskcache
virtio 磁盘的缓存。writethrough 会把数据并行地写到缓存和磁盘中;writeback 不会把修改的数据从缓存复制到磁盘中;none 将禁用缓存功能。
如果启用了 viodiskcache,虚拟机将无法被实时迁移。

警告

增加 sndbuf 属性的值将会增加主机和无响应虚拟机间通信失败的可能性。

A.1.11. 虚拟机图标设置介绍

您可以为虚拟机和模板添加自定义的图标,从而使它们可以在用户门户中区分开。下表描述了新建虚拟机编辑虚拟机窗口中的图标标签页中的选项。

表 A.11. 虚拟机:图标设置

按钮名
描述
上传
点这个按钮并选择一个作为虚拟机图标的自定义图片。它有以下限制:
  • 支持的格式:jpg、png、gif
  • 最大的文件大小:24 KB
  • 最大尺寸:150px 宽,120px 高
使用默认值
点这个按钮来使用操作系统的默认图像作为虚拟机的图标。

A.2. 新建网络接口和编辑网络接口窗口中的设置介绍

这些设置在添加或编辑虚拟机网络接口时会用到。如果您的虚拟机有不止一个网络接口,您可以把虚拟机放到多个逻辑网络中。

表 A.12. 网络接口设置

描述
名称
网络接口的名称。它最长支持 21 个字符,可以包括大小写字母、数字、分号和下划线。逻辑接口的名字必须是唯一的。
Profile
网络接口所在的逻辑网络。在默认情况下,所有网络接口都位于 ovirtmgmt 管理网络中。
类型
网络接口在虚拟机上所代表的虚拟接口类型。VirtIO 的速度比较快,但需要 VirtIO 驱动。Red Hat Enterprise Linux 5 和更高版本包括了 VirtIO 驱动。Windows 不包括 VirtIO 驱动,但它们可以通过客户机工具程序 ISO 或虚拟软盘进行安装。rtl8139 和 e1000 设备驱动包括在大多数操作系统中。
自定义 MAC 地址
使用这个选项来设置一个自定义的 MAC 地址。Red Hat Virtualization Manager 会自动生成一个 MAC 地址来标识这个网络接口。在同一个网络中有两个具有同样 MAC 地址的网络设备将会产生网络冲突。
连接状态
网络接口是否连接到逻辑网。
  • Up: 网络接口在它的插槽中。
    • 卡状态Plugged 时,它意味着网络接口被一个网线连接并处于激活状态。
    • 卡状态Unplugged 时,它意味着网络接口将会被自动连接到网络中并被激活。
  • Down: 网络接口在它的插槽中,但没有连接到任何网络。虚拟机无法在这个状态下运行。
卡状态
网络接口是否在虚拟机上被定义。
  • Plugged: 网络接口已经在虚拟机上被定义。
    • 如果它的连接状态Up,这意味着网络接口连接到一个网线上,并且是被激活的。
    • 如果它的连接状态Down,这意味着网络接口没有连接网线。
  • Unplugged: 网络接口只在 Manager 上被定义,还没有添加到虚拟机中。
    • 如果它的连接状态Up,当网络接口被插入时,它被自动连接到网络并被激活。
    • 如果它的连接状态Down,这个网络接口还没有被连接到任何网络,直到它在一台虚拟机上被定义。

A.3. 新建虚拟磁盘和编辑虚拟磁盘窗口中的设置介绍

表 A.13. 新建虚拟机和编辑虚拟机设置:镜像

描述
大小 (GB)
您创建的虚拟磁盘的大小(以 GB 为单位)
别名
虚拟磁盘的别名,最长为 40 个字符。
描述
虚拟磁盘的描述。这个项可以是空,但我们推荐您为这个项输入相应的信息。
接口
在虚拟机上代表这个虚拟磁盘的虚拟接口。VirtIO 接口速度比较快,但需要驱动程序。Red Hat Enterprise Linux 5 和更高的版本中包括了这些驱动程序。Windows 并不包括这些驱动,但可以通过客户端工具程序 ISO 或虚拟软盘进行安装。IDE 设备不需要特殊的驱动程序。
数据中心
虚拟磁盘所在的数据中心。
存储域
虚拟磁盘被保存的存储域。下拉列表列出了所选数据中心中的所有可用存储域,以及存储域中可用的存储空间。
分配策略
新虚拟磁盘的部署策略。
  • 预分配(Preallocated) 会在创建虚拟磁盘时为它在存储域中分配一个容量大小相等的磁盘空间。它的虚拟大小值和实际大小值是相同的。Preallocated 虚拟磁盘比 thinly provisioned 虚拟磁盘需要更长的时间来创建,但它的读写性能会更好。如果一个虚拟机需要可以满足每 4 秒写多于 1GB 的数据,我们推荐在条件允许的情况下使用预分配磁盘的形式。
  • Thin Provision 会在创建虚拟磁盘时分配 1GB 的存储空间,并设置在扩展磁盘容量时每次可以增加的最大限制。它的虚拟大小的值反映了磁盘的最大容量限制,而实际大小的值是磁盘当前实际分配的磁盘空间。使用 thin provision 格式创建磁盘的时间会被使用预分配格式要快,并允许使用存储过度分配(storage over-commitment)的功能。我们推荐桌面系统使用 thin provision 格式的虚拟磁盘。
Disk Profile
分配给虚拟磁盘的磁盘配置集。磁盘配置集定义了在一个存储域中的虚拟磁盘的最大吞吐级别和输入、输出操作的最大级别。它是基于数据中心中的存储配置集而创建的。
激活磁盘
在创建虚拟磁盘后立即激活它。在创建浮动磁盘时,这个选项不能用。
删除后清理
在虚拟磁盘被删除后,删除上面敏感的数据。这可以增强数据的安全性。
可引导
在虚拟磁盘中启用可引导标识
可共享
可以把这个虚拟磁盘同时附加到多个虚拟机上。
只读
把磁盘设置为只读。同一个磁盘可以作为只读盘附加到一个虚拟机上,也可以作为可写盘附加到其它虚拟机上。在创建浮动磁盘时,这个选项不可用。
直接 LUN 的设置可以在 Targets > LUNsLUNs > Targets 标签页中显示。 Targets > LUNs 页根据所发现的主机为可用的 LUN 进行排序;而 LUNs > Targets 显示了一个单一的 LUN 列表。

表 A.14. 新建虚拟机和编辑虚拟机设置:直接 LUN

描述
别名
虚拟磁盘的别名,最长为 40 个字符。
描述
虚拟磁盘的描述。这个项可以是空,但我们推荐您为这个项输入相应的信息。在默认情况下,LUN ID 的最后 4 位会被插入这个项。
使用 engine-config 命令把 PopulateDirectLUNDiskDescriptionWithLUNId 配置关键字设置为一个适当的值可以改变默认的行为。如果把它设置为 -1,则整个 LUN ID 都会被使用;如果把它设置为 0,这个功能会被忽略;如果把它设置为一个正的整数,则使用 LUN ID 中的相应位数。
接口
在虚拟机上代表这个虚拟磁盘的虚拟接口。VirtIO 接口速度比较快,但需要驱动程序。Red Hat Enterprise Linux 5 和更高的版本中包括了这些驱动程序。Windows 并不包括这些驱动,但可以通过客户端工具程序 ISO 或虚拟软盘进行安装。IDE 设备不需要特殊的驱动程序。
数据中心
虚拟磁盘所在的数据中心。
使用主机
将要挂载 LUN 的主机。您可以选择数据中心中任何一个主机。
存储类型
添加的外部 LUN 类型。您可以选择 iSCSIFibre Channel
发现目标
这个项会在您使用 iSCSI 外部 LUN 并选择了 Targets > LUNs 时被展开。
地址 - 目标服务器的主机名或 IP 地址。
端口 - 连接到目标服务器所使用的端口。默认值是 3260。
用户验证 - iSCSI 服务器所需的用户验证。当您使用 iSCSI 外部 LUN 时,用户验证项会被显示。
CHAP 用户 - 有权限登录到 LUN 上的用户的用户名。这个项在选择了用户验证项后才有效。
CHAP 密码 - 有权限登录到 LUN 上的用户的密码。这个项在选择了用户验证项后才有效。
激活磁盘
在创建虚拟磁盘后立即激活它。在创建浮动磁盘时,这个选项不能用。
可引导
在虚拟磁盘中启用可引导标识
可共享
可以把这个虚拟磁盘同时附加到多个虚拟机上。
只读
把磁盘设置为只读。同一个磁盘可以作为只读盘附加到一个虚拟机上,也可以作为可写盘附加到其它虚拟机上。在创建浮动磁盘时,这个选项不可用。
启用 SCSI Pass-Through
接口设置为 VirtIO-SCSI 时可用。选择这个选项会启用把物理 SCSI 设备透传(passthrough)给虚拟磁盘的功能。启用了 SCSI passthrough 的 VirtIO-SCSI 接口会自动包括 SCSI discard 的支持。当使用这个选项时,只读功能不被支持。
当没有选择这个选项时,虚拟磁盘会使用仿真的 SCSI 设备。仿真的 VirtIO-SCSI 磁盘支持只读功能。
允许特许的 SCSI I/O
在选择了启用 SCSI Pass-Through 选项后可用。选择这个选项将启用没有过滤的 SCSI Generic I/O(SG_IO)的访问来允许在磁盘上进行特许的 SG_IO 命令。持久性预留(persistent reservations)需要这个设置。
使用 SCSI 预留
在选择了启用 SCSI Pass-Through允许特许的 SCSI I/O 选项后可用。使用这个选项将禁止对使用这个磁盘的虚拟机进行迁移,从而达到防止使用 SCSI 预留功能的虚拟机无法访问这个磁盘的问题出现。
发现目标项中输入相应的信息并点发现来发现目标服务器。您然后可以点登录全部按钮来列出目标服务器上的所有可用的 LUN,选择需要被添加的 LUN。
直接使用 LUN 作为虚拟机的硬盘镜像将会省掉您的虚拟机和它们的数据间的一个抽象层。
在直接使用 LUN 作为一个虚拟机硬盘镜像时需要考虑以下因素:
  • 实时迁移直接 LUN 硬盘镜像的功能不被支持。
  • 直接 LUN 磁盘不包括在虚拟机的导出中。
  • 直接 LUN 磁盘不包括在虚拟机的快照中。
如果在有权限创建创建磁盘的相关数据中心中没有可用的 OpenStack 卷存储域,则 Cinder 的设置表格会被禁用。Cinder 磁盘需要可以访问一个通过外部供应商窗口创建添加到 Red Hat Virtualization 环境中的 OpenStack 卷实例。如需了解更多相关信息,请参阅 Adding an OpenStack Volume (Cinder) Instance for Storage Management

表 A.15. 新建虚拟机和编辑虚拟机设置:Cinder

描述
大小 (GB)
您创建的虚拟磁盘的大小(以 GB 为单位)
别名
虚拟磁盘的别名,最长为 40 个字符。
描述
虚拟磁盘的描述。这个项可以是空,但我们推荐您为这个项输入相应的信息。
接口
在虚拟机上代表这个虚拟磁盘的虚拟接口。VirtIO 接口速度比较快,但需要驱动程序。Red Hat Enterprise Linux 5 和更高的版本中包括了这些驱动程序。Windows 并不包括这些驱动,但可以通过客户端工具程序 ISO 或虚拟软盘进行安装。IDE 设备不需要特殊的驱动程序。
数据中心
虚拟磁盘所在的数据中心。
存储域
虚拟磁盘被保存的存储域。下拉列表列出了所选数据中心中的所有可用存储域,以及存储域中可用的存储空间。
卷类型
虚拟磁盘的卷类型。下拉列表列出了全部可用的卷类型。卷类型在 OpenStack Cinder 上管理并配置。
激活磁盘
在创建虚拟磁盘后立即激活它。在创建浮动磁盘时,这个选项不能用。
可引导
在虚拟磁盘中启用可引导标识
可共享
可以把这个虚拟磁盘同时附加到多个虚拟机上。
只读
把磁盘设置为只读。同一个磁盘可以作为只读盘附加到一个虚拟机上,也可以作为可写盘附加到其它虚拟机上。在创建浮动磁盘时,这个选项不可用。

重要

挂载一个有记录功能的文件系统需要读写访问权限,因此不能对包括这些文件系统(如 EXT3EXT4XFS)的磁盘使用只读选项。

A.4. 新建模板和编辑模板窗口中的设置和控制介绍

下表介绍了新建模板编辑模板窗口中的设置。

表 A.16. 新建模板和编辑模板设置

描述/操作
名称
模板的名称。这个名称被列在模板标签页中,REST API 需要使用这个名称来访问这个模板。相同数据中心中的不同模板必须使用不同的名称,名称的长度不能超过 40 个字符,并只能由大小写字母、数字、分号和下划线组成。这个名称可以在其它数据中心中重复使用。
描述
模板的描述。这个项被推荐使用,但不是必须的。
注释
关于这个模板的注释信息。
集群
模板所在的集群。在默认情况下,它的值和原始虚拟机的相同。您可以选择数据中心中的任何集群。
CPU 配置集分配给模板的 CPU 配置集。CPU 配置集定义了一个虚拟机可以在运行它的主机上获得的最大处理能力(以所占主机的所有资源的百分比表示)。CPU 配置集根据数据中心的服务质量在集群一级上被定义。
创建为子模板版本
指定这个新建的模板是否被创建为一个存在模板的子版本。选中这个选项后可以设置与这个选项相关的配置。
  • 根模板: 新的子模板将要被加入的模板。
  • 子版本名称: 模板名称。在基于模板创建一个新虚拟机的时候,使用这个名称来访问这个模板。
存储分配
别名 - 模板使用的虚拟机磁盘别名。默认情况下,它的值和原始虚拟机的值相同。
虚拟大小 - 基于模板的虚拟机可以使用的磁盘空间总和。这个值(以 GB 为单位)出现在这里作为一个参考,它不能被修改。它是在创建或编辑磁盘时被决定的。
目标 - 被这个模板所使用的虚拟磁盘所在的存储域。在默认情况下,它的值和原始虚拟机的值相同。您可以选择集群中的任何一个存储域。
允许所有的用户来访问这个模板
指定这个模板是一个公共模板还是一个私人模板。公共模板可以被所有用户使用,而私人模块只能被有 TemplateAdminSuperUser 角色的用户使用。
复制虚拟机的权限
把原始虚拟机上的权限复制到模板中。

A.5. 只运行一次窗口中的设置介绍

只运行一次窗口包括了一个虚拟机上只需要运行一次的引导选项。对于那些需要多次运行的引导选项,请使用新建虚拟机窗口中的引导选项页。只运行一次窗口包括了多个可以配置的项。
引导选项定义了虚拟机的系统引导顺序、运行选项,以及提供了所要安装的操作系统和所需驱动的源代码镜像。

表 A.17. 引导选项

描述
附加软盘
为虚拟机添加一个软盘。使用这个选项来安装 Windows 驱动。这个软盘镜像必须在 ISO 存储域中。
附加 CD
为虚拟机添加一个 ISO 镜像。使用这个选项来安装虚拟机的操作系统和应用程序。这个 CD 镜像必须在 ISO 存储域中。
引导顺序
指定在引导虚拟机时,引导设备的使用顺序。选择硬盘CD-ROM网络,然后使用上移下移来调整它们的顺序。
以 Stateless 状态运行
在关机后删除所有的改变。这个选项只有在为虚拟机添加了虚拟磁盘后才有效。
以暂停模式启动
启动虚拟机后暂停。这个选项适用于不在本地的虚拟机。
Linux 引导选项包括了不用通过 BIOS bootloader,而是直接引导一个 Linux 内核的选项。

表 A.18. Linux 引导选项

描述
内核路径
用来引导虚拟机的内核镜像的完全路径。内核镜像必须存储在 ISO 域(路径的格式为 iso://path-to-image)或主机的本地存储域(路径的格式是 /data/images)。
initrd 路径
用来和前面指定的内核一起使用的 ramdisk 镜像的路径。ramdisk 镜像必须存储在 ISO 域(路径的格式是 iso://path-to-image),或存储在主机的本地存储域(路径格式是 /data/images)。
内核参数
所选的内核在引导时使用的内核命令行参数。
初始运行项指定是否使用 Cloud-Init 或 Sysprep 来初始化虚拟机。对于基于 Linux 的虚拟机,您需要选择初始运行标签页中的使用 Cloud-Init 选项后才能看到可用的选项。对于基于 Windows 的虚拟机,您需要选中引导选项标签页中的附加软盘选项来附加 [sysprep] 软盘。
根据虚拟机所基于的操作系统的不同,初始运行中所包括的选项也会不同。

表 A.19. 初始运行(基于 Linux 的虚拟机)

描述
虚拟机主机名
虚拟机的主机名。
配置时区
虚拟机的时区。选择这个选项并从时区列表中选择一个时区。
验证
虚拟机验证详情。点箭头来显示这个选项的设置。
验证 > 用户名
在虚拟机上创建一个新用户帐号。如果没有填写这个项,默认用户 root 会被创建。
验证 > 使用已经配置的密码
这个选项会在您指定了一个初始的 root 密码后自动选择。您需要取消选择这个选项后才可以使用密码验证密码项来设定一个新密码。
验证 > 密码
虚拟机的 root 用户密码。输入密码,并在验证密码项中输入密码进行验证。
验证 > SSH 授权密钥
指定 SSH 密钥并把它加入到虚拟机的验证密钥文件中。
验证 > 重新产生 SSH 密钥
为这个虚拟机重新生成 SSH 密钥。
网络
虚拟机中与网络相关的配置。点箭头来显示这个选项的设置。
网络 > DNS 服务器
虚拟机使用的 DNS 服务器。
网络 > DNS 搜索域
虚拟机使用的 DNS 搜索域。
网络 > 网络
为虚拟机配置网络接口。选择这个选项并使用 +- 来为这个虚拟机添加或删除网络接口。当点 + 时,一组项将会被显示,您可以通过它们指定是否使用 DHCP、配置 IP 地址、网络掩码和网关,以及指定网络接口是否在系统启动时启用。
自定义脚本
在虚拟机启动时运行的自定义脚本。在这个项中所输入的脚本会作为自定义 YAML 项被添加到 Manager 所产生的文件中。它可以自动进行一些操作,如创建用户和文件、配置 yum 软件仓库、运行命令。如需了解更多关于这个项中的脚本的格式,请参阅 Custom Script 文档。

表 A.20. 初始运行(基于 Windows 的虚拟机)

描述
虚拟机主机名
虚拟机的主机名。
虚拟机所属的 Active Directory 域。
机构名
虚拟机所属机构的机构名。这个选项的值会在运行 Windows 的机器第一次运行时设置机构名时被显示。
Active Directory OU
虚拟机在所属 Active Directory 域中的 OU(organizational unit)。它的值需要是唯一的。例如,CN=Users,DC=lab,DC=local
配置时区
虚拟机的时区。选择这个选项并从时区列表中选择一个时区。
Admin 密码
虚拟机的管理员用户密码。点扩展箭头显示这个选项的设置。
Admin 密码 > 使用已经配置的密码
这个选项会在您指定了一个初始的管理员密码后自动选择。您需要取消选择这个选项后才可以使用 Admin 密码验证 Admin 密码项来设定一个新密码。
Admin 密码 > Admin 密码
虚拟机的管理员用户密码。输入密码,并在验证 Admin 密码项中输入密码进行验证。
自定义语言环境
语言环境的设置值必须使用特定的格式,如 en-US。点扩展箭头显示这个选项的设置。
自定义语言环境 > 输入语言环境
用户输入的语言环境。
自定义语言环境 > UI 语言
用户界面项(如按钮、菜单)所使用的语言。
自定义语言环境 > 系统语言环境
系统整体的语言环境。
自定义语言环境 > 用户语言环境
用户的语言环境。
Sysprep
一个自定义的 Sysprep 设置。这个设置必须使用完全非交换式回答文件(answer file)的格式。您可以使用默认的回答文件(位于安装 Red Hat Virtualization Manager 的机器的 /usr/share/ovirt-engine/conf/sysprep/ 目录中)作为一个模板,并根据您的需要进行相应的修改。这个设置会覆盖在初始运行项中的设置。
虚拟机所属的 Active Directory 域。如果为空,前面项中的值会被使用。
Alternate Credentials
您可以使用这个项设置一个另外的用户名密码
系统项用来定义支持的机器类型或 CPU 类型。

表 A.21. 系统项

描述
自定义仿真机器
这个选项用来指定机器的类型。如果有所改变,虚拟机只会在支持这个机器类型的主机上运行。它的默认值是集群默认的机器类型。
自定义 CPU 类型
这个选项用来指定 CPU 的类型。如果有所改变,虚拟机只会在支持这个 CPU 类型的主机上运行。它的默认值是集群默认的 CPU 类型。
主机项被用来定义虚拟机的主机。

表 A.22. 主机项

描述
集群里的任何主机
虚拟机可以在任何可用主机上运行。
专有的
为虚拟机指定一个用户定义的主机。
控制台定义连接到虚拟机的协议。

表 A.23. 控制台项

描述
VNC
需要一个 VNC 客户端连接到使用 VNC 的虚拟机上。您也可以从下拉列表中指定 VNC 键盘格式
SPICE
Linux 和 Windows 虚拟机推荐使用的协议。虽然 Windows 8 和 Server 2012 虚拟机支持在没有 QXL 驱动的情况下使用 SPICE 协议,但是这将无法支持多显示器以及图像加速的功能。
自定义属性包括了运行虚拟机的额外 VDSM 选项。

表 A.24. 自定义属性项

描述
sap_agent
在虚拟机上启用 SAP 监测。可设为 truefalse
sndbuf
通过网络端口发送虚拟机数据缓冲区的大小。
vhost
运行这个虚拟机的虚拟主机名。它可以包括任何字母和数字的组合。
viodiskcache
virtio 磁盘的缓存。writethrough 会把数据并行地写到缓存和磁盘中;writeback 不会把修改的数据从缓存复制到磁盘中;none 将禁用缓存功能。

法律通告

Copyright © 2016 Red Hat.
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.