第 6 章 为 Red Hat Virtualization 安装主机

Red Hat Virtualization 支持两类主机:Red Hat Virtualization Hosts (RHVH)Red Hat Enterprise Linux 主机。根据您的环境,您可能只使用一种类型,或两者都使用。迁移和高可用性等功能至少需要两个主机。

如需网络信息,请参阅 第 6.3 节 “配置主机网络的建议做法”

重要

安装时 SELinux 处于 enforcing 模式。要进行验证,请运行 getenforce。SELinux 必须在所有主机和管理器上处于 enforcing 模式,才能支持您的 Red Hat Virtualization 环境。

表 6.1. 主机类型

主机类型其他名称描述

Red Hat Virtualization Host

RHVH,一个精简的主机

这是基于 Red Hat Enterprise Linux 的最小操作系统。它作为 ISO 文件从客户门户分发,仅包含计算机充当主机所需的软件包。

Red Hat Enterprise Linux 主机

RHEL 主机,一个完全的主机

附加了适当订阅的 Red Hat Enterprise Linux 系统可用作主机。

主机兼容性

创建新数据中心时,您可以设置兼容性版本。选择适合数据中心所有主机的兼容性版本。设置之后,不允许版本回归。对于全新的 Red Hat Virtualization 安装,在默认数据中心和默认集群中设置了最新的兼容性版本 ; 要使用较早的兼容性版本,您必须创建额外的数据中心和集群。有关兼容性版本的更多信息,请参阅 Red Hat Virtualization 生命周期中的 Red Hat Virtualization Manager 兼容性

6.1. Red Hat Virtualization 主机

6.1.1. 安装 Red Hat Virtualization 主机

Red Hat Virtualization Host (RHVH) 是一个基于 Red Hat Enterprise Linux 的最小操作系统,旨在提供一种简单的方法来设置物理机以充当 Red Hat Virtualization 的 hypervisor。最小操作系统仅包含计算机充当虚拟机监控程序所需的软件包,并提供 Cockpit Web 界面来监控主机和执行管理任务。有关浏览器的最低要求,请查看 http://cockpit-project.org/running.html

RHVH 支持 NIST 800-53 分区要求以提高安全性。RHVH 默认使用 NIST 800-53 分区布局。

主机必须满足最低主机要求

流程

  1. 从客户门户网站下载 RHVH ISO 镜像:

    1. 登录到客户门户网站 https://access.redhat.com
    2. 点菜单栏中的 Downloads
    3. Red Hat Virtualization。向上滚动并点 Download Latest 以访问产品下载页面。
    4. 进入 Hypervisor Image for RHV 4.3 并点 Download Now
    5. 创建可引导介质设备。如需更多信息,请参阅 Red Hat Enterprise Linux 安装指南中的复制介质
  2. 启动您要安装 RHVH 的机器,从准备的安装介质启动。
  3. 在引导菜单中,选择 Install RHVH 4.3 并按 Enter

    注意

    您还可以按 Tab 键编辑内核参数。内核参数必须以空格分开,您可以通过按 Enter 键使用指定的内核参数引导系统。按 Esc 键清除对内核参数的任何更改并返回到引导菜单。

  4. 选择语言,然后点 Continue
  5. Date & Time 屏幕中选择一个时区,然后点 Done
  6. 从键盘菜单中选择 键盘布局,再单击 Done
  7. Installation Destination 屏幕中选择要在其上安装 RHV 的设备。(可选)启用加密。点 Done

    重要

    红帽强烈建议使用 Automatically configure partitioning 选项。

  8. Network & Host Name 屏幕选择一个网络,然后点击 Configure…​ 来配置连接详情。

    注意

    要在每次系统引导时使用连接,选择 Automatically connect to this network when it is available 复选框。如需更多信息,请参阅 Red Hat Enterprise Linux 7 安装指南中的编辑网络连接

    Host name 字段中输入主机名,然后单击 Done

  9. (可选)配置语言支持安全策略Kdump。有关安装概述界面中的每个部分的更多信息,请参阅 Red Hat Enterprise Linux 7 安装指南中的使用 Anaconda进行安装
  10. Begin Installation
  11. 设置 root 密码,并选择性地在 RHVH 安装时创建额外的用户。

    警告

    红帽建议不要在 RHVH 上创建不受信任的用户,因为这可能导致利用本地安全漏洞。

  12. 单击 Reboot 以完成安装。

    注意

    当 RHVH 重新启动时,nodectl check 会在主机上执行健康检查,并在您在命令行中登录时显示结果。消息 node status: OKnode status: DEGRADED 代表了健康状态。运行 nodectl check 以了解更多信息。该服务默认启用。

