Red Hatのシステム高可用性(HA)の導入 – PacemakerとCorosyncを利用したクラスタ構築

Red Hatのシステム高可用性(HA)の導入 – PacemakerとCorosyncを利用したクラスタ構築

高可用性(High Availability, HA)は、システムのダウンタイムを最小限に抑え、サービスの継続性を確保するために必要な技術です。この記事では、PacemakerとCorosyncを使用して、Red Hat Enterprise Linux (RHEL) でHAクラスタを構築する方法を詳細に説明します。

システム高可用性とは

高可用性とは、システム障害時にサービスを継続するための仕組みを構築することです。Red HatのHAソリューションでは、PacemakerとCorosyncを使用してクラスタを実現します。

PacemakerとCorosyncの役割

Pacemakerは、クラスタ内のリソース管理を担当します。一方、Corosyncは、クラスタノード間での通信と状態同期を提供します。この2つのコンポーネントが連携してHAを実現します。

必要な環境と前提条件

HAクラスタ構築には、最低2台のRHELサーバーが必要です。各ノードでroot権限が必要であり、適切なネットワーク接続とタイムゾーンの同期が重要です。

必要なパッケージのインストール

以下のコマンドでPacemaker、Corosync、および関連パッケージをインストールします。

dnf install pacemaker corosync pcs

pcsデーモンの有効化と開始

pcsは、クラスタを管理するためのツールです。以下のコマンドでpcsデーモンを有効化し、開始します。

systemctl enable pcsd --now

クラスタの認証

各ノード間での認証を設定するために、以下のコマンドを実行します。

pcs cluster auth node1 node2

プロンプトが表示されたら、クラスタ管理用のパスワードを入力します。

クラスタの作成と開始

クラスタを作成するには、以下のコマンドを使用します。

pcs cluster setup --name my_cluster node1 node2

次に、クラスタを開始します。

pcs cluster start --all

Corosync設定の確認

Corosyncの設定ファイルは、通常「/etc/corosync/corosync.conf」にあります。クラスタノード間の通信やリング設定が正しいか確認します。

クラスタステータスの確認

クラスタの状態を確認するには、以下のコマンドを使用します。

pcs status

リソース、ノードの状態、障害が表示されます。

リソースの追加

クラスタにリソースを追加するには、以下のコマンドを使用します。ここでは仮想IPリソースを例とします。

pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.1.100 cidr_netmask=24

リソースの制約設定

リソースが特定の順序や場所で動作するように制約を設定します。

pcs constraint order Resource1 then Resource2
pcs constraint location Resource1 prefers node1=50

フェイルオーバーのテスト

クラスタのフェイルオーバーを確認するには、ノードを停止し、リソースが別のノードに移動することを確認します。

systemctl stop pacemaker

フェンスデバイスの設定

フェンスは、障害ノードを切り離すための重要なメカニズムです。フェンスデバイスを設定して、クラスタの安定性を確保します。

pcs stonith create FenceDevice fence_xvm pcmk_host_list="node1,node2"

クラスタ構成のバックアップ

クラスタ設定をバックアップするには、以下を使用します。

pcs config export > cluster_config.xml

このファイルを使用して、将来的に構成を復元できます。

まとめ

PacemakerとCorosyncを利用したHAクラスタの構築により、システムの高可用性を確保できます。正確な構成とテストを行うことで、安定した運用が可能になります。