Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

付録B pcs コマンドの使用例

Red Hat Enterprise Linux 6.6 以降のリリースに pcs コマンドを使用して 2 ノードの Red Hat Enterprise Linux High Availability Add-On クラスターを設定する手順を説明していきます。また、このクラスターで Apache web サーバーを設定する手順についても解説しています。
本章で説明しているクラスターを設定する場合には次のコンポーネントが必要になります。
  • 2 ノード、クラスターを構成させるノードです。ここでは z1.example.comz2.example.com という名前にしています。
  • プライベートネットワーク用のネットワークスイッチ、クラスター同士の通信およびネットワーク電源スイッチやファイバーチャンネルスイッチなどのクラスターハードウェアとの通信に必要になります。
  • 各ノード用の電源フェンスデバイス、ここでは APC 電源スイッチの 2 ポートを使用しています。ホスト名は zapc.example.com にしています。

B.1. システムの初期セットアップ

クラスター作成に使用するシステムの初期設定について説明していきます。

B.1.1. クラスターソフトウェアをインストールする

次の手順に従ってクラスターソフトウェアをインストールします。
  1. 必ず pacemakercmanpcs をインストールします。
    yum install -y pacemaker cman pcs
  2. インストールしたら corosynccman がない場合は起動しないようクラスターの全ノードで次のコマンドを実行します。
    # chkconfig corosync off
  3. 定足数がなくても必ず cman を起動させたい場合でクラスターにノードが 2 つ以上ある場合には次のコマンドを実行します。
    # sed -i.sed "s/.*CMAN_QUORUM_TIMEOUT=.*/CMAN_QUORUM_TIMEOUT=0/g" /etc/sysconfig/cman

B.1.2. クラスターを作成して起動する

最初のクラスターを作成する手順を説明していきます。この後このクラスターにクラスターリソースを設定していくことになります。
  1. pcs を使ってクラスターの設定やノード間の通信を行うため、pcs の管理アカウントとなるユーザー ID hacluster のパスワードを各ノードに設定しなければなりません。ユーザー hacluster のパスワードは各ノードで同じパスワードにすることを推奨しています。
    # passwd hacluster
    Changing password for user hacluster.
    New password:
    Retype new password:
    passwd: all authentication tokens updated successfully.
  2. クラスターを設定する前に pcsd デーモンを起動する必要があります。このデーモンは pcs と連動してクラスター内のノード全体の設定を管理します。
    クラスターの各ノードで次のコマンドを実行し pcsd サービスを起動、またシステムの起動時に pcsd が有効になるよう設定します。
    # service pcsd start
    # service pcsd enable
  3. pcs を実行するノードでクラスター内の各ノードの pcs ユーザー hacluster を認証します。
    次のコマンドでは、z1.example.comz2.example.com の 2 ノードで構成されるクラスターの両ノードに対してユーザー hacluster の認証を z1.example.com 上で行っています。
    root@z1 ~]# pcs cluster auth z1.example.com z2.example.com
    Username: hacluster
    Password:
    z1.example.com: Authorized
    z2.example.com: Authorized
  4. 次のコマンドを z1.example.com で実行し z1.example.comz2.example.com で構成される 2 ノードクラスターの mycluster を作成します。これによりクラスター設定ファイルがクラスター内の全ノードに伝搬されます。コマンドに --start オプションを含ませることでクラスター内の全ノードでクラスターサービスが起動されます。
    [root@z1 ~]# pcs cluster setup --start --name my_cluster \
    z1.example.com z2.example.com
    z1.example.com: Succeeded
    z1.example.com: Starting Cluster...
    z2.example.com: Succeeded
    z2.example.com: Starting Cluster...
  5. オプションでクラスターの各ノードが起動するときにクラスターサービスを実行するよう設定することもできます。

    注記

    使用環境によってクラスターサービスを無効にしておきたい場合などはこの手順を省いて構いません。この手順を行うことで、ノードがダウンした場合にクラスターやリソース関連の問題をすべて解決してからそのノードをクラスターに戻すことができます。クラスターサービスを無効にしている場合には、ノードを再起動する時に pcs cluster start コマンドを使って手作業でサービスを起動しなければならないので注意してください。
    # pcs cluster enable --all
pcs cluster status コマンドを使用するとクラスターの現在の状態を表示できます。
[root@z1 ~]# pcs cluster status
Cluster Status:
 Last updated: Thu Jul 25 13:01:26 2013
 Last change: Thu Jul 25 13:04:45 2013 via crmd on z2.example.com
 Stack: corosync
 Current DC: z2.example.com (2) - partition with quorum
 Version: 1.1.10-5.el7-9abe687
 2 Nodes configured
 0 Resources configured