6.1.2. 启用 Red Hat Virtualization 主机存储库

注册系统以接收更新。Red Hat Virtualization Host 只需要一个软件仓库。本节提供有关将 RHVH 注册到内容交付网络Red Hat Satellite 6 的说明。

将 RHVH 注册到内容交付网络

  1. 登录位于 https://HostFQDNorIP:9090 的 Cockpit Web 界面。
  2. 进入 Subscriptions,点 Register System,并输入您的客户门户网站用户名和密码。Red Hat Virtualization Host 订阅会自动附加到系统。
  3. Terminal
  4. 启用 Red Hat Virtualization Host 7 软件仓库,以便稍后对 Red Hat Virtualization 主机进行更新:

    # subscription-manager repos --enable=rhel-7-server-rhvh-4-rpms

将 RHVH 注册到 Red Hat Satellite 6

  1. 登录位于 https://HostFQDNorIP:9090 的 Cockpit Web 界面。
  2. Terminal
  3. 使用 Red Hat Satellite 6 注册 RHVH:

      # rpm -Uvh http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm
      # subscription-manager register --org="org_id"
      # subscription-manager list --available
      # subscription-manager attach --pool=pool_id
      # subscription-manager repos \
        --disable='*' \
        --enable=rhel-7-server-rhvh-4-rpms

6.1.3. 高级安装

6.1.3.1. 自定义分区

不建议在 Red Hat Virtualization Host (RHVH) 上自定义分区。红帽强烈建议在 Installation Destination 窗口中使用 Automatically configure partitioning 选项。

如果您的安装需要自定义分区,在安装过程中选择 I will configure partitioning 选项,请注意这有以下限制:

  • 确定在 Manual Partitioning 窗口中选择了默认 LVM Thin Provisioning 选项。
  • 以下目录是必需的,且必须在精简置备的逻辑卷中:

    • root (/)
    • /home
    • /tmp
    • /var
    • /var/crash
    • /var/log
    • /var/log/audit

      重要

      不要为 /usr 创建单独的分区。这样做将导致安装失败。

      /usr 必须位于可以更改版本与 RHVH 的逻辑卷中,因此应保留在 root (/) 上。

      有关每个分区所需的存储大小的详情请参考 第 2.2.3 节 “存储要求”

  • /boot 目录应定义为标准分区。
  • /var 目录必须位于单独的卷或磁盘中。
  • 仅支持 XFS 或 Ext4 文件系统。

在 Kickstart 文件中配置手动分区

以下示例演示了如何在 Kickstart 文件中配置手动分区。

clearpart --all
part /boot --fstype xfs --size=1000 --ondisk=sda
part pv.01 --size=42000 --grow
volgroup HostVG pv.01 --reserved-percent=20
logvol swap --vgname=HostVG --name=swap --fstype=swap --recommended
logvol none --vgname=HostVG --name=HostPool --thinpool --size=40000 --grow
logvol / --vgname=HostVG --name=root --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=6000 --grow
logvol /var --vgname=HostVG --name=var --thin --fstype=ext4 --poolname=HostPool
--fsoptions="defaults,discard" --size=15000
logvol /var/crash --vgname=HostVG --name=var_crash --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=10000
logvol /var/log --vgname=HostVG --name=var_log --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=8000
logvol /var/log/audit --vgname=HostVG --name=var_audit --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=2000
logvol /home --vgname=HostVG --name=home --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=1000
logvol /tmp --vgname=HostVG --name=tmp --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=1000
注意

