6.16. 其他虚拟机任务

6.16.1. 启用 SAP 监控

通过管理门户在虚拟机上启用 SAP 监控。

在虚拟机上启用 SAP 监控

  1. 单击 ComputeVirtual Machines 并选择虚拟机。
  2. Edit
  3. 单击 Custom Properties 选项卡。
  4. 从下拉列表中选择 sap_agent。确保第二个下拉菜单设为 True

    如果设置了上述属性,请选择加号来添加新属性规则,然后选择 sap_agent

  5. 点击 确定

6.16.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.16.2.1. 安装和配置 QXL 驱动程序

您必须在运行 Red Hat Enterprise Linux 5.4 或更高版本的虚拟机上手动安装 QXL 驱动程序。这对运行 Red Hat Enterprise Linux 6 或 Red Hat Enterprise Linux 7 的虚拟机来说是不必要的,因为默认安装了 QXL 驱动程序。

安装 QXL 驱动程序

  1. 登录到 Red Hat Enterprise Linux 虚拟机。
  2. 安装 QXL 驱动程序:

    # yum install xorg-x11-drv-qxl

您可以使用图形界面或命令行配置 QXL 驱动程序。只执行以下其中一个程序。

在 GNOME 中配置 QXL 驱动程序

  1. System
  2. 单击 Administration
  3. 单击 Display
  4. 单击 Hardware 选项卡。
  5. 单击 视频卡配置.
  6. 选择 qxl 并单击 OK
  7. 通过注销虚拟机并重新登录来重新启动 X-Windows。

在命令行中配置 QXL 驱动程序

  1. 备份 /etc/X11/xorg.conf

    # cp /etc/X11/xorg.conf /etc/X11/xorg.conf.$$.backup
  2. /etc/X11/xorg.conf 的 Device 部分进行以下更改:

    Section 	"Device"
    Identifier	"Videocard0"
    Driver		"qxl"
    Endsection

6.16.2.2. 配置虚拟机的表和鼠标以使用 SPICE

编辑 /etc/X11/xorg.conf 文件,为您的虚拟机的平板设备启用 SPICE。

配置虚拟机的表和鼠标以使用 SPICE

  1. 验证 tablet 设备是否在您的客户机中可用:

    # /sbin/lsusb -v | grep 'QEMU USB Tablet'
    If there is no output from the command, do not continue configuring the tablet.
  2. 备份 /etc/X11/xorg.conf

    # cp /etc/X11/xorg.conf /etc/X11/xorg.conf.$$.backup
  3. /etc/X11/xorg.conf 进行以下更改:

    Section "ServerLayout"
    Identifier     "single head configuration"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Tablet" "SendCoreEvents"
    InputDevice    "Mouse" "CorePointer"
    EndSection
    
    Section "InputDevice"
    Identifier  "Mouse"
    Driver      "void"
    #Option      "Device" "/dev/input/mice"
    #Option      "Emulate3Buttons" "yes"
    EndSection
    
    Section "InputDevice"
    Identifier  "Tablet"
    Driver      "evdev"
    Option      "Device" "/dev/input/event2"
    Option "CorePointer" "true"
    EndSection
  4. 注销,再重新登录虚拟机以重新启动 X-Windows。

6.16.3. KVM 虚拟机计时管理

虚拟化为保持虚拟机时间带来了各种挑战。使用时间戳计数器(TSC)作为时钟源的虚拟机可能会遇到计时问题,因为有些 CPU 没有恒定的时间戳计数器。在未准确计时的情况下运行虚拟机会严重影响某些网络应用程序,因为您的虚拟机运行速度将比实际时间快或慢。

KVM 通过为虚拟机提供半虚拟化时钟来解决此问题。KVM pvclock 为支持它的 KVM 客户机提供稳定的计时源。

目前,只有 Red Hat Enterprise Linux 5.4 及之后的版本虚拟机完全支持半虚拟化时钟。

虚拟机可能会因为时钟和计数器不准确而造成几个问题:

  • 时钟可能未与使会话无效并影响网络的实际时间保持同步。
  • 时钟较慢的虚拟机迁移可能会有问题。

这些问题存在于其他虚拟化平台上,应始终测试时间。

重要

网络时间协议(NTP)守护进程应在主机和虚拟机上运行。启用 ntpd 服务并将其添加到默认启动序列中:

  • 对于 Red Hat Enterprise Linux 6
# service ntpd start
# chkconfig ntpd on
  • For Red Hat Enterprise Linux 7
# systemctl start ntpd.service
# systemctl enable ntpd.service

在所有情形中,使用 ntpd 服务都应最大程度降低时钟偏移的影响。

您尝试使用的 NTP 服务器必须可运行,并可供您的主机和虚拟机访问。

确定您的 CPU 是否具有恒定时间戳计数器

如果存在 constant_tsc 标志,您的 CPU 有一个恒定的时间戳计数器。要确定您的 CPU 是否有 constant_tsc 标记,请运行以下命令:

$ cat /proc/cpuinfo | grep constant_tsc

如果给出了任何输出,您的 CPU 具有 constant_tsc 位。如果未提供任何输出,请遵循以下说明:

配置主机时没有恒定时间戳计数器

没有恒定时间戳计数器的系统需要额外的配置。电源管理功能会干扰准确的时间保存,必须禁用虚拟机才能准确与 KVM 保持时间。

