第6章 Red Hat Virtualization 用ホストのインストール

Red Hat Virtualization は、Red Hat Virtualization Hosts (RHVH) および Red Hat Enterprise Linux ホスト の 2 つのタイプのホストをサポートしています。環境に応じて、1 タイプのみまたは両方のタイプを使用することができます。移行や高可用性などの機能を利用するには、少なくとも 2 台のホストが必要です。

ネットワーク設定に関する情報は、「ホストネットワーク設定の推奨プラクティス」 を参照してください。

重要

SELinux は インストール時に enforcing モードに設定されます。確認するには、getenforce を実行します。Red Hat Virtualization 環境をサポートするには、すべてのホストと Manager で SELinux を enforcing モードに設定する必要があります。

表6.1 ホストタイプ

ホストタイプ別名説明

Red Hat Virtualization Host

RHVH、シンホスト

Red Hat Enterprise Linux をベースとする最小限のオペレーティングシステム。カスタマーポータルから ISO ファイルとして配布され、マシンがホストとして機能するためのパッケージのみが含まれています。

Red Hat Enterprise Linux ホスト

RHEL ホスト、シックホスト

適切なサブスクリプションがアタッチされた Red Hat Enterprise Linux システムは、ホストとして使用することができます。

ホストの互換性

新規データセンターの作成時に、互換バージョンを設定することができます。データセンター内の全ホストに適した互換バージョンを選択します。一旦設定されると、それよりも古いバージョンに変更することはできません。Red Hat Virtualization を新規インストールした場合には、最新の互換バージョンが Default データセンターと Default クラスターに設定されるので、それ以前の互換バージョンを使用するには、追加でデータセンターおよびクラスターを作成する必要があります。互換バージョンに関する詳細は、Red Hat Virtualization のライフサイクルRed Hat Virtualization Manager の互換性 を参照してください。

6.1. Red Hat Virtualization Host

6.1.1. Red Hat Virtualization Host のインストール

Red Hat Virtualization Host (RHVH) は、Red Hat Virtualization 環境でハイパーバイザーとして機能する物理マシンの簡単な設定方法を提供するために設計された、Red Hat Enterprise Linux をベースとする最小構成のオペレーティングシステムです。この最小構成のオペレーティングシステムには、マシンがハイパーバイザーとして機能するのに必要なパッケージのみが含まれており、ホストの監視や管理タスクの実行用に Cockpit Web インターフェースが備えられています。最低限のブラウザー要件については、http://cockpit-project.org/running.html を参照してください。

RHVH は NIST SP 800-53 パーティショニングの要件をサポートし、より強固なセキュリティーを提供します。RHVH は、デフォルトで NIST 800-53 パーティションレイアウトを使用します。

ホストは最低限の ホスト要件 を満たしている必要があります。

警告

ホストのオペレーティングシステムのインストールまたは再インストールを行う場合、Red Hat では、ホストにアタッチされている既存の OS 以外のストレージを最初にデタッチすることを強く推奨しています。これは、ディスクを誤って初期化してデータが失われる可能性を避けるためです。

手順

  1. Red Hat カスタマーポータルの Red Hat Virtualization を使い始める にアクセスし、ログインします。
  2. Download Latest をクリックして、製品のダウンロードページに移動します。
  3. 一覧からRHV に適した ハイパーバイザーイメージ を選択し、今すぐダウンロードする をクリックします。
  4. RHVH のインストール先となるマシンを起動し、準備したインストールメディアから起動します。
  5. 起動メニューから Install RHVH 4.4 を選択し、Enter を押します。

    注記

    また、Tab キーを押してカーネルパラメーターを編集することもできます。カーネルパラメーターはスペースで区切る必要があります。また、指定したカーネルパラメーターを使用してシステムを起動するには、Enter キーを押します。Esc キーを押してカーネルパラメーターへの変更を消去し、起動メニューに戻ります。

  6. 言語を選択し、続行 をクリックします。
  7. キーボードレイアウト の画面からキーボードのレイアウトを選択して 完了 をクリックします。
  8. インストール先 の画面から RHVH のインストール先のデバイスを選択します。オプションで暗号化を有効にします。完了 をクリックします。

    重要

    パーティションを自動構成する オプションを使用します。

  9. 日付と時刻 の画面からタイムゾーンを選択し、完了 をクリックします。
  10. ネットワーク & ホスト名 の画面からネットワークを選択し、設定 をクリックして接続の詳細を設定します。

    注記

    システムの起動ごとに接続を使用する場合は、優先的に自動接続する のチェックボックスを選択します。詳細は、『標準的な RHEL インストールの実行』「ネットワークおよびホスト名のオプションの設定」 を参照してください。

    ホスト名を ホスト名 フィールドに入力し、完了 をクリックします。

  11. オプションで 言語サポートセキュリティーポリシー、および Kdump を設定します。インストールの概要 画面の各セクションの詳細は、『Red Hat Enterprise Linux 8 標準的な RHEL インストールの実行』「インストールのカスタマイズ」 を参照してください。
  12. インストールの開始 をクリックします。
  13. RHVH のインストールの際に root パスワードを設定して、オプションで追加のユーザーを作成します。

    警告

    ローカルのセキュリティー脆弱性が攻撃される可能性があるので、RHVH に信頼できないユーザーを作成しないでください。

  14. 再起動 をクリックしてインストールを完了します。

    注記

    RHVH の再起動時に、nodectl check はホストでヘルスチェックを実行し、コマンドラインへのログイン時に結果を表示します。node status: OK または node status: DEGRADED のメッセージはヘルスステータスを示します。nodectl check を実行して詳細情報を取得します。

