4.4. クラスターノードの管理

次のセクションではクラスターサービスの起動や停止、クラスターノードの追加や削除などクラスターノードの管理で使用するコマンドについて説明します。

4.4.1. クラスターサービスの停止

次のコマンドで指定ノード (複数指定可) のクラスターサービスを停止します。pcs cluster start と同様に --all オプションを使うと全ノードのクラスターサービスが停止されます。ノードを指定しない場合はローカルノードのクラスターサービスのみが停止されます。
pcs cluster stop [--all] [node] [...]
次のコマンドでローカルノードでのクラスターサービスの停止を強制することができます。このコマンドは kill -9 コマンドを実行します。
pcs cluster kill

4.4.2. クラスターサービスの有効化および無効化

指定ノード (複数指定可) の起動時にクラスターサービスが実行されるよう設定する場合は次のコマンドを使用します。
  • --all オプションを使用すると全ノードでクラスターサービスが有効になります。
  • ノードを指定しないとローカルノードでのみクラスターサービスが有効になります。
pcs cluster enable [--all] [node] [...]
指定ノード (複数指定可) の起動時にクラスターサービスが実行されないよう設定する場合は次のコマンドを使用します。
  • --all オプションを使用すると全ノードでクラスターサービスが無効になります。
  • ノードを指定しないとローカルノードでのみクラスターサービスが無効になります。
pcs cluster disable [--all] [node] [...]

4.4.3. クラスターノードの追加

以下の手順にしたがって既存のクラスターに新しいノードを追加します。この例では、既存のクラスターノードは clusternode-01.example.comclusternode-02.example.com、および clusternode-03.example.com になります。新たに追加するノードは newnode.example.com になります。
クラスターに追加する新しいノードで、以下の作業を行います。
  1. クラスターパッケージをインストールします。
    [root@newnode ~]# yum install -y pcs fence-agents-all
  2. firewalld デーモンを実行している場合は、以下のコマンドを実行して Red Hat High Availability Add-On が必要とするポートを有効にします。
    # firewall-cmd --permanent --add-service=high-availability
    # firewall-cmd --add-service=high-availability
  3. ユーザー ID hacluster のパスワードを設定します。クラスターの各ノードに同じパスワードを使用することが推奨されます。
    [root@newnode ~]# passwd hacluster
    Changing password for user hacluster.
    New password:
    Retype new password:
    passwd: all authentication tokens updated successfully.
  4. 次のコマンドを実行して pcsd サービスを開始し、システムの起動時に pcsd が有効になるようにします。
    # systemctl start pcsd.service
    # systemctl enable pcsd.service
既存クラスターのノードの 1 つで以下の作業を行います。
  1. 新しいクラスターノードでユーザー hacluster を認証します。
    [root@clusternode-01 ~]# pcs cluster auth newnode.example.com
    Username: hacluster
    Password:
    newnode.example.com: Authorized
  2. 新しいノードを既存のクラスターに追加します。さらに、このコマンドは corosync.conf クラスター設定ファイルをクラスターのすべてのノード (追加する新しいノードを含む) に対して同期します。
    [root@clusternode-01 ~]# pcs cluster node add newnode.example.com
クラスターに追加する新しいノードで、以下の作業を行います。
  1. 新しいノードにて、ユーザー hacluster をクラスターのすべてのノードに対して認証します。
    [root@newnode ~]# pcs cluster auth
    Username: hacluster
    Password:
    clusternode-01.example.com: Authorized
    clusternode-02.example.com: Authorized
    clusternode-03.example.com: Authorized
    newnode.example.com: Already authorized
  2. 新しいノードでクラスターサービスを開始および有効化します。
    [root@newnode ~]# pcs cluster start
    Starting Cluster...
    [root@newnode ~]# pcs cluster enable
  3. 新しいクラスターノードのフェンスデバイスを設定するようにしてください。フェンスデバイスの設定については 5章フェンス機能: STONITH の設定 を参照してください。

4.4.4. クラスターノードの削除

以下のコマンドは指定のノードをシャットダウンし、クラスターにある他のノードすべてで corosync.conf クラスター設定ファイルから指定のノードを削除します。クラスターに関するすべての情報をクラスターノード全体で削除し、クラスターを永久的に破壊する方法については、「クラスター設定の削除」 を参照してください。
pcs cluster node remove node

4.4.5. スタンバイモード

次のコマンドでは指定したノードをスタンドバイモードにします。指定ノードはリソースのホストが行えなくなります。このノード上で現在実行中のリソースはすべて別のノードに移行されます。--all を使用すると全ノードがスタンバイモードになります。
リソースのパッケージを更新する場合にこのコマンドを使用します。また、設定をテストして実際にはノードのシャットダウンを行わずにリカバリーのシュミレーションを行う場合にも使用できます。
pcs cluster standby node | --all
次のコマンドは指定したノードのスタンバイモードを外します。コマンドを実行すると指定ノードはリソースをホストできるようになります。--all を使用すると全ノードのスタンバイモードを外します。
pcs cluster unstandby node | --all
pcs cluster standby コマンドを実行すると指定したノードでのリソースの実行を阻止する制約が追加されることになります。制約を取り除く場合は pcs cluster unstandby コマンドを実行します。このコマンドは必ずしもリソースを指定ノードに戻すわけではありません。最初にどのようにリソースを設定したかにより、その時点で実行できるノードに移動されます。リソースの制約については 7章リソースの制約 を参照してください。