重要

这些指令仅适用于 AMD 修订 F CPU。

如果 CPU 缺少 constant_tsc 位,请禁用所有电源管理功能(BZ#513138)。每个系统都使用多个计时器来保留时间。主机上 TSC 不稳定,有时是由 cpufreq 更改、深度 C 状态导致的,或者迁移到具有更快 TSC 的主机。C 深度睡眠状态可以停止 TSC。要防止使用深度 C 状态的内核,请将 "processor.max_cstate=1" 附加到主机上的 grub.conf 文件中的内核引导选项:

term Red Hat Enterprise Linux Server (2.6.18-159.el5)
        root (hd0,0)
	kernel /vmlinuz-2.6.18-159.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet processor.max_cstate=1

通过编辑 /etc/sysconfig/cpuspeed 配置文件并将 MIN_SPEEDMAX_SPEED 变量改为可用的最大频率,禁用 cpufreq (仅在没有 constant_tsc 的主机上需要)。有效限制可以在 /sys/devices/system/cpu/cpu/cpufreq/scaling_available_frequencies 文件中找到。

使用 engine-config 工具在主机不同步时接收警报。

您可以使用 engine-config 工具在主机不同步时配置警报。

主机上存在 2 个相关的时间偏移参数:EnableHostTimeDriftHostTimeDriftInSecEnableHostTimeDrift(默认值为 false)可以被启用来接收主机时间偏移的警报通知。HostTimeDriftInSec 参数用于设置警报开始前允许的最大偏移量。

每个主机每小时发送一次警报。

将半虚拟化时钟与 Red Hat Enterprise Linux 虚拟机搭配使用

对于某些 Red Hat Enterprise Linux 虚拟机,需要额外的内核参数。可以通过将参数附加到虚拟机的 /boot/grub/grub.conf 文件中的 /kernel 行的末尾来设置这些参数。

注意

可以使用 ktune 软件包自动执行内核参数配置过程

ktune 软件包提供交互式 Bourne shell 脚本 fix_clock_drift.sh。当以超级用户身份运行时,此脚本将检查各种系统参数,以确定在其上运行的虚拟机是否易受负载下时钟偏移的影响。如果是这样,它会在 /boot/grub/ 目录中创建新的 grub.conf.kvm 文件。此文件包含一个带有附加内核参数的内核引导行,允许内核考虑并防止 KVM 虚拟机上出现重大时钟偏差。在以超级用户身份运行 fix_clock_drift.sh 后,一旦脚本创建了 grub.conf.kvm 文件,系统管理员应手动备份虚拟机的当前 grub.conf 文件,并需要手动检查新的 grub.conf.kvm 以确保它除带有额外的引导参数外,与 grub.conf 完全相同,grub.conf.kvm 文件应最终被重命名为 grub.conf,虚拟机应被重新引导。

下表列出了 Red Hat Enterprise Linux 的版本以及没有恒定时间戳计数器的系统上虚拟机所需的参数。

Red Hat Enterprise Linux其他虚拟机内核参数

5.4 AMD64/Intel 64 带有半虚拟化时钟

不需要额外的参数

5.4 AMD64/Intel 64 没有半虚拟化时钟

notsc lpj=n

5.4 x86 带有半虚拟化时钟

不需要额外的参数

5.4 x86 没有半虚拟化时钟

clocksource=acpi_pm lpj=n

5.3 AMD64/Intel 64

notsc

5.3 x86

clocksource=acpi_pm

4.8 AMD64/Intel 64

notsc

4.8 x86

clock=pmtmr

3.9 AMD64/Intel 64

不需要额外的参数

3.9 x86

不需要额外的参数

6.16.4. 添加可信平台模块设备

受信任的平台模块(TPM)设备提供了一个安全加密处理器设备,旨在执行加密操作,如生成加密密钥、随机数字和哈希,或者用于存储可用于安全验证软件配置的数据。TPM 设备通常用于磁盘加密。

QEMU 和 libvirt 支持模拟的 TPM 2.0 设备,这是 Red Hat Virtualization 为虚拟机添加 TPM 设备时使用的。

在将仿真 TPM 设备添加到虚拟机后,它可以用作客户机操作系统中的普通 TPM 2.0 设备。

重要

如果为虚拟机存储了 TPM 数据,且虚拟机中禁用了 TPM 设备,则永久删除 TPM 数据。

启用 TPM 设备

  1. Add Virtual MachineEdit Virtual Machine 屏幕中点 Show Advanced Options
  2. 资源分配 选项卡中,选中 TPM Device Enabled 复选框。

限制

以下限制适用:

  • TPM 设备只能在带有 UEFI 固件的 x86_64 机器和安装有 pSeries 固件的 PowerPC 机器中使用。
  • 具有 TPM 设备的虚拟机不能有带有内存的快照。
  • 虽然 Manager 定期检索并存储 TPM 数据,但不保证 Manager 始终具有最新版本的 TPM 数据。

    注意

    此过程可能需要 120 秒或更长时间,您必须等待进程完成,然后才能对正在运行的虚拟机执行快照、克隆正在运行的虚拟机或迁移正在运行的虚拟机。

  • TPM 设备只能对运行 RHEL 7 或更高版本的虚拟机以及 Windows 8.1 或更高版本的虚拟机启用。
  • 无法导出或导入带有 TPM 数据的虚拟机和模板。