6.1.2. oVirt-node へのサードパーティーパッケージのインストール

ovirt-release44.rpm リポジトリーに含まれていないパッケージが必要な場合は、パッケージをインストールする前にリポジトリーを指定する必要があります。

前提条件

  • インストールするパッケージが含まれるリポジトリーへのパス。
  • root 権限でホストにログインしている。

手順

  1. 既存の .repo ファイルを開くか、/etc/yum.repos.d/ に新しいファイルを作成します。
  2. エントリーを .repo ファイルに追加します。たとえば、sssd-ldap をインストールするには、以下のエントリーを third-party.repo とファイル名の新規 .repo に追加します。

    # imgbased: set-enabled
    [custom-sssd-ldap]
    name = Provides sssd-ldap
    mirrorlist = http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=BaseOS&infra=$infra
    gpgcheck = 1
    enabled = 1
    gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
    includepkgs = sssd-ldap
  3. 「sssd-ldap」をインストールします。

    # dnf install sssd-ldap

6.1.3. Red Hat Virtualization Host のリポジトリーの有効化

更新を受け取るためにシステムを登録します。Red Hat Virtualization Host に必要なリポジトリーは 1 つだけです。本セクションでは、RHVH を コンテンツ配信ネットワーク または Red Hat Satellite 6 に登録する手順について説明します。

コンテンツ配信ネットワークへの RHVH の登録

  1. https://HostFQDNorIP:9090 で Cockpit Web インターフェースにログインします。
  2. サブスクリプション に移動し、登録 をクリックしてカスタマーポータルのユーザー名とパスワードを入力します。Red Hat Virtualization Host のサブスクリプションが自動的にシステムにアタッチされます。
  3. Terminal をクリックします。
  4. Red Hat Virtualization Host 8 のリポジトリーを有効にして、Red Hat Virtualization Host に対する後続の更新を可能にします。

    # subscription-manager repos --enable=rhvh-4-for-rhel-8-x86_64-rpms

Red Hat Satellite 6 への RHVH の登録

  1. https://HostFQDNorIP:9090 で Cockpit Web インターフェースにログインします。
  2. Terminal をクリックします。
  3. RHVH を Red Hat Satellite 6 に登録します。

      # 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=rhvh-4-for-rhel-8-x86_64-rpms
注記

virt-who を使用して、Red Hat Satellite で仮想マシンのサブスクリプションを設定することもできます。「virt-who を使用したホストベースのサブスクリプションの管理」 を参照してください。

6.1.4. 高度なインストール

6.1.4.1. カスタムパーティション設定

Red Hat Virtualization Host (RHVH) でのカスタムパーティション設定は推奨されません。インストール先 ウィンドウの パーティションを自動構成する オプションを使用してください。

インストールでカスタムのパーティション設定が必要な場合は、インストール時に I will configure partitioning オプションを選択します。ただし、以下の制限が適用される点に注意してください。

  • 手動パーティション設定 ウィンドウで、デフォルトの LVM シンプロビジョニング オプションを選択する必要があります。
  • 以下のディレクトリーが必要で、シンプロビジョニングされた論理ボリューム上になければなりません。

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

      重要

      /usr 用に別のパーティションを作成しないでください。別のパーティションを作成すると、インストールに失敗します。

      /usr は、RHVH と共にバージョンを変更できる論理ボリューム上になければなりません。したがって、root (/) 上に残す必要があります。

      各パーティションに必要なストレージのサイズについては、「ストレージの要件」 を参照してください。

  • /boot ディレクトリーは、標準のパーティションとして定義する必要があります。
  • /var ディレクトリーは、別のボリュームまたはディスク上になければなりません。
  • XFS または Ext4 ファイルシステムのみがサポートされます。

キックスタートファイルでの手動パーティション設定の定義

