14.3. コンピュートノードの Multi-RHEL 環境へのアップグレード
コンピュートノードの一部を RHEL 9.2 にアップグレードし、残りのコンピュートノードは RHEL 8.4 のままにすることができます。このアップグレードプロセスには、以下の基本的な手順が含まれます。
-
どのノードを RHEL 9.2 にアップグレードするか、そしてどのノードを RHEL 8.4 に残しておきたいかを計画します。ノードのバッチごとに作成する各ロールのロール名を選択します (例:
ComputeRHEL-9.2およびComputeRHEL-8.4)。 RHEL 9.2 にアップグレードするノード、または RHEL 8.4 に残しておきたいノードを保存するロールを作成します。これらのロールは、コンピュートノードを新しいロールに移動する準備ができるまで空のままにすることができます。必要な数のロールを作成し、任意の方法でロール間でノードを分割できます。以下に例を示します。
-
環境で
ComputeSRIOVというロールが使用されており、カナリアテストを実行して RHEL 9.2 にアップグレードする必要がある場合は、新しいComputeSRIOVRHEL9ロールを作成し、カナリアノードを新しいロールに移動できます。 -
環境で
ComputeOffloadというロールを使用しており、そのロール内のほとんどのノードを RHEL 9.2 にアップグレードするが、いくつかのノードを RHEL 8.4 に残しておきたい場合は、新しいComputeOffloadRHEL8ロールを作成して RHEL 8.4 ノードを保存できます。その後、元のComputeOffloadロール内のノードを選択して、RHEL 9.2 にアップグレードできます。
-
環境で
- ノードを各コンピュートロールから新しいロールに移動します。
特定のコンピュートノード上のオペレーティングシステムを RHEL 9.2 にアップグレードします。同じロールまたは複数のロールから、ノードをバッチでアップグレードできます。
注記Multi-RHEL 環境では、デプロイメントでは引き続き pc-i440fx マシンタイプを使用する必要があります。デフォルトを Q35 に更新しないでください。Q35 マシンタイプへの移行は、すべてのコンピュートノードを RHEL 9.2 にアップグレードした後に実行する、別のアップグレード後の手順です。Q35 マシンタイプの移行に関する詳細は、RHOSP 17 へのアップグレード後のホストのデフォルトマシンタイプの更新 を参照してください。
次の手順を使用して、コンピュートノードを Multi-RHEL 環境にアップグレードします。
14.3.1. Multi-RHEL コンピュートノードのロールの作成 リンクのコピーリンクがクリップボードにコピーされました!
RHEL 9.2 にアップグレードするノード、または RHEL 8.4 に留まるノードを保存する新しいロールを作成し、ノードを新しいロールに移動します。
手順
環境に関連するロールを作成します。
role_data.yamlファイルで、新しいロールに使用するソースのコンピュートロールをコピーします。必要な追加のロールごとにこの手順を繰り返します。コンピュートノードを新しいロールに移動する準備ができるまで、ロールは空のままにすることができます。
RHEL 8 ロールを作成している場合は、以下のようになります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記RHEL 8.4 に残っているノードを含むロールには、
NovaLibvirtLegacyサービスが含まれている必要があります。-
<ComputeRHEL8>を RHEL 8.4 ロールの名前に置き換えます。 RHEL 9 ロールを作成している場合は、以下のようになります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記RHEL 9.2 にアップグレードされるノードを含むロールには、
NovaLibvirtサービスが含まれている必要があります。OS::TripleO::Services::NovaLibvirtLegacyをOS::TripleO::Services::NovaLibvirtに置き換えます。- <ComputeRHEL9> を RHEL 9.2 ロールの名前に置き換えます。
overcloud_upgrade_prepare.shファイルをcopy_role_Compute_param.shファイルにコピーします。cp overcloud_upgrade_prepare.sh copy_role_Compute_param.sh
$ cp overcloud_upgrade_prepare.sh copy_role_Compute_param.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow copy_role_Compute_param.shファイルを編集して、copy_role_params.pyスクリプトを含めます。このスクリプトは、新しいロールの追加パラメーターとリソースを含む環境ファイルを生成します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<Compute_source_role>をコピーするソースのコンピュートロールの名前に置き換えます。 -
<Compute_destination_role>を新しいロールの名前に置き換えます。 -
-o オプションを使用して、新しいロールのソースコンピュートロールのデフォルト以外の値をすべて含む出力ファイルの名前を定義します。
<Compute_new_role_params.yaml>を出力ファイルの名前に置き換えます。
-
copy_role_Compute_param.shスクリプトを実行します。sh /home/stack/copy_role_Compute_param.sh
$ sh /home/stack/copy_role_Compute_param.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow コンピュートノードをソースロールから新しいロールに移動します。
python3 /usr/share/openstack-tripleo-heat-templates/tools/baremetal_transition.py --baremetal-deployment /home/stack/tripleo-<stack>-baremetal-deployment.yaml --src-role <Compute_source_role> --dst-role <Compute_destination_role> <Compute-0> <Compute-1> <Compute-2>
python3 /usr/share/openstack-tripleo-heat-templates/tools/baremetal_transition.py --baremetal-deployment /home/stack/tripleo-<stack>-baremetal-deployment.yaml --src-role <Compute_source_role> --dst-role <Compute_destination_role> <Compute-0> <Compute-1> <Compute-2>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記このツールには、アンダークラウドのアップグレード中にエクスポートした元の
/home/stack/tripleo-<stack>-baremetal-deployment.yamlファイルが含まれています。このツールは、/home/stack/tripleo-<stack>-baremetal-deployment.yamlファイル内のソースロール定義をコピーし、名前を変更します。次に、新しく作成された宛先ロールとの競合を防ぐために、hostname_formatを変更します。続いて、ツールはノードをソースロールから宛先ロールに移動し、count値を変更します。-
<stack>は、スタックの名前に置き換えます。 -
<Compute_source_role>を新しいロールに移動するノードを含むソースコンピュートロールの名前に置き換えます。 -
<Compute_destination_role>を新しいロールの名前に置き換えます。 -
<Compute-0><Compute-1><Compute-2>を、新しいロールに移動するノードの名前に置き換えます。
-
ノードを再プロビジョニングして、スタック内の環境ファイルを新しいロールの場所で更新します。
openstack overcloud node provision --stack <stack> --output /home/stack/templates/baremetal-deployment.yaml /home/stack/tripleo-<stack>-baremetal-deployment.yaml
$ openstack overcloud node provision --stack <stack> --output /home/stack/templates/baremetal-deployment.yaml /home/stack/tripleo-<stack>-baremetal-deployment.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記出力された
baremetal-deployment.yamlファイルは、オーバークラウドの導入中にovercloud_upgrade_prepare.shファイルで使用されたファイルと同じものです。RHEL 8.4 に残っているコンピュートロールを
COMPUTE_ROLESパラメーターに含めて、次のスクリプトを実行します。たとえば、RHEL 8.4 に残っているノードを含むComputeRHEL8というロールがある場合は、COMPUTE_ROLES = --role ComputeRHEL8となります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - この手順を繰り返して追加のロールを作成し、追加のコンピュートノードをそれらの新しいロールに移動します。
14.3.2. コンピュートノードのオペレーティングシステムのアップグレード リンクのコピーリンクがクリップボードにコピーされました!
選択したコンピュートノードのオペレーティングシステムを RHEL 9.2 にアップグレードします。異なるロールから複数のノードを同時にアップグレードできます。
前提条件
- 環境に必要なロールが作成されていることを確認してください。Multi-RHEL 環境のロールの作成に関する詳細は、Multi-RHEL コンピュートノードのロールの作成 を参照してください。
- コンピュートノードからインスタンスを移行する予定の場合には、サポート対象の移行シナリオを確認してください。詳細は、アップグレードテスト用のコンピュートノードの選択 を参照し てください。
RHOSP バージョン 17.1.3 以前を使用している場合は、システムアップグレードを実行する前に、Compute ホストでゲストが実行されていないことを確認してください。実行中のゲストは、すべてエラー状態になります。この問題を回避するには、ワークロードをライブマイグレーションするか、シャットダウンします。ライブマイグレーションの詳細は、インスタンス 作成のための Compute サービスの設定 の インスタンスの ライブマイグレーション を参照してください。
手順
skip_rhel_release.yamlファイルで、SkipRhelEnforcementパラメーターをfalseに設定します。parameter_defaults: SkipRhelEnforcement: false
parameter_defaults: SkipRhelEnforcement: falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次の例に示すように、
-esystem_upgrade.yaml引数と必要なその他の-e環境ファイル引数をovercloud_upgrade_prepare.shスクリプトに含めます。openstack overcloud upgrade prepare --yes \ ... -e /home/stack/system_upgrade.yaml \ -e /home/stack/<Compute_new_role_params.yaml> \ ...
$ openstack overcloud upgrade prepare --yes \ ... -e /home/stack/system_upgrade.yaml \ -e /home/stack/<Compute_new_role_params.yaml> \ ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
アップグレード固有のパラメーターを持つ
system_upgrade.yamlファイルを含めます (-e)。 -
新しいロールに必要なパラメーターを含む環境ファイルを含めます (-e)。
<Compute_new_role_params.yaml>を新しいロール用に作成した環境ファイルの名前に置き換えます。 - 複数のロールからノードを同時にアップグレードする場合は、作成した新しいロールごとに環境ファイルを含めます。
-
アップグレード固有のパラメーターを持つ
- オプション: インスタンスを移行します。移行計画の詳細は、コンピュートノード間の仮想マシンの移行 および 移行の準備 を参照してください。
-
overcloud_upgrade_prepare.shスクリプトを実行します。 特定のコンピュートノード上のオペレーティングシステムをアップグレードします。アップグレードするノードのコンマ区切りリストを指定して、
--limitオプションを使用します。以下の例では、computerhel9-0、computerhel9-1、computerhel9-2、およびcomputesriov-42ノードをComputeRHEL9およびComputeSRIOVロールからアップグレードします。openstack overcloud upgrade run --yes --tags system_upgrade --stack <stack> --limit computerhel9-0,computerhel9-1,computerhel9-2,computesriov-42
$ openstack overcloud upgrade run --yes --tags system_upgrade --stack <stack> --limit computerhel9-0,computerhel9-1,computerhel9-2,computesriov-42Copy to Clipboard Copied! Toggle word wrap Toggle overflow - <stack> は、スタックの名前に置き換えます。
コンピュートノード上のコンテナーを RHEL 9.2 にアップグレードします。アップグレードするノードのコンマ区切りリストを指定して、
--limitオプションを使用します。以下の例では、computerhel9-0、computerhel9-1、computerhel9-2、およびcomputesriov-42ノードをComputeRHEL9およびComputeSRIOVロールからアップグレードします。openstack overcloud upgrade run --yes --stack <stack> --limit computerhel9-0,computerhel9-1,computerhel9-2,computesriov-42
$ openstack overcloud upgrade run --yes --stack <stack> --limit computerhel9-0,computerhel9-1,computerhel9-2,computesriov-42Copy to Clipboard Copied! Toggle word wrap Toggle overflow