如果使用 logvol --thinpool --grow,还必须包含 volgroup --reserved-spacevolgroup --reserved-percent,以在卷组中保留空间,以便精简池增长。

6.1.3.2. 自动部署 Red Hat Virtualization 主机

您可以在没有物理介质设备的情况下安装 Red Hat Virtualization Host (RHVH),方法是使用包含安装问题的答案的 Kickstart 文件通过网络从 PXE 服务器引导。

Red Hat Enterprise Linux 安装指南中提供了使用 Kickstart 文件从 PXE 服务器安装的一般说明,因为 RHVH 的安装方式与 Red Hat Enterprise Linux 非常相似。下面介绍了 RHVH 的特定说明,以及使用 Red Hat Satellite 部署 RHVH 的示例。

自动化 RHVH 部署有 3 个阶段:

6.1.3.2.1. 准备安装环境
  1. 登录客户门户网站
  2. 点菜单栏中的 Downloads
  3. Red Hat Virtualization。向上滚动并点 Download Latest 以访问产品下载页面。
  4. 进入 Hypervisor Image for RHV 4.3 并点 Download Now
  5. 通过网络提供 RHVH ISO 镜像。请参阅 Red Hat Enterprise Linux 安装指南中的网络安装源
  6. 从 RHVH ISO 中提取 squashfs.img 虚拟机监控程序镜像文件:

    # mount -o loop /path/to/RHVH-ISO /mnt/rhvh
    # cp /mnt/rhvh/Packages/redhat-virtualization-host-image-update* /tmp
    # cd /tmp
    # rpm2cpio redhat-virtualization-host-image-update* | cpio -idmv
    注意

    squashfs.img 文件位于 /tmp/usr/share/redhat-virtualization-host/image/ 目录中,名为 redhat-virtualization-host-version_number_version.squashfs.img。它包含用于在物理机上安装的虚拟机监控程序镜像。它不应与 /LiveOS/squashfs.img 文件(由 Anaconda inst.stage2 选项使用)混淆。

6.1.3.2.2. 配置 PXE 服务器和 Boot Loader
  1. 配置 PXE 服务器。请参阅 Red Hat Enterprise Linux 安装指南中的准备网络安装
  2. 将 RHVH 引导镜像复制到 /tftpboot 目录中:

    # cp mnt/rhvh/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/
  3. 创建一个 rhvh 标签,在引导装载程序配置中指定 RHVH 引导镜像:

    LABEL rhvh
    MENU LABEL Install Red Hat Virtualization Host
    KERNEL /var/lib/tftpboot/pxelinux/vmlinuz
    APPEND initrd=/var/lib/tftpboot/pxelinux/initrd.img inst.stage2=URL/to/RHVH-ISO

    Red Hat Satellite 的 RHVH Boot Loader 配置示例

    如果您使用 Red Hat Satellite 中的信息来置备主机,您必须创建一个名为 rhvh_image 的全局或主机组级别参数,并使用挂载或提取 ISO 的目录 URL 填充它:

    <%#
    kind: PXELinux
    name: RHVH PXELinux
    %>
    # Created for booting new hosts
    #
    
    DEFAULT rhvh
    
    LABEL rhvh
    KERNEL <%= @kernel %>
    APPEND initrd=<%= @initrd %> inst.ks=<%= foreman_url("provision") %> inst.stage2=<%= @host.params["rhvh_image"] %> intel_iommu=on console=tty0 console=ttyS1,115200n8 ssh_pwauth=1 local_boot_trigger=<%= foreman_url("built") %>
    IPAPPEND 2
  4. 使 RHVH ISO 的内容在本地可用,并使用 HTTPD 服务器将其导出到网络中:

    # cp -a /mnt/rhvh/ /var/www/html/rhvh-install
    # curl URL/to/RHVH-ISO/rhvh-install
