第1章 Red Hat OpenStack Platform の高可用性の概要とプランニング

Red Hat OpenStack Platform (RHOSP) の高可用性 (HA) は、デプロイメントにおけるフェイルオーバーとリカバリーのオーケストレーションを行うサービスのコレクションです。HA デプロイメントを計画する際には、ハードウェア割り当てやネットワーク設定など、環境のさまざまな側面について検討してください。

1.1. Red Hat OpenStack Platform の高可用性サービス

Red Hat OpenStack Platform (RHOSP) は、高可用性 (HA) を実装するのに必要なサービスを提供するための、さまざまなテクノロジーを採用しています。これらのサービスには、Galera、RabbitMQ、Redis、HAProxy、Pacemaker が管理する個別サービス、Systemd、Podman が管理するプレーンコンテナーサービスが含まれます。

1.1.1. サービスの種別

コアコンテナー

コアコンテナーサービスには、Galera、RabbitMQ、Redis、および HAProxy が含まれます。これらのサービスはすべてのコントローラーノード上で実行され、開始、停止、再起動の各処理に固有の管理と制約が必要です。Pacemaker を使用して、コアコンテナーサービスの起動、管理、およびトラブルシューティングを行います。

注記

RHOSP では、MariaDB Galera Cluster を使用してデータベースのレプリケーションを管理します。

アクティブ/パッシブ
アクティブ/パッシブのサービスは、1 回に 1 つの Controller ノードでのみ実行され、openstack-cinder-volume などのサービスが含まれます。アクティブ/パッシブのサービスを移動するには、Pacemaker を使用して正しい停止/起動シーケンスが実施されるようにする必要があります。
systemd とプレーンコンテナー

systemd およびプレーンコンテナーのサービスは独立したサービスで、サービスの中断に対する耐性があります。したがって、Galera 等の高可用性サービスを再起動した場合は、nova-api 等の他のサービスを手動で再起動する必要はありません。systemd または Podman を使用して、systemd およびプレーンコンテナーのサービスを直接管理することができます。

HA デプロイメントをオーケストレーションする場合、director はテンプレートおよび Puppet モジュールを使用して、すべてのサービスが正しく設定および起動されるようにします。また、HA の問題のトラブルシューティングを行う場合、podman コマンドまたは systemctl コマンドを使用して、HA フレームワークのサービスと対話する必要があります。

1.1.2. サービスのモード

HA サービスは、以下のいずれかのモードで動作することができます。

アクティブ/アクティブ

Pacemaker は同じサービスを複数のコントローラーノードで実行し、HAProxy を使用してトラフィックをノード間に分散するか、1 つの IP アドレスにより特定のコントローラーに転送します。HAProxy はラウンドロビンのスケジューリングを使用して、アクティブ/アクティブのサービスにトラフィックを分散する場合もあります。コントローラーノードを追加して、パフォーマンスを向上させることができます。

重要

アクティブ/アクティブモードは、エッジサイトの分散コンピュートノード (DCN) アーキテクチャーでのみサポートされます。

アクティブ/パッシブ
アクティブ/アクティブモードで実行することのできないサービスは、アクティブ/パッシブモードで実行する必要があります。このモードでは、1 度にアクティブにできるサービスのインスタンスは 1 つだけです。たとえば、HAProxy は stick-table オプションを使用して、受信した Galera データベースの接続要求を 1 つのバックエンドサービスに転送します。このモードは、複数の Galera ノードから同じデータに同時に多数の接続が行われるのを防ぐのに役立ちます。