Red Hat OpenStack Platform のマイナー更新の実行
最新のバグ修正とセキュリティー強化を Red Hat OpenStack Platform に適用する
概要
Red Hat ドキュメントへのフィードバック (英語のみ) リンクのコピーリンクがクリップボードにコピーされました!
Red Hat ドキュメントに対するご意見をお聞かせください。ドキュメントの改善点があればお知らせください。
問題の作成 フォームを使用して、Red Hat OpenStack Services on OpenShift (RHOSO) または Red Hat OpenStack Platform (RHOSP) の以前のリリースのドキュメントに関するフィードバックを提供します。RHOSO または RHOSP ドキュメントの問題を作成すると、その問題は RHOSO Jira プロジェクトに記録され、フィードバックの進行状況を追跡できるようになります。
問題の作成 フォームを完了するには、Jira にログインしていることを確認してください。Red Hat Jira アカウントをお持ちでない場合は、https://issues.redhat.com でアカウントを作成できます。
- 次のリンクをクリックして、問題の作成 ページを開きます (問題の作成)。
- Summary フィールドと Description フィールドに入力します。Description フィールドに、ドキュメントの URL、章またはセクション番号、および問題の詳しい説明を入力します。フォーム内の他のフィールドは変更しないでください。
- Create をクリックします。
第1章 マイナー更新の準備 リンクのコピーリンクがクリップボードにコピーされました!
お使いの Red Hat OpenStack Platform (RHOSP) 17.1 環境を、最新のパッケージおよびコンテナーで更新された状態に維持してください。
次のバージョンのアップグレードパスを使用します。
| 更新前の RHOSP バージョン | 新規 RHOSP バージョン |
|---|---|
| Red Hat OpenStack Platform 17.0.z | Red Hat OpenStack Platform 17.1 (最新) |
| Red Hat OpenStack Platform 17.1.z | Red Hat OpenStack Platform 17.1 (最新) |
マイナー更新のワークフロー
RHOSP 環境のマイナー更新には、アンダークラウドおよびオーバークラウドホスト上の RPM パッケージとコンテナー、および必要に応じてサービス設定の更新が含まれます。データプレーンとコントロールプレーンは、マイナー更新中に完全に利用可能になります。RHOSP 環境を更新するには、次の各手順を完了する必要があります。
| 更新手順 | 説明 |
|---|---|
| アンダークラウドの更新 | Director パッケージが更新され、コンテナーが置き換えられ、アンダークラウドが再起動されます。 |
|
オプションの |
すべての |
| ha-image-update 外部 | Pacemaker 制御サービスのコンテナーイメージ名を更新します。サービスの中断はありません。この手順は、システムをバージョン 17.0.z から最新の 17.1 リリースに更新するお客様にのみ該当します。 |
| Pacemaker サービスを含むコントローラーノードとコンポーザブルノードのオーバークラウド更新 | オーバークラウドの更新中、Pacemaker サービスは各ホストで停止します。Pacemaker サービスが停止している間、ホスト上の RPM、コンテナー設定データ、およびコンテナーが更新されます。Pacemaker サービスが再起動すると、ホストが再度追加されます。 |
| Pacemaker サービスを使用しないコンポーザブルノードのオーバークラウド更新 | Networker、ObjectStorage、BlockStorage、または Pacemaker サービスを含まないその他のロールは、一度に 1 ノードずつ更新されます。 |
| コンピュートノードのオーバークラウド更新 | 複数のノードが並行して更新されます。ノードを並列実行する場合のデフォルト値は 25 です。 |
| Ceph ノードのオーバークラウド更新 | Ceph ノードは一度に 1 ノードずつ更新されます。 |
| Ceph クラスターの更新 |
Ceph サービスは、 |
インフラストラクチャーがマルチスタックの場合は、各オーバークラウドスタックを一度に 1 つずつ完全に更新します。分散コンピュートノード (DCN) インフラストラクチャーがある場合は、中央のロケーションでオーバークラウドを完全に更新してから、各エッジサイトでオーバークラウドを一度に 1 つずつ更新します。
さらに、管理者はマイナー更新中に次の操作を実行できます。
- 仮想マシンの移行
- 仮想マシンネットワークの作成
- 追加のクラウド操作の実行
マイナー更新中は、次の操作はサポートされません。
- Controller ノードの置き換え
- ロールのスケールインまたはスケールアウト
RHOSP 環境を更新する前の考慮事項
更新プロセス中のガイドとして、次の情報を考慮してください。
- Red Hat は、アンダークラウドおよびオーバークラウドの制御プレーンをバックアップすることを推奨しています。ノードのバックアップについて詳しくは、アンダークラウドおよびコントロールプレーンノードのバックアップと復元 を参照してください。
- 更新を妨げる可能性のある既知の問題を把握してください。
- 更新する前に、可能な更新パスとアップグレードパスを把握してください。詳細は、「ロングライフリリースのアップグレードパス」 を参照してください。
-
現在のメンテナンスリリースを確認するには、
$ cat /etc/rhosp-releaseを実行してください。環境を更新した後にこのコマンドを実行して、更新を検証することもできます。
単一のコントローラーノードでの更新はサポートされていません。
手順
マイナー更新用に RHOSP 環境を準備するには、以下の手順を実行します。
1.1. ロングライフリリースのアップグレードパス リンクのコピーリンクがクリップボードにコピーされました!
更新を開始する前に、可能な更新およびアップグレードパスを把握する必要があります。
RHOSP および RHEL の現行バージョンは、/etc/rhosp-release および /etc/redhat-release ファイルで確認できます。
| 現行バージョン | 更新後のバージョン |
|---|---|
| RHEL 9.0 / RHOSP 17.0.x | 最新の RHEL 9.0 /最新の RHOSP 17.0 |
| RHEL 9.2 / RHOSP 17.1.x | 最新の RHEL 9.2 / 最新の RHOSP 17.1 |
| 現行バージョン | 更新後のバージョン |
|---|---|
| RHEL 7.7 上の RHOSP 10 | 最新の RHEL 7.9 における最新の RHOSP 13 |
| RHEL 7.9 上の RHOSP 13 | 最新の RHEL 8.2 における最新の RHOSP 16.1 |
| RHEL 7.9 上の RHOSP 13 | 最新の RHEL 8.4 における最新の RHOSP 16.2 |
| RHEL 8.4 の RHOSP 16 | 最新の RHEL 9.0 における最新の RHOSP 17.1 |
詳細は、16.2 から 17.1 へのアップグレードフレームワーク を参照してください。
1.2. マイナー更新を妨げる可能性のある既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
アップグレードの正常な完了に影響を及ぼす可能性のある、以下の既知の問題を確認してください。
RHOSP 17.1 GA、17.1.1、17.1.2 から RHOSP 17.1.4 への更新中に、Open Virtual Network (OVN) バックエンドを使用すると、OVN 更新の外部実行中にネットワーク API が短時間停止する可能性があります。
Red Hat OpenStack Platform (RHOSP) 17.0 環境が ML2/OVN でデプロイされている場合、環境を RHOSP 17.0 から 17.1.4 に直接更新することはできません。まず RHOSP 17.0.1 に更新する必要があります。詳細は、Red Hat OpenStack Platform を最新状態に保つ を参照してください。
RHOSP 17.1.3 以前のデプロイメントに、LOG アクションを含む nftables または iptables のフィルタールールが含まれており、カーネルコマンドライン (/proc/cmdline) に console=tty50 がある場合、ロギングアクションによってパケット転送に大幅な遅延が発生する可能性があります。17.1.4 に更新する前に、Red Hat ナレッジベースソリューション Sometimes receive packet (例:ICMP echo)に約 190 (ms)の回避策を適用する必要があります。
RHOSP 環境の 17.1.x への更新を実行している場合は、検証が一致する podman バージョンを見つけることができないため、更新前の package_version 検証に失敗します。
回避策: package_version 検証を省略するには、更新前の検証を実行するときに the --skiplist package-version オプションを使用します。
validation run -i ~/overcloud-deploy/<stack>/tripleo-ansible-inventory.yaml --group pre-update --skiplist package-version
$ validation run -i ~/overcloud-deploy/<stack>/tripleo-ansible-inventory.yaml --group pre-update --skiplist package-version
-
<stack>をスタックの名前に置き換えます。
RHOSP 17.1.4 への更新中に、更新前の検証を実行すると、undercloud-service-status の検証に失敗します。この失敗は、検証で undercloud-service-status サービスが見つからないために発生します。
回避策: 更新前の検証を実行する際に、undercloud-service-status 検証を省略します。
validation run \ --group pre-update \ --inventory /home/stack/overcloud-deploy/<stack>/config-download/<stack>/tripleo-ansible-inventory.yaml --skiplist undercloud-service-status
$ validation run \
--group pre-update \
--inventory /home/stack/overcloud-deploy/<stack>/config-download/<stack>/tripleo-ansible-inventory.yaml
--skiplist undercloud-service-status
-
<stack>をスタックの名前に置き換えます。
1.3. リポジトリーの調整 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Enterprise Linux ライフサイクルの現在のフェーズに基づいて、有効化したリポジトリーを調整する必要があります。今後の調整の必要性を最小限に抑えるために、エンタイトルメントで利用可能な場合は、Enhanced Extended Update Service (EEUS)を選択する必要があります。EEUS リポジトリーがない場合は、Extended Update Support (EUS)リポジトリーを選択します。現在、エンタイトルメントが適切なリポジトリーを提供していない場合は、Red Hat サポートにお問い合わせください。
Red Hat OpenStack Platform のサブスクリプションエンタイトルメントに応じて、以下のリポジトリータイプのいずれかがあります。
RHEL 8 または Multi-RHEL 環境:
TUS (通信通信更新サービス)
-
rhel-8-for-x86_64-baseos-tus-rpms -
rhel-8-for-x86_64-appstream-tus-rpms -
rhel-8-for-x86_64-highavailability-tus-rpms
-
Advanced Update Stream (AUS)
-
rhel-8-for-x86_64-baseos-aus-rpms -
rhel-8-for-x86_64-appstream-aus-rpms -
rhel-8-for-x86_64-highavailability-aus-rpms
-
RHEL 9 環境:
延長更新サポート (EUS)
-
rhel-9-for-x86_64-baseos-eus-rpms -
rhel-9-for-x86_64-appstream-eus-rpms -
rhel-9-for-x86_64-highavailability-eus-rpms
-
強化された Extended Update Service (EEUS)
-
rhel-9-for-x86_64-baseos-e4s-rpms -
rhel-9-for-x86_64-appstream-e4s-rpms -
rhel-9-for-x86_64-highavailability-e4s-rpms
-
Advanced Update Stream (AUS)
-
rhel-9-for-x86_64-baseos-aus-rpms -
rhel-9-for-x86_64-appstream-aus-rpms -
rhel-9-for-x86_64-highavailability-aus-rpms
-
サブスクリプションのエンタイトルメントに含まれるリポジトリーの詳細は、Red Hat Enterprise Linux のライフサイクル を参照してください。
1.4. 環境の Red Hat Enterprise Linux リリースへのロック リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenStack Platform (RHOSP) 17.1 は Red Hat Enterprise Linux 9.2 (RHEL) でサポートされています。更新を実行する前に、アンダークラウドおよびオーバークラウドのリポジトリーを RHEL 9.2 リリースにロックして、オペレーティングシステムが新しいマイナーリリースにアップグレードされないようにします。
手順
-
アンダークラウドホストに
stackユーザーとしてログインします。 stackrcアンダークラウド認証情報ファイルを入手します。source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
RhsmVarsパラメーターが含まれるオーバークラウドのサブスクリプション管理用環境ファイルを編集します。通常、このファイルのデフォルト名はrhsm.ymlです。 サブスクリプション管理の設定で、
rhsm_releaseパラメーターが含まれているかどうかを確認します。rhsm_releaseパラメーターが存在しない場合は、追加して 9.2 に設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - オーバークラウドのサブスクリプション管理用環境ファイルを保存します。
すべてのノードでオペレーティングシステムのバージョンを RHEL 9.2 にロックするタスクを含む Playbook を作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow set_release.yamlPlaybook を実行します。ansible-playbook -i ~/overcloud-deploy/<stack>/tripleo-ansible-inventory.yaml -f 25 ~/set_release.yaml --limit <undercloud>, <Controller>, <Compute>
$ ansible-playbook -i ~/overcloud-deploy/<stack>/tripleo-ansible-inventory.yaml -f 25 ~/set_release.yaml --limit <undercloud>, <Controller>, <Compute>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<stack>をスタックの名前に置き換えます。 -
--limitオプションを使用して、コンテンツをすべての RHOSP ノードに適用します。<undercloud>、<Controller>、<Compute> は、それらのノードを含む環境内の Ansible グループに置き換えます。これらのノードには別のサブスクリプションがある可能性があるため、Ceph Storage ノードに対してこの Playbook を実行しないでください。
-
手動でノードを特定のバージョンにロックするには、ノードにログインして subscription-manager release コマンドを実行します。
sudo subscription-manager release --set=9.2
$ sudo subscription-manager release --set=9.2
1.5. Red Hat Openstack Platform リポジトリーの更新 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenStack Platform (RHOSP) 17.1 を使用するようにリポジトリーを更新します。
手順
-
アンダークラウドホストに
stackユーザーとしてログインします。 stackrcアンダークラウド認証情報ファイルを入手します。source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
RhsmVarsパラメーターが含まれるオーバークラウドのサブスクリプション管理用環境ファイルを編集します。通常、このファイルのデフォルト名はrhsm.ymlです。 サブスクリプション管理の設定で
rhsm_reposパラメーターを確認します。rhsm_reposパラメーターで RHOSP 17.1 リポジトリーを使用している場合は、リポジトリーを正しいバージョンに変更します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - オーバークラウドのサブスクリプション管理用環境ファイルを保存します。
すべてのノードで、リポジトリーを RHOSP 17.1 に設定するタスクを含む Playbook を作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow update_rhosp_repos.yamlPlaybook を実行します。ansible-playbook -i ~/overcloud-deploy/<stack>/tripleo-ansible-inventory.yaml -f 25 ~/update_rhosp_repos.yaml --limit <undercloud>,<Controller>,<Compute>
$ ansible-playbook -i ~/overcloud-deploy/<stack>/tripleo-ansible-inventory.yaml -f 25 ~/update_rhosp_repos.yaml --limit <undercloud>,<Controller>,<Compute>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<stack>をスタックの名前に置き換えます。 -
--limitオプションを使用して、コンテンツをすべての RHOSP ノードに適用します。<undercloud>、<Controller>、<Compute> は、それらのノードを含む環境内の Ansible グループに置き換えます。通常、Ceph Storage ノードは異なるサブスクリプションを使用するため、この Playbook を Ceph Storage ノードに対して実行しないでください。
-
すべての Ceph Storage ノードで、リポジトリーを RHOSP 17.1 に設定するタスクが含まれる Playbook を作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow update_ceph_repos.yamlPlaybook を実行します。ansible-playbook -i ~/overcloud-deploy/<stack>/tripleo-ansible-inventory.yaml -f 25 ~/update_ceph_repos.yaml --limit CephStorage
$ ansible-playbook -i ~/overcloud-deploy/<stack>/tripleo-ansible-inventory.yaml -f 25 ~/update_ceph_repos.yaml --limit CephStorageCopy to Clipboard Copied! Toggle word wrap Toggle overflow --limitオプションを使用して、コンテンツを Ceph Storage ノードに適用します。
1.6. コンテナーイメージ準備ファイルの更新 リンクのコピーリンクがクリップボードにコピーされました!
コンテナー準備ファイルは、ContainerImagePrepare パラメーターが含まれるファイルです。このファイルを使用して、アンダークラウドおよびオーバークラウドのコンテナーイメージを取得する際のルールを定義します。
環境を更新する前に、ファイルを確認して正しいイメージバージョンを取得するようにしてください。
手順
-
コンテナー準備ファイルを編集します。通常、このファイルのデフォルト名は
containers-prepare-parameter.yamlです。 各ルールセットの
tagパラメーターが17.1に設定されていることを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記更新に特定のタグ (
17.1や17.1.1など) を使用しない場合は、tagキーと値のペアを削除し、tag_from_labelのみを指定します。これにより、更新プロセスの一部として使用するタグの値を決定する際に、インストールされた Red Hat OpenStack Platform バージョンが使用されます。バージョンのタグ付けに関する詳細は、Red Hat OpenStack Platform デプロイメント のカスタマイズ の コンテナーイメージタグ付けのガイドライン を 参照してください。- このファイルを保存します。
1.7. オーバークラウドでのフェンシングの無効化 リンクのコピーリンクがクリップボードにコピーされました!
オーバークラウドを更新する前に、フェンシングが無効になっていることを確認します。
コントローラーノードの更新プロセス中にフェンシングが環境にデプロイされると、オーバークラウドは特定ノードが無効であることを検出し、フェンシング操作を試みる場合があります。これにより、意図しない結果が生じる可能性があります。
オーバークラウドでフェンシングを有効にした場合、更新中はフェンシングを一時的に無効にする必要があります。
手順
-
アンダークラウドホストに
stackユーザーとしてログインします。 stackrcアンダークラウド認証情報ファイルを入手します。source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 各コントローラーノードにログインし、Pacemaker コマンドを実行してフェンシングを無効にします。
ssh tripleo-admin@<controller_ip> "sudo pcs property set stonith-enabled=false"
$ ssh tripleo-admin@<controller_ip> "sudo pcs property set stonith-enabled=false"Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<controller_ip>は、コントローラーノードの IP アドレスに置き換えます。コントローラーノードの IP アドレスは、/etc/hostsまたは/var/lib/mistralで確認できます。
-
SBD フェンシングを使用する場合は、
pacemaker_remoteノードで SBD フェンシングを無効にします。pcs property set stonith-watchdog-timeout=0 --force
# pcs property set stonith-watchdog-timeout=0 --forceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Watchdog タイマーデバイスの間隔の元の値を書き留めていることを確認してください。コントロールプレーンノードのアップグレード後に、ウォッチドッグタイマーデバイスの間隔を元の値にリセットする必要があります。詳細は、オーバークラウドでのフェンシングの再有効化 を参照し てください。
-
fencing.yaml環境ファイルで、EnableFencingパラメーターをfalseに設定し、更新プロセス中にフェンシングが無効のままとなるようにします。
1.8. ファイアウォールルールの変更 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenStack Platform (RHOSP) 17.1.4 では、iptables ルールが nftables ルールに置き換えられました。RHOSP テンプレートにファイアウォールルール(例 : tripleo::tripleo_firewall::firewall_rules )が含まれている場合は、ExtraFirewallRules パラメーターを使用してそれらを再定義する必要があります。ExtraFirewallRules パラメーターの使用の詳細は、Red Hat OpenStack Platform の強化 の オーバークラウドファイアウォールへのサービス追加 を参照してください。
第2章 アンダークラウドの更新 リンクのコピーリンクがクリップボードにコピーされました!
director を使用して、アンダークラウドノード上の主要なパッケージを更新します。アンダークラウドとそのオーバークラウドイメージを最新の Red Hat OpenStack Platform (RHOSP) 17.1 バージョンに更新するには、以下の手順を実行します。
前提条件
- アンダークラウドを最新の RHOSP 17.1 バージョンに更新する前に、すべての更新準備手順を完了している。詳細は、1章マイナー更新の準備 を参照してください。
2.1. アンダークラウドの更新前の RHOSP の検証 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenStack Platform (RHOSP) 環境を更新する前に、tripleo-validations Playbook を使用してアンダークラウドを検証してください。
検証の詳細は、director を使用した Red Hat OpenStack Platform のインストールと管理 の 検証フレームワークの使用 を参照してください。
手順
-
アンダークラウドホストに
stackユーザーとしてログインします。 stackrcアンダークラウド認証情報ファイルを入手します。source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 検証用にパッケージをインストールします。
sudo dnf -y update openstack-tripleo-validations python3-validations-libs validations-common
$ sudo dnf -y update openstack-tripleo-validations python3-validations-libs validations-commonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 検証を実行します。
validation run -i ~/overcloud-deploy/<stack>/config-download/<stack>/tripleo-ansible-inventory.yaml --group pre-update
$ validation run -i ~/overcloud-deploy/<stack>/config-download/<stack>/tripleo-ansible-inventory.yaml --group pre-updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow - <stack> をスタックの名前に置き換えます。
検証
- 検証レポートの結果を表示するには、director を使用した Red Hat OpenStack Platform のインストールと管理 の 検証履歴の表示 を参照してください。
検証の実行時にホストが見つからない場合、コマンドはステータスを SKIPPED と報告します。SKIPPED のステータスは、検証が実行されないことを意味しますが、これは想定内です。さらに、検証の合格基準が満たされていない場合、コマンドはステータスを FAILED と報告します。検証が FAILED であっても、更新された RHOSP 環境を使用できないことはありません。ただし、検証が FAILED の場合は、環境に問題があることを示している可能性があります。
2.2. SSH キーのサイズの検証 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Enterprise Linux (RHEL) 9.1 以降では、最小 2048 ビットの SSH キーサイズが必要です。Red Hat OpenStack Platform (RHOSP) director 上の現在の SSH キーが 2048 ビット未満の場合、オーバークラウドにアクセスできなくなる可能性があります。SSH キーが必要なビットサイズを満たしていることを確認する必要があります。
手順
SSH キーのサイズを検証します。
ssh-keygen -l -f ~/.ssh/id_rsa.pub
ssh-keygen -l -f ~/.ssh/id_rsa.pubCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例:
1024 SHA256:Xqz0Xz0/aJua6B3qRD7VsLr6n/V3zhmnGSkcFR6FlJw stack@director.example.local (RSA)
1024 SHA256:Xqz0Xz0/aJua6B3qRD7VsLr6n/V3zhmnGSkcFR6FlJw stack@director.example.local (RSA)Copy to Clipboard Copied! Toggle word wrap Toggle overflow - SSH キーが 2048 ビット未満の場合は、次に進む前に、SSH キーをローテーションする必要があります。詳細は、Red Hat OpenStack Platform の強化 の OpenStack 環境での SSH キーの更新 を参照してください。
2.3. コンテナー化されたアンダークラウドのマイナー更新を実施する リンクのコピーリンクがクリップボードにコピーされました!
director では、アンダークラウドノード上の主要なパッケージを更新するためのコマンドが提供されています。director を使用して、RHOSP 環境の現在のバージョン内でマイナー更新を実行します。
手順
-
アンダークラウドホストに
stackユーザーとしてログインします。 stackrcアンダークラウド認証情報ファイルを入手します。source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow dnfupdateコマンドを使用して director メインパッケージを更新します。sudo dnf update -y python3-tripleoclient ansible-*
$ sudo dnf update -y python3-tripleoclient ansible-*Copy to Clipboard Copied! Toggle word wrap Toggle overflow アンダークラウド環境を更新します。
openstack undercloud upgrade
$ openstack undercloud upgradeCopy to Clipboard Copied! Toggle word wrap Toggle overflow - アンダークラウドの更新プロセスが完了するまで待ちます。
アンダークラウドをリブートして、オペレーティングシステムのカーネルとその他のシステムパッケージを更新します。
sudo reboot
$ sudo rebootCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ノードがブートするまで待ちます。
2.4. オーバークラウドイメージの更新 リンクのコピーリンクがクリップボードにコピーされました!
director がノードをイントロスペクトして最新バージョンの RHOSP ソフトウェアでプロビジョニングできるようにするには、現在のオーバークラウドイメージを新しいバージョンに置き換える必要があります。
前提条件
- アンダークラウドノードが最新バージョンに更新されている。詳細は、「コンテナー化されたアンダークラウドのマイナー更新を実施する」 を参照してください。
-
guava
-director-images-uefi-x86_64パッケージがインストールされている。パッケージのインストールの詳細は、director を使用 した Red Hat OpenStack Platform のインストールと管理 の オーバークラウドイメージ のインストール を参照してください。
手順
-
アンダークラウドホストに
stackユーザーとしてログインします。 stackrcアンダークラウド認証情報ファイルを入手します。source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow stackユーザーのホーム下のimagesディレクトリー (/home/stack/images) から既存のイメージを削除します。rm -rf ~/images/*
$ rm -rf ~/images/*Copy to Clipboard Copied! Toggle word wrap Toggle overflow アーカイブをデプロイメントします。
cd ~/images for i in /usr/share/rhosp-director-images/ironic-python-agent-latest-17.1.tar /usr/share/rhosp-director-images/overcloud-hardened-uefi-full-latest-17.1.tar; do tar -xvf $i; done cd ~
cd ~/images for i in /usr/share/rhosp-director-images/ironic-python-agent-latest-17.1.tar /usr/share/rhosp-director-images/overcloud-hardened-uefi-full-latest-17.1.tar; do tar -xvf $i; done cd ~Copy to Clipboard Copied! Toggle word wrap Toggle overflow director に最新のイメージをインポートします。
openstack overcloud image upload --update-existing --image-path /home/stack/images/
$ openstack overcloud image upload --update-existing --image-path /home/stack/images/Copy to Clipboard Copied! Toggle word wrap Toggle overflow ノードが新しいイメージを使用するように設定します。
openstack overcloud node configure $(openstack baremetal node list -c UUID -f value)
$ openstack overcloud node configure $(openstack baremetal node list -c UUID -f value)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新規イメージが存在することを確認します。
ls -l /var/lib/ironic/httpboot /var/lib/ironic/images
$ ls -l /var/lib/ironic/httpboot /var/lib/ironic/imagesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- オーバークラウドノードをデプロイする際には、オーバークラウドイメージのバージョンが該当する heat テンプレートバージョンに対応している状態にします。たとえば、RHOSP 17.1 heat テンプレートでは RHOSP 17.1 イメージのみを使用します。
-
Red Hat カスタマーポータルまたは Red Hat Satellite Server を使用する接続環境をデプロイした場合、オーバークラウドのイメージとパッケージリポジトリーのバージョンが同期していない可能性があります。オーバークラウドのイメージとパッケージリポジトリーのバージョンが一致していることを確認するには、
virt-customizeツールを使用できます。詳細は、Red Hat ナレッジベースで Modifying the Red Hat Linux OpenStack Platform Overcloud Image with virt-customize のソリューションを参照してください。 -
新しい
overcloud-fullイメージは、古いovercloud-fullイメージを置き換えます。古いイメージに変更を加えた場合、特に今後新規ノードをデプロイする場合は、新しいイメージで変更を繰り返す必要があります。
第3章 オーバークラウドの更新 リンクのコピーリンクがクリップボードにコピーされました!
アンダークラウドを更新したら、オーバークラウドとコンテナーイメージの準備コマンドを実行し、ノードを更新することで、オーバークラウドを更新できます。コントロールプレーン API は、マイナー更新中もすべて利用できます。
前提条件
- アンダークラウドノードが最新バージョンに更新されている。詳細は、2章アンダークラウドの更新 を参照してください。
-
stackユーザーのホームディレクトリーでコアテンプレートのローカルセットを使用する場合は、テンプレートを更新し、Red Hat OpenStack Platform デプロイメントのカスタマイズ ガイドの heat テンプレートについて で推奨されるワークフローを使用してください。オーバークラウドをアップグレードする前に、ローカルコピーを更新する必要があります。 GlanceApiInternalサービスをコントローラーロールに追加します。OS::TripleO::Services::GlanceApiInternal
OS::TripleO::Services::GlanceApiInternalCopy to Clipboard Copied! Toggle word wrap Toggle overflow これは、Image サービス (glance) API の内部インスタンスのサービスで、位置データを管理者や、Block Storage サービス (cinder) や Compute サービス (nova) などの位置データを必要とする他のサービスに提供します。
手順
オーバークラウドを更新するには、次の手順を実行する必要があります。
- 「オーバークラウドの更新準備タスクの実施」
- 「コンテナーイメージ準備タスクの実行」
- 「オプション: すべてのオーバークラウドサーバーでの ovn-controller コンテナーの更新」
- 「Pacemaker 制御サービスのコンテナーイメージ名の更新」
- 「すべてのコントローラーノードを更新する」
- 「すべての Compute ノードを更新する」
- 「すべての HCI Compute ノードを更新する」
- 「すべての DistributedComputeHCI ノードの更新」
- 「すべての Ceph Storage ノードの更新」
- 「Red Hat Ceph Storage クラスターの更新」
- 「データベースのオンライン更新の実施」
- 「オーバークラウドでのフェンシングの再有効化」
3.1. オーバークラウドの更新準備タスクの実施 リンクのコピーリンクがクリップボードにコピーされました!
更新プロセスに向けてオーバークラウドを準備するには、openstack overcloud update prepare コマンドを実行する必要があります。このコマンドは、オーバークラウドプランを Red Hat OpenStack Platform (RHOSP) 17.1 に更新して、更新用にノードを準備します。
前提条件
-
Ceph のサブスクリプションを使用し、Ceph ストレージノード用に
overcloud-minimalイメージを使用するように director を設定している場合、roles_data.yamlロール定義ファイルでrhsm_enforceパラメーターがFalseに設定されていることを確認する。 -
カスタム NIC テンプレートをレンダリングした場合は、オーバークラウドのバージョンとの非互換性を回避するために、
openstack-tripleo-heat-templatesコレクションの更新バージョンでテンプレートを再生成する。カスタム NIC テンプレートの詳細は、Red Hat OpenStack Platform デプロイメントのカスタマイズ ガイドの カスタムネットワークインターフェイステンプレートの定義 を 参照してください。
OVN デプロイメントを使用する分散コンピュートノード (エッジ) アーキテクチャーの場合は、すべてのオーバークラウドサーバーでの ovn-controller コンテナーの更新 セクションに進む前に、Compute、DistributedCompute、または DistributedComputeHCI ノードを含むスタックごとにこの手順を完了する必要があります。
手順
-
アンダークラウドホストに
stackユーザーとしてログインします。 stackrcアンダークラウド認証情報ファイルを入手します。source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 更新準備コマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のオプションの中で、お使いの環境に適切なオプションを追加します。
-
オーバークラウドスタックの名前がデフォルトの名前
overcloudとは異なる場合は、更新の準備コマンドに--stackオプションを追加し、<stack_name>を実際のスタック名に置き換えます。 -
独自のカスタムロールを使用する場合は、
-rオプションを使用してカスタムロール (<roles_data_file>) ファイルを含めます。 -
カスタムネットワークを使用する場合は、
-nオプションを使用して、設定可能なネットワークを (<network_data_file>) ファイルに含めます。 -
高可用性クラスターをデプロイする場合は、更新の準備コマンドに
--ntp-serverオプションを追加するか、環境ファイルにNtpServerパラメーターおよび値を追加します。 -
-eオプションを使用して、カスタム設定環境ファイルを含めます。
-
オーバークラウドスタックの名前がデフォルトの名前
- 更新の準備プロセスが完了するまで待ちます。
3.2. コンテナーイメージ準備タスクの実行 リンクのコピーリンクがクリップボードにコピーされました!
オーバークラウドを更新する前に、環境に必要なすべてのコンテナーイメージ設定を準備して、最新の RHOSP 17.1 コンテナーイメージをアンダークラウドにプルする必要があります。
コンテナーイメージの準備を完了するには、container_image_prepare タグの付いたタスクに対して openstack overcloud external-update runコマンドを実行する必要があります。
手順
-
アンダークラウドホストに
stackユーザーとしてログインします。 stackrcアンダークラウド認証情報ファイルを入手します。source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow container_image_prepareタグの付いたタスクに対してopenstack overcloud external-update runコマンドを実行します。openstack overcloud external-update run --stack <stack_name> --tags container_image_prepare
$ openstack overcloud external-update run --stack <stack_name> --tags container_image_prepareCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
オーバークラウドスタックの名前がデフォルトのスタック名
overcloudと異なる場合は、スタック名を--stackオプションで設定し、<stack_name>をスタックの名前に置き換えます。
-
オーバークラウドスタックの名前がデフォルトのスタック名
3.3. オプション: すべてのオーバークラウドサーバーでの ovn-controller コンテナーの更新 リンクのコピーリンクがクリップボードにコピーされました!
Modular Layer 2 Open Virtual Network メカニズムドライバー (ML2/OVN) を使用してオーバークラウドをデプロイした場合は、ovn-controller コンテナーを最新の RHOSP 17.1 バージョンに更新します。更新は、ovn-controller コンテナーを実行するすべてのオーバークラウドサーバーで行われます。
-
次の手順では、コントローラーのロールが割り当てられているサーバーの ovn-northd サービスを更新する前に、コンピュートのロールが割り当てられているサーバーの
ovn-controllerコンテナーを更新します。 分散型コンピュートノード (エッジ) アーキテクチャーの場合は、すべてのコントローラーノードの更新 セクションに進む前に、Compute、DistributedCompute、または DistributedComputeHCI ノードを含むスタックごとにこの手順を完了する必要があります。
この手順を実行する前に誤って
ovn-northdサービスを更新した場合、仮想マシンに接続したり、新しい仮想マシンや仮想ネットワークを作成したりできない可能性があります。次の手順で接続を復元します。
手順
-
アンダークラウドホストに
stackユーザーとしてログインします。 stackrcアンダークラウド認証情報ファイルを入手します。source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow ovn タグを持つタスクに対して
openstack overcloud external-update runコマンドを実行します。openstack overcloud external-update run --stack <stack_name> --tags ovn
$ openstack overcloud external-update run --stack <stack_name> --tags ovnCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
オーバークラウドスタックの名前がデフォルトのスタック名
overcloudと異なる場合は、スタック名を--stackオプションで設定し、<stack_name>をスタックの名前に置き換えます。
-
オーバークラウドスタックの名前がデフォルトのスタック名
-
ovn-controllerコンテナーの更新が完了するまで待ちます。
3.4. Pacemaker 制御サービスのコンテナーイメージ名の更新 リンクのコピーリンクがクリップボードにコピーされました!
システムを Red Hat Openstack Platform (RHOSP) 17 から RHOSP 17.1 に更新する場合は、Pacemaker で制御されるサービスのコンテナーイメージ名を更新する必要があります。Pacemaker 制御サービスの新しいイメージ命名スキーマに移行するには、この更新を実行する必要があります。
システムを RHOSP 17.1 のバージョンから最新バージョンの RHOSP 17.1 に更新する場合、Pacemaker が制御するサービスのコンテナーイメージ名を更新する必要はありません。
手順
- アンダークラウドホストに stack ユーザーとしてログインします。
stackrc アンダークラウド認証情報ファイルを入手します。
source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow ha_image_updateタグを指定してopenstack overcloud external-update runコマンドを実行します。openstack overcloud external-update run --stack <stack_name> --tags ha_image_update
$ openstack overcloud external-update run --stack <stack_name> --tags ha_image_updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow - アンダークラウドスタックの名前がデフォルトのスタック名 undercloud と異なる場合は、--stack オプションを使用してスタック名を設定し、<stack_name> をスタックの名前に置き換えます。
3.5. すべてのコントローラーノードを更新する リンクのコピーリンクがクリップボードにコピーされました!
すべてのコントローラーノードを最新の RHOSP 17.1 バージョンに更新します。--limit Controller オプションを指定して openstack overcloud update run コマンドを実行し、操作をコントローラーノードのみに制限します。コントロールプレーン API は、マイナー更新中もすべて利用できます。
手順
-
アンダークラウドホストに
stackユーザーとしてログインします。 stackrcアンダークラウド認証情報ファイルを入手します。source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 更新コマンドを実行します。
openstack overcloud update run --stack <stack_name> --limit Controller
$ openstack overcloud update run --stack <stack_name> --limit ControllerCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
オーバークラウドスタックの名前がデフォルトのスタック名
overcloudと異なる場合は、スタック名を--stackオプションで設定し、<stack_name>をスタックの名前に置き換えます。
-
オーバークラウドスタックの名前がデフォルトのスタック名
- コントローラーノードの更新が完了するまで待ちます。
3.6. Pacemaker 以外のサービスでのコンポーザブルロールの更新 リンクのコピーリンクがクリップボードにコピーされました!
Pacemaker 以外のサービスでコンポーザブルロールを最新の RHOSP 17.1 バージョンに更新します。各コンポーザブルロールのノードを 1 つずつ更新します。
手順
-
アンダークラウドホストに
stackユーザーとしてログインします。 stackrcアンダークラウド認証情報ファイルを入手します。source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 更新コマンドを実行します。
openstack overcloud update run --stack <stack_name> --limit <non_pcs_role_0> openstack overcloud update run --stack <stack_name> --limit <non_pcs_role_1> openstack overcloud update run --stack <stack_name> --limit <non_pcs_role_2>
$ openstack overcloud update run --stack <stack_name> --limit <non_pcs_role_0> $ openstack overcloud update run --stack <stack_name> --limit <non_pcs_role_1> $ openstack overcloud update run --stack <stack_name> --limit <non_pcs_role_2>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
オーバークラウドスタックの名前がデフォルトのスタック名
overcloudと異なる場合は、スタック名を--stackオプションで設定し、<stack_name>をスタックの名前に置き換えます。 -
<non_pcs_role_0>,<non_pcs_role_1>, and<non_pcs_role_2>を、Pacemaker 以外のサービスと共にコンポーザブルロールの名前に置き換えます。
-
オーバークラウドスタックの名前がデフォルトのスタック名
- 更新が完了するまで待ちます。
3.7. すべての Compute ノードを更新する リンクのコピーリンクがクリップボードにコピーされました!
すべてのコンピュートノードを最新の RHOSP 17.1 バージョンに更新します。Compute ノードを更新するには、openstack overcloud update run コマンドに --limit Compute オプションを指定して、操作を Compute ノードのみに制限して実行する必要があります。
- 並列処理に関する考慮事項
多数の Compute ノードを更新する場合には、パフォーマンス向上のため、バックグラウンドで複数の更新タスクを実行し、ノードが 20 個含まれる別個のグループを更新するように各タスクを設定できます。たとえば、デプロイメントに 80 の Compute ノードがある場合、次のコマンドを実行して、Compute ノードを並行して更新できます。
openstack overcloud update run -y --limit 'Compute[0:19]' > update-compute-0-19.log 2>&1 & openstack overcloud update run -y --limit 'Compute[20:39]' > update-compute-20-39.log 2>&1 & openstack overcloud update run -y --limit 'Compute[40:59]' > update-compute-40-59.log 2>&1 & openstack overcloud update run -y --limit 'Compute[60:79]' > update-compute-60-79.log 2>&1 &
$ openstack overcloud update run -y --limit 'Compute[0:19]' > update-compute-0-19.log 2>&1 & $ openstack overcloud update run -y --limit 'Compute[20:39]' > update-compute-20-39.log 2>&1 & $ openstack overcloud update run -y --limit 'Compute[40:59]' > update-compute-40-59.log 2>&1 & $ openstack overcloud update run -y --limit 'Compute[60:79]' > update-compute-60-79.log 2>&1 &Copy to Clipboard Copied! Toggle word wrap Toggle overflow ノード領域分割方法はランダムで、更新されるノードを制御することはできません。ノードの選択は、
tripleo-ansible-inventoryコマンドの実行時に生成するインベントリーファイルに基づきます。特定の Compute ノードを更新するには、バッチで更新するノードをコンマ区切りリストで指定します。
openstack overcloud update run --limit <Compute0>,<Compute1>,<Compute2>,<Compute3>
$ openstack overcloud update run --limit <Compute0>,<Compute1>,<Compute2>,<Compute3>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
手順
-
アンダークラウドホストに
stackユーザーとしてログインします。 stackrcアンダークラウド認証情報ファイルを入手します。source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 更新コマンドを実行します。
openstack overcloud update run --stack <stack_name> --limit Compute
$ openstack overcloud update run --stack <stack_name> --limit ComputeCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
オーバークラウドスタックの名前がデフォルトのスタック名
overcloudと異なる場合は、スタック名を--stackオプションで設定し、<stack_name>をスタックの名前に置き換えます。
-
オーバークラウドスタックの名前がデフォルトのスタック名
- Compute ノードの更新が完了するまで待ちます。
3.8. すべての HCI Compute ノードを更新する リンクのコピーリンクがクリップボードにコピーされました!
ハイパーコンバージドインフラストラクチャー (HCI) コンピュートノードを最新の RHOSP 17.1 バージョンに更新します。
前提条件
ceph-monサービスを実行している Ceph Monitor または Controller ノードで、Red Hat Ceph Storage クラスターのステータスが正常であり、pg ステータスがactive+cleanであることを確認する。sudo cephadm shell -- ceph status
$ sudo cephadm shell -- ceph statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph クラスターが正常な場合、
HEALTH_OKのステータスが返されます。Ceph クラスターのステータスが異常な場合、
HEALTH_WARNまたはHEALTH_ERRのステータスが返されます。トラブルシューティングのガイダンスは、Red Hat Ceph Storage 5 トラブルシューティングガイド または Red Hat Ceph Storage 6 トラブルシューティングガイド を参照してください。
手順
-
アンダークラウドホストに
stackユーザーとしてログインします。 stackrcアンダークラウド認証情報ファイルを入手します。source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 更新コマンドを実行します。
openstack overcloud update run --stack <stack_name> --limit ComputeHCI
$ openstack overcloud update run --stack <stack_name> --limit ComputeHCICopy to Clipboard Copied! Toggle word wrap Toggle overflow -
オーバークラウドスタックの名前がデフォルトのスタック名
overcloudと異なる場合は、スタック名を--stackオプションで設定し、<stack_name>をスタックの名前に置き換えます。
-
オーバークラウドスタックの名前がデフォルトのスタック名
- ノードの更新が完了するまで待ちます。
3.9. すべての DistributedComputeHCI ノードの更新 リンクのコピーリンクがクリップボードにコピーされました!
分散コンピュートノードのアーキテクチャーに固有のロールを更新します。分散コンピュートノードをアップグレードするときは、まず DistributedComputeHCI ノードを更新し、その後 DistributedComputeHCIScaleOut ノードを更新します。
前提条件
ceph-monサービスを実行している Ceph Monitor または Controller ノードで、Red Hat Ceph Storage クラスターのステータスが正常であり、pg ステータスがactive+cleanであることを確認する。sudo cephadm shell -- ceph status
$ sudo cephadm shell -- ceph statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph クラスターが正常な場合、
HEALTH_OKのステータスが返されます。Ceph クラスターのステータスが異常な場合、
HEALTH_WARNまたはHEALTH_ERRのステータスが返されます。トラブルシューティングのガイダンスは、Red Hat Ceph Storage 5 トラブルシューティングガイド または Red Hat Ceph Storage 6 トラブルシューティングガイド を参照してください。
手順
-
アンダークラウドホストに
stackユーザーとしてログインします。 stackrcアンダークラウド認証情報ファイルを入手します。source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 更新コマンドを実行します。
openstack overcloud update run --stack <stack_name> --limit DistributedComputeHCI
$ openstack overcloud update run --stack <stack_name> --limit DistributedComputeHCICopy to Clipboard Copied! Toggle word wrap Toggle overflow -
オーバークラウドスタックの名前がデフォルトのスタック名
overcloudと異なる場合は、スタック名を--stackオプションで設定し、<stack_name>をスタックの名前に置き換えます。
-
オーバークラウドスタックの名前がデフォルトのスタック名
-
DistributedComputeHCIノードの更新が完了するまで待ちます。 -
同じプロセスを使用して、
DistributedComputeHCIScaleOutノードを更新します。
3.10. すべての Ceph Storage ノードの更新 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Ceph Storage ノードを最新の RHOSP 17.1 バージョンに更新します。
RHOSP 17.1 は RHEL 9.2 でサポートされています。ただし、Ceph Storage ロールにマップされているホストは、最新のメジャー RHEL リリースに更新されます。詳細は、Red Hat Ceph Storage: サポートされる設定 を参照してください。
前提条件
ceph-monサービスを実行している Ceph Monitor または Controller ノードで、Red Hat Ceph Storage クラスターのステータスが正常であり、pg ステータスがactive+cleanであることを確認する。sudo cephadm shell -- ceph status
$ sudo cephadm shell -- ceph statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph クラスターが正常な場合、
HEALTH_OKのステータスが返されます。Ceph クラスターのステータスが異常な場合、
HEALTH_WARNまたはHEALTH_ERRのステータスが返されます。トラブルシューティングのガイダンスは、Red Hat Ceph Storage 5 トラブルシューティングガイド または Red Hat Ceph Storage 6 トラブルシューティングガイド を参照してください。
手順
-
アンダークラウドホストに
stackユーザーとしてログインします。 stackrcアンダークラウド認証情報ファイルを入手します。source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 更新コマンドを実行します。
openstack overcloud update run --stack <stack_name> --limit CephStorage
$ openstack overcloud update run --stack <stack_name> --limit CephStorageCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
オーバークラウドスタックの名前がデフォルトのスタック名
overcloudと異なる場合は、スタック名を--stackオプションで設定し、<stack_name>をスタックの名前に置き換えます。
-
オーバークラウドスタックの名前がデフォルトのスタック名
- ノードの更新が完了するまで待ちます。
3.11. Red Hat Ceph Storage クラスターの更新 リンクのコピーリンクがクリップボードにコピーされました!
cephadm コマンドを使用して、director を使用してデプロイされた Red Hat Ceph Storage クラスターを Red Hat OpenStack Platform (RHOSP) 17.1 と互換性のある最新バージョンに更新します。
次のいずれかのシナリオが使用中の環境に当てはまる場合は、Red Hat Ceph Storage クラスターを更新します。
- RHOSP 16.2 から RHOSP 17.1 にアップグレードした場合は、Red Hat Ceph Storage 5 を実行し、Red Hat Ceph Storage 5 の新しいバージョンに更新することになります。
- RHOSP 17.1 を新たにデプロイした場合は、Red Hat Ceph Storage 6 を実行し、Red Hat Ceph Storage 6 の新しいバージョンに更新することになります。
前提条件
- 「コンテナーイメージ準備タスクの実行」 でコンテナーイメージの準備を完了します。
手順
- コントローラーノードにログインします。
クラスターの正常性を確認します。
sudo cephadm shell -- ceph health
$ sudo cephadm shell -- ceph healthCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Ceph Storage クラスターが正常な場合、コマンドは
HEALTH_OKの結果を返します。コマンドが別の結果を返す場合は、更新を続行する前にクラスターのステータスを確認し、Red Hat サポートに連絡してください。詳細は、Red Hat Ceph Storage アップグレードガイド の cephadm を使用した Red Hat Ceph Storage クラスターのアップグレード または Red Hat Ceph Storage 6 アップグレードガイド の cephadm を使用した Red Hat Ceph Storage クラスターのアップグレード を参照してください。オプション: Ceph Storage クラスターの更新に含める必要があるイメージを確認します。
openstack tripleo container image list -f value | awk -F '//' '/ceph/ {print $2}'$ openstack tripleo container image list -f value | awk -F '//' '/ceph/ {print $2}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターを最新の Red Hat Ceph Storage バージョンに更新します。
sudo cephadm shell -- ceph orch upgrade start --image <image_name>: <version>
$ sudo cephadm shell -- ceph orch upgrade start --image <image_name>: <version>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<image_name>を Ceph Storage クラスターイメージの名前に置き換えます。 -
<version>を、Ceph Storage クラスターを更新するターゲットバージョンに置き換えます。
-
Ceph Storage コンテナーの更新が完了するまで待ちます。更新ステータスを監視するには、次のコマンドを実行します。
sudo cephadm shell -- ceph orch upgrade status
sudo cephadm shell -- ceph orch upgrade statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.12. Red Hat Ceph Storage 7 へのアップグレード リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Ceph Storage 6 は、Red Hat OpenStack Platform 17.1 でデフォルトでデプロイされます。デプロイメントが完了したら、Red Hat Ceph Storage をリリース 7 にアップグレードできます。このプロセスと、アップグレードを完了する手順の詳細は、アップグレード フレームワーク(16.2 から 17.1)の Red Hat Ceph Storage 6 から 7 へ のアップグレード の Director でデプロイされた Red Hat Ceph Storage 環境 セクションを 参照してください。
3.13. データベースのオンライン更新の実施 リンクのコピーリンクがクリップボードにコピーされました!
一部のオーバークラウドコンポーネントでは、データベーステーブルのオンライン更新 (または移行) が必要です。オンラインでのデータベース更新を実行するには、online_upgrade タグが付いたタスクに対して openstack overcloud external-update run コマンドを実行します。
データベースのオンライン更新は、次のコンポーネントに適用されます。
- OpenStack Block Storage (cinder)
- OpenStack Compute (nova)
手順
-
アンダークラウドホストに
stackユーザーとしてログインします。 stackrcアンダークラウド認証情報ファイルを入手します。source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow online_upgradeのタグを使用するタスクに対してopenstack overcloud external-update runコマンドを実行します。openstack overcloud external-update run --stack <stack_name> --tags online_upgrade
$ openstack overcloud external-update run --stack <stack_name> --tags online_upgradeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.14. オーバークラウドでのフェンシングの再有効化 リンクのコピーリンクがクリップボードにコピーされました!
オーバークラウドをアップグレードする前に、オーバークラウドでのフェンシングの無効化 の手順で、フェンシングを無効にしています。オーバークラウドを更新した後、ノードに障害が発生した場合にデータを保護するためにフェンシングを再度有効にします。
手順
-
アンダークラウドホストに
stackユーザーとしてログインします。 stackrcアンダークラウド認証情報ファイルを入手します。source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow コントローラーノードにログインし、Pacemaker コマンドを実行してフェンシングを再度有効にします。
ssh tripleo-admin@<controller_ip> "sudo pcs property set stonith-enabled=true"
$ ssh tripleo-admin@<controller_ip> "sudo pcs property set stonith-enabled=true"Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<controller_ip>は、コントローラーノードの IP アドレスに置き換えます。コントローラーノードの IP アドレスは、openstack server listコマンドで確認できます。
-
SBD フェンシングを使用する場合は、ウォッチドッグタイマーデバイスの間隔を無効にする前に、元の値にリセットします。
pcs property set stonith-watchdog-timeout=<interval>
# pcs property set stonith-watchdog-timeout=<interval>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<
;interval> をウォッチドッグタイマーデバイスの元の値に置き換えます(例:10)。
-
<
-
fencing.yaml環境ファイルで、EnableFencingパラメーターをtrueに設定します。
第4章 オーバークラウドの再起動 リンクのコピーリンクがクリップボードにコピーされました!
最新の 17.1 バージョンへの Red Hat OpenStack Platform (RHOSP) のマイナー更新実行後、オーバークラウドを再起動します。リブートにより、関連付けられたカーネル、システムレベル、およびコンテナーコンポーネントの更新と共にノードがリフレッシュされます。これらの更新により、パフォーマンスとセキュリティー上のメリットが得られます。ダウンタイムを計画して、再起動手順を実施します。
以下のガイドを使用して、さまざまなノードのタイプを再起動する方法を説明します。
- 1 つのロールで全ノードを再起動する場合は、各ノードを個別に再起動します。ロールの全ノードを同時に再起動すると、その操作中サービスにダウンタイムが生じる場合があります。
次の順序でノードの再起動の手順を完了します。
4.1. コントローラーノードおよびコンポーザブルノードの再起動 リンクのコピーリンクがクリップボードにコピーされました!
設定可能なロールに基づいて Controller ノードとスタンドアロンノードを再起動し、Compute ノードと Ceph ストレージノードを除外します。
手順
- 再起動するノードにログインします。
オプション: ノードが Pacemaker リソースを使用している場合は、クラスターを停止します。
sudo pcs cluster stop
[tripleo-admin@overcloud-controller-0 ~]$ sudo pcs cluster stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow ノードをリブートします。
sudo reboot
[tripleo-admin@overcloud-controller-0 ~]$ sudo rebootCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ノードがブートするまで待ちます。
検証
サービスが有効になっていることを確認します。
ノードが Pacemaker サービスを使用している場合は、ノードがクラスターに再度加わったか確認します。
sudo pcs status
[tripleo-admin@overcloud-controller-0 ~]$ sudo pcs statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow ノードが Systemd サービスを使用している場合は、すべてのサービスが有効化されていることを確認します。
sudo systemctl status
[tripleo-admin@overcloud-controller-0 ~]$ sudo systemctl statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow ノードがコンテナー化されたサービスを使用している場合は、ノード上の全コンテナーがアクティブであることを確認します。
sudo podman ps
[tripleo-admin@overcloud-controller-0 ~]$ sudo podman psCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.2. Ceph Storage (OSD) クラスターの再起動 リンクのコピーリンクがクリップボードにコピーされました!
Ceph Storage (OSD) ノードのクラスターを再起動するには、以下の手順を実施します。
前提条件
ceph-monサービスを実行している Ceph Monitor または Controller ノードで、Red Hat Ceph Storage クラスターのステータスが正常であり、pg ステータスがactive+cleanであることを確認する。sudo cephadm shell -- ceph status
$ sudo cephadm shell -- ceph statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph クラスターが正常な場合、
HEALTH_OKのステータスが返されます。Ceph クラスターのステータスが異常な場合、
HEALTH_WARNまたはHEALTH_ERRのステータスが返されます。トラブルシューティングのガイダンスは、Red Hat Ceph Storage 5 トラブルシューティングガイド または Red Hat Ceph Storage 6 トラブルシューティングガイド を参照してください。
手順
ceph-monサービスを実行している Ceph Monitor または Controller ノードにログインし、Ceph Storage クラスターのリバランスを一時的に無効にします。sudo cephadm shell -- ceph osd set noout sudo cephadm shell -- ceph osd set norebalance
$ sudo cephadm shell -- ceph osd set noout $ sudo cephadm shell -- ceph osd set norebalanceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記マルチスタックまたは分散コンピュートノード (DCN) アーキテクチャーを使用している場合は、
nooutフラグとnorebalanceフラグの設定時に Ceph クラスター名を指定する必要があります。例:sudo cephadm shell -c /etc/ceph/<cluster>.conf -k /etc/ceph/<cluster>.client.keyring。- 再起動する最初の Ceph Storage ノードを選択し、そのノードにログインします。
ノードをリブートします。
sudo reboot
$ sudo rebootCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ノードがブートするまで待ちます。
ノードにログインし、Ceph クラスターのステータスを確認します。
sudo cephadm shell -- ceph status
$ sudo cephadm shell -- ceph statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow pgmapにより、すべてのpgsが正常な状態 (active+clean) として報告されることを確認します。- ノードからログアウトして、次のノードを再起動し、ステータスを確認します。全 Ceph Storage ノードが再起動されるまで、このプロセスを繰り返します。
完了したら、
ceph-monサービスを実行している Ceph Monitor または Controller ノードにログインし、クラスターのリバランスを有効にします。sudo cephadm shell -- ceph osd unset noout sudo cephadm shell -- ceph osd unset norebalance
$ sudo cephadm shell -- ceph osd unset noout $ sudo cephadm shell -- ceph osd unset norebalanceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記マルチスタックまたは分散コンピュートノード (DCN) アーキテクチャーを使用している場合は、
nooutフラグとnorebalanceフラグの設定解除時に Ceph クラスター名を指定する必要があります。例:sudo cephadm shell -c /etc/ceph/<cluster>.conf -k /etc/ceph/<cluster>.client.keyring。最終のステータスチェックを実行して、クラスターが
HEALTH_OKを報告していることを確認します。sudo cephadm shell ceph status
$ sudo cephadm shell ceph statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3. Compute ノードの再起動 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenStack Platform (RHOSP) 環境でのインスタンスのダウンタイムを最小限に抑えるために、インスタンスの移行ワークフローでは、再起動するコンピュートノードからインスタンスを移行する時に必要な手順を概説します。
インスタンスの移行ワークフロー
- Compute ノードを再起動する前に、インスタンスを別のノードに移行するか決定します。
- 再起動する Compute ノードを選択して無効にし、新規インスタンスをプロビジョニングしないようにします。
- インスタンスを別の Compute ノードに移行します。
- 空の Compute ノードを再起動します。
- 空の Compute ノードを有効にします。
前提条件
Compute ノードを再起動する前に、ノードの再起動中にインスタンスを別の Compute ノードに移行するか決定する。
Compute ノード間で仮想マシンインスタンスを移行する際に発生する可能性のある移行の制約リストを確認する。詳細は、インスタンス作成のための Compute サービスの設定 の 移行の制約 を参照してください。
注記Multi-RHEL 環境があり、RHEL 9.2 を実行しているコンピュートノードから RHEL 8.4 を実行しているコンピュートノードに仮想マシンを移行する場合は、コールドマイグレーションのみがサポートされます。コールドマイグレーションの詳細は、インスタンス作成のための Compute サービスの設定 の インスタンスのコールドマイグレーション を参照してください。
インスタンスを移行できない場合は、以下のコアテンプレートパラメーターを設定して、Compute ノード再起動後のインスタンスの状態を制御する。
NovaResumeGuestsStateOnHostBoot-
リブート後の Compute ノードで、インスタンスを同じ状態に戻すか定義します。
Falseに設定すると、インスタンスは停止した状態を維持し、手動で起動する必要があります。デフォルト値はFalseです。 NovaResumeGuestsShutdownTimeout再起動する前に、インスタンスのシャットダウンを待つ秒数。この値を
0に設定することは推奨されません。デフォルト値は300です。オーバークラウドパラメーターおよびその使用方法の詳細は、オーバークラウドのパラメーター を参照してください。
手順
-
アンダークラウドに
stackユーザーとしてログインします。 コンピュートノードのリストを取得して、再起動するノードのホスト名を特定します。
source ~/overcloudrc openstack compute service list
(undercloud)$ source ~/overcloudrc (overcloud)$ openstack compute service listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 再起動するコンピュートノードのホスト名を特定します。
再起動するコンピュートノード上のコンピュートサービスを無効にします。
openstack compute service list openstack compute service set <hostname> nova-compute --disable
(overcloud)$ openstack compute service list (overcloud)$ openstack compute service set <hostname> nova-compute --disableCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
<hostname>は、コンピュートノードのホスト名に置き換えます。
-
Compute ノード上の全インスタンスをリスト表示します。
openstack server list --host <hostname> --all-projects
(overcloud)$ openstack server list --host <hostname> --all-projectsCopy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: インスタンスを別のコンピュートノードに移行するには、次の手順を実行します。
インスタンスを別の Compute ノードに移行する場合は、以下のコマンドのいずれかを使用します。
インスタンスを別のホストに移行するには、次のコマンドを実行します。
(overcloud) $ openstack server migrate <instance_id> --live <target_host> --wait
(overcloud) $ openstack server migrate <instance_id> --live <target_host> --waitCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
<instance_id>は、インスタンス ID に置き換えます。 -
<target_host>は、インスタンスの移行先のホストに置き換えます。
-
nova-schedulerがターゲットホストを自動的に選択できるようにします。(overcloud) $ nova live-migration <instance_id>
(overcloud) $ nova live-migration <instance_id>Copy to Clipboard Copied! Toggle word wrap Toggle overflow すべてのインスタンスを一度にライブマイグレーションします。
nova host-evacuate-live <hostname>
$ nova host-evacuate-live <hostname>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記novaコマンドで非推奨の警告が表示される可能性がありますが、無視しても問題ありません。
- 移行が完了するまで待ちます。
移行が正常に完了したことを確認します。
(overcloud) $ openstack server list --host <hostname> --all-projects
(overcloud) $ openstack server list --host <hostname> --all-projectsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Compute ノードのインスタンスがなくなるまで、移行を続けます。
コンピュートノードにログインして、ノードをリブートします。
sudo reboot
[tripleo-admin@overcloud-compute-0 ~]$ sudo rebootCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ノードがブートするまで待ちます。
Compute ノードを再度有効にします。
source ~/overcloudrc (overcloud) $ openstack compute service set <hostname> nova-compute --enable
$ source ~/overcloudrc (overcloud) $ openstack compute service set <hostname> nova-compute --enableCopy to Clipboard Copied! Toggle word wrap Toggle overflow Compute ノードが有効であることを確認します。
(overcloud) $ openstack compute service list
(overcloud) $ openstack compute service listCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.4. オーバークラウドの更新後の RHOSP の検証 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenStack Platform (RHOSP) 環境を更新した後、tripleo-validations Playbook を使用してオーバークラウドを検証します。
検証の詳細は、director を使用した Red Hat OpenStack Platform のインストールと管理 の 検証フレームワークの使用 を参照してください。
手順
-
アンダークラウドホストに
stackユーザーとしてログインします。 stackrcアンダークラウド認証情報ファイルを入手します。source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 検証を実行します。
validation run -i ~/overcloud-deploy/<stack>/config-download/<stack>/tripleo-ansible-inventory.yaml --group post-update
$ validation run -i ~/overcloud-deploy/<stack>/config-download/<stack>/tripleo-ansible-inventory.yaml --group post-updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow - <stack> をスタックの名前に置き換えます。
検証
- 検証レポートの結果を表示するには、director を使用した Red Hat OpenStack Platform のインストールと管理 の 検証履歴の表示 を参照してください。
検証の実行時にホストが見つからない場合、コマンドはステータスを SKIPPED と報告します。SKIPPED のステータスは、検証が実行されないことを意味しますが、これは想定内です。さらに、検証の合格基準が満たされていない場合、コマンドはステータスを FAILED と報告します。検証が FAILED であっても、更新された RHOSP 環境を使用できないことはありません。ただし、検証が FAILED の場合は、環境に問題があることを示している可能性があります。