6.1.3.2.3. 创建并运行 Kickstart 文件
  1. 创建 Kickstart 文件,并使其可通过网络使用。请参阅 Red Hat Enterprise Linux 安装指南中的 Kickstart 安装
  2. 确保 Kickstart 文件满足以下 RHV 特定要求:

    • RHVH 不需要 %packages 部分。使用 liveimg 选项并指定 RHVH ISO 镜像中的 redhat-virtualization-host-version_number_version.squashfs.img 文件:

      liveimg --url=example.com/tmp/usr/share/redhat-virtualization-host/image/redhat-virtualization-host-version_number_version.squashfs.img
    • 强烈推荐自动分区:

      autopart --type=thinp
      注意

      精简配置必须与自动分区一起使用。

      --no-home 选项无法在 RHVH 中工作,因为 /home 是一个必需的目录。

      如果您的安装需要手动分区,请参阅 第 6.1.3.1 节 “自定义分区” 了解适用于分区的限制列表以及 Kickstart 文件中的手动分区示例。

    • 需要一个调用 nodectl init 命令的 %post 部分:

      %post
      nodectl init
      %end

      在其上部署 RHVH 的 Kickstart 示例

      此 Kickstart 示例演示了如何部署 RHVH。您可以根据需要包含其他命令和选项。

      liveimg --url=http://FQDN/tmp/usr/share/redhat-virtualization-host/image/redhat-virtualization-host-version_number_version.squashfs.img
      clearpart --all
      autopart --type=thinp
      rootpw --plaintext ovirt
      timezone --utc America/Phoenix
      zerombr
      text
      
      reboot
      
      %post --erroronfail
      nodectl init
      %end

      从 Satellite 部署 RHVH 的 Kickstart 示例

      此 Kickstart 示例使用 Red Hat Satellite 中的信息来配置主机网络,并将主机注册到 Satellite 服务器。您必须创建一个名为 rhvh_image 的全局或主机组级别参数,并为它填充 squashfs.img 文件的目录 URL。ntp_server1 也是全局或主机组级别变量。

      <%#
      kind: provision
      name: RHVH Kickstart default
      oses:
      - RHVH
      %>
      install
      liveimg --url=<%= @host.params['rhvh_image'] %>squashfs.img
      
      network --bootproto static --ip=<%= @host.ip %> --netmask=<%= @host.subnet.mask %> --gateway=<%= @host.subnet.gateway %> --nameserver=<%= @host.subnet.dns_primary %> --hostname <%= @host.name %>
      
      zerombr
      clearpart --all
      autopart --type=thinp
      
      rootpw --iscrypted <%= root_pass %>
      
      # installation answers
      lang en_US.UTF-8
      timezone <%= @host.params['time-zone'] || 'UTC' %>
      keyboard us
      firewall --service=ssh
      services --enabled=sshd
      
      text
      reboot
      
      %post --log=/root/ks.post.log --erroronfail
      nodectl init
      <%= snippet 'subscription_manager_registration' %>
      <%= snippet 'kickstart_networking_setup' %>
      /usr/sbin/ntpdate -sub <%= @host.params['ntp_server1'] || '0.fedora.pool.ntp.org' %>
      /usr/sbin/hwclock --systohc
      
      /usr/bin/curl <%= foreman_url('built') %>
      
      sync
      systemctl reboot
      %end
  3. 将 Kickstart 文件位置添加到 PXE 服务器的引导装载程序配置文件中:

    APPEND initrd=/var/tftpboot/pxelinux/initrd.img inst.stage2=URL/to/RHVH-ISO inst.ks=URL/to/RHVH-ks.cfg
  4. 按照 Red Hat Enterprise Linux 安装指南中的使用 PXE 从网络引导中的内容,安装 RHVH。