Red Hat Training
A Red Hat training course is available for Red Hat OpenStack Platform
第4章 director を使用しない環境: OpenStack サービスの同時アップグレード
このシナリオでは、director を使用しない環境で、Red Hat OpenStack Platform 9 から Red Hat OpenStack Platform 10 にアップグレードします。この手順では、全ノード上の全サービスをアップグレードします。この作業は、以下のワークフローに従って実行します。
- 全 OpenStack サービスの無効化
- パッケージアップグレードの実行
- 全データベースの同期の実行
- 全 OpenStack サービスの有効化
本章に記載する手順は、すべての Red Hat OpenStack Platform ドキュメントで順守しているアーキテクチャー命名規則に従います。この規則に精通していない場合には、手順を開始する前に Red Hat OpenStack Platform ドキュメントスイート で『アーキテクチャーガイド』を参照してください。
4.1. 全 OpenStackサービスの無効化
ノードに対して完全なアップグレードを実行するには、最初のステップとして、全 OpenStack サービスをシャットダウンします。このステップは、OpenStack のノードが管理を行うために高可用性ツールを使用しているかどうか (例: コントローラーノード上で Pacemaker を使用している) によって異なります。このステップには、両ノードタイプの手順を記載しています。
標準ノード
更新を実行する前に、OpenStack サービスの systemd
スナップショットを作成します。
# systemctl snapshot openstack-services
主要な OpenStack Platform サービスを無効にします。
# systemctl stop 'openstack-*' # systemctl stop 'neutron-*' # systemctl stop 'openvswitch'
高可用性ノード
OpenStack のサービスはすべて無効にする必要がありますが、データベースとロードバランシングはそのままにしてください。たとえば、Pacemaker で HAProxy、Galera、および MongoDB のサービスを管理対象外に切り替えます。
# pcs resource unmanage haproxy # pcs resource unmanage galera # pcs resource unmanage mongod
クラスター上で stop-all-resources
を設定して、Pacemaker で管理されている残りのリソースを無効にします。Pacemaker クラスターの 1 つのメンバーで以下のコマンドを実行します。
# pcs property set stop-all-resources=true
Pacemaker で管理されている全リソースが停止するまで待ってから、pcs status
コマンドを実行して各リソースのステータスを確認します。
# pcs status
HAProxy では、利用できないサービスのブロードキャストメッセージが表示される場合があります。これは正常な動作です。
4.2. パッケージアップグレードの実行
次のステップでは、ノード上の全パッケージをアップグレードします。このステップは、OpenStack サービスを使用する各ノードで実行します。
subscription-manager
コマンドを使用して、Red Hat OpenStack Platform 10 リポジトリーに変更します。
# subscription-manager repos --disable=rhel-7-server-openstack-9-rpms # subscription-manager repos --enable=rhel-7-server-openstack-10-rpms
ノードで yum update
コマンドを実行します。
# yum update
パッケージの更新が完了するまで待ちます。
更新後の設定ファイルを確認します。アップグレードパッケージによって、Red Hat OpenStack Platform 10 のサービスに適した .rpmnew
ファイルがインストールされているはずです。新しいバージョンの OpenStack サービスでは、特定の設定オプションが非推奨になっている可能性があります。このような非推奨の設定オプションが原因で今後のアップグレードの際に問題が発生する可能性があるため、非推奨の警告については OpenStack のログも参照してください。各サービスで新規追加/更新された設定オプションや非推奨となった設定オプションについての詳しい説明は、Red Hat OpenStack Platform ドキュメントスイート で『Configuration Reference』を参照してください。
環境内の各ノードでパッケージのアップグレードを実行します。
4.3. 全データベースの同期の実行
次のステップでは、各サービスのデータベースをアップグレードします。
データベースの同期の所要時間が短縮するために、Identity サービス内の期限切れトークンをフラッシュします。
# keystone-manage token_flush
データベースを使用する各サービスのデータベーススキーマをアップグレードします。サービスのデータベースをホストしているノードで以下のコマンドを実行します。
表4.1 OpenStack サービスデータベースを同期するためのコマンド
サービス | プロジェクト名 | コマンド |
---|---|---|
Identity |
keystone |
|
Image |
glance |
|
Block Storage |
cinder |
|
Orchestration |
heat |
|
Compute |
nova |
|
Telemetry |
ceilometer |
|
Telemetry Alarming |
aodh |
|
Telemetry Metrics |
gnocchi |
|
Clustering |
sahara |
|
Networking |
neutron |
|
4.4. 全 OpenStack サービスの有効化
最後のステップでは、ノード上で OpenStack サービスを有効化します。このステップは、OpenStack のノードが管理を行うために高可用性ツールを使用しているかどうか (例: コントローラーノード上で Pacemaker を使用している) によって異なります。このステップには、両ノードタイプの手順を記載しています。
標準ノード
全 OpenStack サービスを再起動します。
# systemctl isolate openstack-services.snapshot
高可用性ノード
Pacemaker を介してリソースを再起動します。Pacemaker クラスター内の 1 つのメンバーで stop-all-resources
プロパティーをリセットします。以下に例を示します。
# pcs property set stop-all-resources=false
全リソースが開始するまで待ってから、pcs status
コマンドを実行して各リソースのステータスを確認します。
# pcs status
データベースやロードバランサーなど、Pacemaker で管理対象外にしていたリソースを有効化して管理対象にします。
# pcs resource manage haproxy # pcs resource manage galera # pcs resource manage mongod
このアップグレードシナリオでは、「7章director を使用しない環境向けの追加の手順」に詳述したように、いくつかの追加のアップグレード手順があります。これらの追加手順は、手動の環境ではオプションですが、現在の OpenStack Platform の推奨事項に合わせるのに役立ちます。
4.5. アップグレード後の注意事項
新しいバージョンの OpenStack サービスでは、特定の設定オプションが非推奨になっている可能性があります。このような非推奨の設定オプションが原因で今後のアップグレードの際に問題が発生する可能性があるため、非推奨の警告については OpenStack のログも参照してください。各サービスで新規追加/更新された設定オプションや非推奨となった設定オプションについての詳しい説明は、Red Hat OpenStack Platform ドキュメントスイート で『Configuration Reference』を参照してください。