第13章 高可用性およびクラスター

Red Hat Enterprise Linux 8 では、pcs は、クラスター通信に、Corosync 3 クラスターエンジンと、Kronosnet (knet) ネットワーク抽象化層にフルサポートを提供します。既存の RHEL 7 クラスターから RHEL 8 クラスターへのアップグレードを計画すると、以下のような事項を検討する必要があります。

  • アプリケーションのバージョン - RHEL 8 クラスターで必要な高可用性アプリケーションのバージョンは?
  • アプリケーションのプロセスの順番 - アプリケーションのプロセスを開始および停止する際に必要な変更は?
  • クラスターインフラストラクチャー - RHEL 8 の pcs では複数のネットワーク接続がサポートされるようになったため、クラスターが認識する NIC の数は変更しますか?
  • 必要なパッケージ - 新しいクラスターで同じパッケージをすべてインストールする必要はありますか?

RHEL 8 で Pacemaker クラスターを実行するための、以下の事項またはその他の事項により、RHEL 7 クラスターから RHEL 8 クラスターへのインプレースアップグレードを実行することはできず、RHEL 8 で新しいクラスターを設定する方法があります。RHEL 7 および RHEL 8 の両方で実行するノードを含むクラスターを実行することはできません、

また、アップグレードを実行する前に、次の計画を立てる必要があります。

  • 最終カットオーバー - アプリケーションのダウンタイムを短くするために、以前のクラスターで実行しているアプリケーションを停止して、新しいクラスターで開始するためにはどのようなプロセスがありますか?
  • テスト - 開発またはテスト環境に移行する前に、移行戦略をテストすることはできますか?

RHEL 7 と RHEL 8 における、クラスター作成および管理における主な相違点は、以下のセクションで説明します。

13.1. pcs cluster setuppcs cluster node add、および pcs cluster node remove コマンドの新しい形式

Red Hat Enterprise Linux 8 の pcs では、ノード名の使用を完全にサポートします。ノード名は必須となり、ノード識別子となるノードアドレスを置き換えます。ノードアドレスは任意となりました。

  • pcs host auth コマンドで、ノードアドレスがデフォルトでノード名となります。
  • pcs cluster setup コマンドおよび pcs cluster node add コマンドでは、ノードアドレスが、pcs host auth コマンドで指定したノードアドレスにデフォルト設定されます。

この変更により、クラスターのセットアップ、クラスターへのノードの追加、およびクラスターからのノードの削除を行うコマンドの形式が変更になりました。新しいコマンド形式の詳細は、pcs cluster setup コマンド、pcs cluster node add コマンド、および pcs cluster node remove コマンドのヘルプ表示を参照してください。

13.2. マスターリソースから、昇格可能なクローンリソースに名前が変更

Red Hat Enterprise Linux (RHEL) 8 は Pacemaker 2.0 に対応しています。ここでは、マスターとスレーブのリソースが、別の種類のリソースではなくなり、Promotable メタ属性が true に設定されている標準クローンリソースになりました。今回の更新に対応するために、以下の変更が行われました。

  • pcs コマンドでマスターリソースを作成することができなくなりました。代わりに、昇格可能な クローンリソースを作成できます。関連キーワードおよびコマンドが、master から promotable に変わりました。
  • 既存のすべてのマスターリソースが昇格可能なクローンリソースとして表示されます。
  • Web UI で RHEL7 クラスターを管理すると、RHEL7 クラスターは昇格可能なクローンをサポートしないため、マスターリソースは引き続きマスターと呼ばれます。

13.3. クラスターのノードを認証する新しいコマンド

Red Hat Enterprise Linux (RHEL) 8 では、クラスターでノードの認証に使用されるコマンドに以下の変更が加えられています。

  • 認証用の新しいコマンドは pcs host auth です。このコマンドにより、ユーザーは、ホスト名、アドレス、および pcsd ポートを指定できます。
  • pcs cluster auth コマンドは、ローカルクラスターのノードのみを認証し、ノードリストは許可しません、
  • 各ノードにアドレスを指定できるようになりました。pcs/pcsd は、指定したアドレスを使用して各ノードと通信します。このアドレスは、corosync が内部で使用しているアドレスとは異なる場合があります。
  • pcs pcsd clear-auth コマンドは、pcs pcsd deauth コマンドおよび pcs host deauth コマンドに置き換えられました。この新しいコマンドを使用すると、ユーザーは全ホストの認証解除だけでなく、1 台のホストでも認証解除できます。
  • 以前は、ノード認証が双方向で行われており、pcs cluster auth コマンドを実行すると、指定したすべてのノードが互いに認証されていましたが、pcs host auth コマンドを使用すると、指定したノードに対してローカルホストだけが認証されます。これにより、このコマンドを実行する際に、どのノードが他のどのノードに対して認証されているかをより適切に制御できます。クラスターを設定する場合や、ノードを追加する場合に、pcs がクラスターのトークンを自動的に同期するため、クラスター内のすべてのノードが以前と同じように自動的に認証され、クラスターノードが互いに通信できます。

これらの変更は後方互換性がないことに注意してください。RHEL 7 システムで認証されたノードは、再認証する必要があります。

13.4. Red Hat High Availability のアクティブ/パッシブなクラスターにおける LVM ボリューム

RHEL 8 の Red Hat HA アクティブ/パッシブのリソースとして LVM ボリュームを設定すると、LVM-activate リソースとしてボリュームを設定します。RHEL 7 では、このようなボリュームを LVM リソースとして設定しました。RHEL 8 のアクティブ/パッシブクラスターで LVM ボリュームをリソースとして設定する方法を含むクラスターの設定手順の例は、「Red Hat High Availability クラスターのアクティブ/パッシブな NFS サーバーの設定」を参照してください。

13.5. Red Hat High Availability のアクティブ/アクティブクラスターにおける共有 LVM ボリューム

Red Hat Enterprise Linux 8 では、LVM は、clvmd の代わりに LVM ロックデーモン lvmlockd を使用して、アクティブ/アクティブクラスターで共有ストレージデバイスを管理します。これにより、GFS2 ファイルシステムを共有論理ボリュームとしてマウントできる論理ボリュームを設定する必要があります。また、これにより、LVM が有効な リソースエージェントを使用して LVM ボリュームを管理し、lvmlockd リソースエージェントを使用して lvmlockd を管理する必要があります。共有論理ボリュームを使用して GFS2 ファイルシステムを含む RHEL 8 Pacemaker クラスターを設定する全手順は、「クラスターでの GFS2 ファイルシステムの設定」を参照してください。

13.6. RHEL 8 Pacemaker クラスター内の GFS2 ファイルシステム

Red Hat Enterprise Linux 8 では、LVM は、「共有ストレージデバイスを管理する clvmd の削除」 で説明されたように、アクティブ/アクティブクラスターで共有ストレージデバイスを管理するために、clvmd の代わりに、LVM ロックデーモン lvmlockd を使用します。

RHEL 8 クラスターに RHEL 7 システムを作成した GFS2 ファイルシステムを使用するには、RHEL 8 システムで共有論理ボリュームとしてマウントされる論理ボリュームを設定して、ボリュームグループのロックを開始する必要があります。既存の RHEL 7 論理ボリュームを、RHEL 8 Pacemaker クラスターとして設定する手順は、「RHEL7 から RHEL8 へ GFS2 ファイルシステムの移行」を参照してください。