以下の例では、キックスタートファイルでパーティションを手動設定する方法を説明します。

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-space または volgroup --reserved-percent のボリュームグループに領域を確保する必要があります。

6.1.4.2. Red Hat Virtualization Host デプロイメントの自動化

物理メディアデバイスなしに Red Hat Virtualization Host (RHVH) をインストールすることができます。そのためには、インストールの質問に対する回答が含まれたキックスタートファイルを使用し、ネットワーク経由で PXE サーバーから起動します。

警告

ホストのオペレーティングシステムのインストールまたは再インストールを行う場合、Red Hat では、ホストにアタッチされている既存の OS 以外のストレージを最初にデタッチすることを強く推奨しています。これは、ディスクを誤って初期化してデータが失われる可能性を避けるためです。

RHVH は Red Hat Enterprise Linux とほぼ同じ方法でインストールされるので、キックスタートファイルを使用して PXE サーバーからインストールする手順の概要については、『Red Hat Enterprise Linux インストールガイド』の 「キックスタートを使ったインストール」 を参照してください。RHVH に固有の手順 (Red Hat Satellite を使用した RHVH のデプロイメントを例として使用) については、この後に説明します。

RHVH の自動デプロイメントは、以下の 3 つのステージで構成されます。

6.1.4.2.1. インストール環境の準備
  1. Red Hat カスタマーポータルの Red Hat Virtualization を使い始める にアクセスし、ログインします。
  2. Download Latest をクリックして、製品のダウンロードページに移動します。
  3. 一覧からRHV に適した ハイパーバイザーイメージ を選択し、今すぐダウンロードする をクリックします。
  4. RHVH ISO イメージをネットワーク経由で提供できるようにします。『Red Hat Enterprise Linux インストールガイド』「インストールソース - ネットワーク」 を参照してください。
  5. 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
    注記

    /tmp/usr/share/redhat-virtualization-host/image/ ディレクトリーにある squashfs.img ファイルの名前は redhat-virtualization-host-version_number_version.squashfs.img です。物理マシンにインストールするためのハイパーバイザーイメージが含まれます。これは、Anaconda inst.stage2 オプションで使用される /LiveOS/squashfs.img ファイルと混同しないでください。

6.1.4.2.2. PXE サーバーおよびブートローダーの設定
  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 ブートローダー設定の例

    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.4.2.3. キックスタートファイルの作成と実行
  1. キックスタートファイルを作成し、ネットワーク経由で提供できるようにします。『Red Hat Enterprise Linux インストールガイド』「キックスタートを使ったインストール」 を参照してください。
  2. キックスタートファイルは以下に示す 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
    • 自動パーティション設定は強く推奨されますが、使用に際して注意が必要です。最初にローカルディスクが検出されることを確認し、ignoredisk コマンドを追加して sda のようにローカルディスクが無視するように指定します。特定のドライブを使用するには、Red Hat は、ignoredisk --only-use=/dev/disk/<path> または ignoredisk --only-use=/dev/disk/<ID> の使用を推奨します。

      autopart --type=thinp
      ignoredisk --only-use=sda
      ignoredisk --only-use=/dev/disk/<path>
      ignoredisk --only-use=/dev/disk/<ID>
      注記

      自動パーティション設定には、シンプロビジョニングが必要です。

      /home は必須のディレクトリーであるため、RHVH では --no-home オプションは機能しません。

      インストールで手動パーティション設定が必要な場合は、「カスタムパーティション設定」 でパーティション設定に適用される制限の一覧およびキックスタートファイルでの手動パーティション設定の例を確認してください。

    • nodectl init コマンドを呼び出す %post セクションが必要です。

      %post
      nodectl init
      %end

      RHVH を独自にデプロイするためのキックスタート例

      このキックスタートの例では、RHVH のデプロイ方法を示しています。必要に応じて、コマンドとオプションをさらに追加してください。

      警告

      この例では、すべてのディスクが空であり、初期化可能であることを前提としています。データを含むディスクが割り当てられている場合は、そのディスクを削除するか、ignoredisks プロパティーに追加します。

      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 をデプロイするためのキックスタートの例

      このキックスタートの例では、Red Hat Satellite からの情報を使用してホストネットワークを設定し、ホストを Satellite サーバーに登録します。グローバルまたはホストグループレベルのパラメーターを作成し (ここでは rhvh_image)、squashfs.img ファイルを格納するディレクトリーの URL を定義する必要があります。ntp_server1 もグローバルまたはホストグループレベルの変数です。

      警告

      この例では、すべてのディスクが空であり、初期化可能であることを前提としています。データを含むディスクが割り当てられている場合は、そのディスクを削除するか、ignoredisks プロパティーに追加します。

      <%#
      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. キックスタートファイルの場所を、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 をインストールします。