第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 モードに設定する必要があります。
ホストタイプ | 別名 | 説明 |
---|---|---|
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 Hosts
6.1.1. Red Hat Virtualization Host のインストール
Red Hat Virtualization Host (RHVH) は、Red Hat Virtualization 環境でハイパーバイザーとして機能する物理マシンの簡単な設定方法を提供するために設計された、Red Hat Enterprise Linux をベースとする最小設定のオペレーティングシステムです。この最小設定のオペレーティングシステムには、マシンがハイパーバイザーとして機能するのに必要なパッケージのみが含まれており、ホストの監視や管理タスクの実行用に Cockpit Web インターフェイスが備えられています。ブラウザーの最小要件については、Cockpit の実行 を参照してください。
RHVH は NIST SP 800-53 パーティショニングの要件をサポートし、より強固なセキュリティーを提供します。RHVH は、デフォルトで NIST 800-53 パーティションレイアウトを使用します。
ホストは最低限の ホスト要件 を満たしている必要があります。
ホストのオペレーティングシステムのインストールまたは再インストールを行う場合、Red Hat では、ホストにアタッチされている既存の OS 以外のストレージを最初にデタッチすることを強く推奨しています。これは、ディスクを誤って初期化してデータが失われる可能性を避けるためです。
手順
- Red Hat カスタマーポータルの Red Hat Virtualization を使い始める にアクセスし、ログインします。
- Download Latest をクリックして、製品のダウンロードページに移動します。
- 一覧から RHV に適した Hypervisor Image for RHV を選択し、Download Now をクリックします。
- RHVH のインストール先となるマシンを起動し、準備したインストールメディアから起動します。
起動メニューから Install RHVH 4.4 を選択し、
Enter
を押します。注記ま
Tab
キーを押してカーネルパラメーターを編集することもできます。カーネルパラメーターはスペースで区切る必要があります。また、指定したカーネルパラメーターを使用してシステムを起動するには、Enter
キーを押します。Esc
キーを押してカーネルパラメーターへの変更を消去し、起動メニューに戻ります。- 言語を選択し、 をクリックします。
- Keyboard Layout の画面からキーボードのレイアウトを選択して をクリックします。
Installation Destination の画面から RHVH のインストール先のデバイスを選択します。オプションで暗号化を有効にします。 をクリックします。
重要Automatically configure partitioning オプションを使用します。
- Time & Date の画面からタイムゾーンを選択し、 をクリックします。
Network & Host Name の画面からネットワークを選択し、Configure… をクリックして接続の詳細を設定します。
注記システムを起動するたびに接続を使用する場合は、Connect automatically with priority のチェックボックスを選択します。詳細は、標準的な RHEL 8 インストールの実行 の ネットワークおよびホスト名のオプションの設定 を参照してください。
ホスト名を Host Name フィールドに入力し、Done をクリックします。
- オプション: Security Policy と Kdump を設定します。Installation Summary 画面の各セクションの詳細は、Red Hat Enterprise Linux 8 標準的な RHEL インストールの実行 の GUI を使用したインストールのカスタマイズ を参照してください。
- Begin Installation をクリックします。
RHVH のインストールの際に root パスワードを設定して、オプションで追加のユーザーを作成します。
警告ローカルのセキュリティー脆弱性が攻撃される可能性があるので、RHVH に信頼できないユーザーを作成しないでください。
Reboot をクリックしてインストールを完了します。
注記RHVH の再起動時に、
nodectl check
はホストでヘルスチェックを実行し、コマンドラインへのログイン時に結果を表示します。node status: OK
またはnode status: DEGRADED
のメッセージはヘルスステータスを示します。nodectl check
を実行して詳細情報を取得します。注記必要に応じて、 カーネルモジュールが自動的に読み込まれないようにする ことができます。
6.1.2. Red Hat Virtualization Host のリポジトリーの有効化
更新を受け取るには、システムを登録する必要があります。Red Hat Virtualization Host に必要なリポジトリーは 1 つだけです。本セクションでは、RHVH を コンテンツ配信ネットワーク または Red Hat Satellite 6 に登録する手順について説明します。
コンテンツ配信ネットワークへの RHVH の登録
コンテンツ配信ネットワークにシステムを登録します。プロンプトが表示されたら、カスタマーポータルのユーザー名とパスワードを入力します。
# subscription-manager register
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 の登録
-
https://HostFQDNorIP:9090
で Cockpit Web インターフェイスにログインします。 - Terminal をクリックします。
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.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 (/
) 上に残す必要があります。各パーティションに必要なストレージサイズについては、Storage Requirements を参照してください。
-
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.3.2. インストーラーのサポートなしでホストに DUD ドライバーをインストールする
RHVH のデフォルト設定でサポートされていないハードウェア RAID デバイスを使用する場合など、Red Hat Virtualization Host (RHVH) のインストールにドライバー更新ディスク (DUD) が必要な場合があります。Red Hat Enterprise Linux ホストとは対照的に、RHVH は DUD の使用を完全にはサポートしていません。その後、ホストは RAID を認識しないため、インストール後に正常に起動できません。代わりに、緊急モードで起動します。
出力例:
Warning: /dev/test/rhvh-4.4-20210202.0+1 does not exist Warning: /dev/test/swap does not exist Entering emergency mode. Exit the shell to continue.
このような場合、インストールを完了する前に手動でドライバーを追加できます。
前提条件
- RHVH をインストールするマシン
- DUD
- DUD と RHVH に USB ドライブを使用している場合は 2 つ以上の使用可能な USB ポート
手順
- DUD をホストマシンにロードします。
RHVH をインストールします。コマンドラインを使用したセルフホストエンジンの Red Hat Virtualization のインストール の Red Hat Virtualization Hosts のインストール を参照してください。
重要インストールが完了したら、システムを再起動しないでください。
ヒントSSH を使用して DUD にアクセスする場合は、次の手順を実行します。
文字列
inst.sshd
をカーネルコマンドラインに追加します。<kernel_command_line> inst.sshd
- インストール中にネットワークを有効にします。
- Ctrl + Alt + F3 を押して、コンソールモードに入ります。または、SSH を使用して接続することもできます。
DUD をマウントします。
# mkdir /mnt/dud # mount -r /dev/<dud_device> /mnt/dud
DUD 内の RPM ファイルをターゲットマシンのディスクにコピーします。
# cp /mnt/dud/rpms/<path>/<rpm_file>.rpm /mnt/sysroot/root/
以下に例を示します。
# cp /mnt/dud/rpms/x86_64/kmod-3w-9xxx-2.26.02.014-5.el8_3.elrepo.x86_64.rpm /mnt/sysroot/root/
root ディレクトリーを
/mnt/sysroot/
に変更します。# chroot /mnt/sysroot
現在の initrd イメージをバックアップします。以下に例を示します。
# cp -p /boot/initramfs-4.18.0-240.15.1.el8_3.x86_64.img /boot/initramfs-4.18.0-240.15.1.el8_3.x86_64.img.bck1 # cp -p /boot/rhvh-4.4.5.1-0.20210323.0+1/initramfs-4.18.0-240.15.1.el8_3.x86_64.img /boot/rhvh-4.4.5.1-0.20210323.0+1/initramfs-4.18.0-240.15.1.el8_3.x86_64.img.bck1
以前に作成したコピーからドライバーの RPM ファイルをインストールします。
以下に例を示します。
# dnf install /root/kmod-3w-9xxx-2.26.02.014-5.el8_3.elrepo.x86_64.rpm
注記インストールされた環境で再起動すると、このパッケージはシステムに表示されなくなるため、たとえば
initramfs
を再構築するために必要な場合は、そのパッケージをもう一度インストールする必要があります。インストールすると、パッケージは残ります。dnf
を使用してホストを更新する場合、ドライバーの更新は保持されるため、このプロセスを繰り返す必要はありません。ヒントインターネットに接続していない場合は、
dnf
の代わりにrpm
コマンドを使用してください。# rpm -ivh /root/kmod-3w-9xxx-2.26.02.014-5.el8_3.elrepo.x86_64.rpm
新しいイメージを作成し、ドライバーを強制的に追加します。
# dracut --force --add-drivers <module_name> --kver <kernel_version>
以下に例を示します。
# dracut --force --add-drivers 3w-9xxx --kver 4.18.0-240.15.1.el8_3.x86_64
結果を確認します。新しいイメージは大きくなり、ドライバーが含まれているはずです。たとえば、元のバックアップされたイメージファイルと新しいイメージファイルのサイズを比較します。
この例では、新しいイメージファイルは 88739013 バイトであり、元の 88717417 バイトよりも大きくなっています。
# ls -ltr /boot/initramfs-4.18.0-240.15.1.el8_3.x86_64.img* -rw-------. 1 root root 88717417 Jun 2 14:29 /boot/initramfs-4.18.0-240.15.1.el8_3.x86_64.img.bck1 -rw-------. 1 root root 88739013 Jun 2 17:47 /boot/initramfs-4.18.0-240.15.1.el8_3.x86_64.img
イメージファイルの一部として、新しいドライバーが含まれている必要があります。たとえば、3w-9xxx モジュールが含まれている必要があります。
# lsinitrd /boot/initramfs-4.18.0-240.15.1.el8_3.x86_64.img | grep 3w-9xxx drwxr-xr-x 2 root root 0 Feb 22 15:57 usr/lib/modules/4.18.0-240.15.1.el8_3.x86_64/weak-updates/3w-9xxx lrwxrwxrwx 1 root root 55 Feb 22 15:57 usr/lib/modules/4.18.0-240.15.1.el8_3.x86_64/weak-updates/3w-9xxx/3w-9xxx.ko-../../../4.18.0-240.el8.x86_64/extra/3w-9xxx/3w-9xxx.ko drwxr-xr-x 2 root root 0 Feb 22 15:57 usr/lib/modules/4.18.0-240.el8.x86_64/extra/3w-9xxx -rw-r--r-- 1 root root 80121 Nov 10 2020 usr/lib/modules/4.18.0-240.el8.x86_64/extra/3w-9xxx/3w-9xxx.ko
インストールするレイヤーで使用されるカーネルを含む
/boot
の下のディレクトリーにイメージをコピーします。以下はその例です。# cp -p /boot/initramfs-4.18.0-240.15.1.el8_3.x86_64.img /boot/rhvh-4.4.5.1-0.20210323.0+1/initramfs-4.18.0-240.15.1.el8_3.x86_64.img
- chroot を終了します。
- シェルを終了します。
- Ctrl + Alt + F3 を使用して仮想端末にアクセスした場合は、Ctrl + Alt + F_ <n> _ (通常は F1 または F5) を押してインストーラーに戻ります。
- インストーラー画面で、再起動します。
検証
マシンは正常に再起動するはずです。
6.1.3.3. 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.3.3.1. インストール環境の準備
- Red Hat カスタマーポータルの Red Hat Virtualization を使い始める にアクセスし、ログインします。
- Download Latest をクリックして、製品のダウンロードページに移動します。
- 一覧から RHV に適した Hypervisor Image for RHV を選択し、Download Now をクリックします。
- RHVH ISO イメージをネットワーク経由で提供できるようにします。Red Hat Enterprise Linux インストールガイド の インストールソース - ネットワーク を参照してください。
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 です。物理マシンにインストールするためのハイパーバイザーイメージが含まれます。Anacondainst.stage2
オプションで使用される /LiveOS/squashfs.img ファイルと混同しないでください。
6.1.3.3.2. PXE サーバーおよびブートローダーの設定
- PXE サーバーを設定します。Red Hat Enterprise Linux インストールガイド の ネットワークからのインストールの準備 を参照してください。
RHVH 起動イメージを
/tftpboot
ディレクトリーにコピーします。# cp mnt/rhvh/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/
ブートローダー設定で 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
RHVH ISO の内容をローカルで利用可能な状態にし、たとえば HTTPD サーバーを使用して、ネットワークにエクスポートします。
# cp -a /mnt/rhvh/ /var/www/html/rhvh-install # curl URL/to/RHVH-ISO/rhvh-install
6.1.3.3.3. キックスタートファイルの作成と実行
- キックスタートファイルを作成し、ネットワーク経由で提供できるようにします。Red Hat Enterprise Linux インストールガイド の キックスタートを使ったインストール を参照してください。
キックスタートファイルは以下に示す 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
注記nodectl init
コマンドが%post
セクションの最後で、再起動コードがある場合はその前にあることを確認してください。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
キックスタートファイルの場所を、PXE サーバーのブートローダー設定ファイルに追加します。
APPEND initrd=/var/tftpboot/pxelinux/initrd.img inst.stage2=URL/to/RHVH-ISO inst.ks=URL/to/RHVH-ks.cfg
- Red Hat Enterprise Linux インストールガイド の PXE を使ったネットワークからの起動 に記載された手順に従って、RHVH をインストールします。