8.2.2. クラスターへのノードの追加

ノードをクラスターに追加するには、クラスター設定の更新、追加するノードへ更新した設定の伝播、ノード上でのクラスターソフトウェアの起動を行います。ノードをクラスターに追加するには、以下の手順を実行します:
  1. クラスター内のいずれかのノードで /etc/cluster/cluster.conf を編集して、追加されるノード用に clusternode セクションを追加します。例えば、例8.2「2 ノードクラスターの設定」 で、node-03.example.com が追加されることになっている場合、そのノードに clusternode を追加します。ノード (群) の追加により 2 ノードクラスターから 3 つ以上のノードを持つクラスターへクラスターが遷移する場合、以下の cman 属性を /etc/cluster/cluster.conf から削除します:
    • cman two_node="1"
    • expected_votes="1"
    3 ノードと 2 ノードの設定の比較は、 「3 ノードと 2 ノードの設定サンプル」 を参照してください。
  2. config_version 属性を更新するには、値を増加します (例えば、config_version="2" から config_version="3"> へ変更)。
  3. /etc/cluster/cluster.conf を保存します。
  4. (オプション) ccs_config_validate コマンドを実行してクラスタースキーマ (cluster.rng) に対して更新したファイルを検証します。例えば:
    [root@example-01 ~]# ccs_config_validate 
    Configuration validates
    
  5. cman_tool version -r コマンドを実行して、設定をクラスターノードの残り部分へ伝播します。
  6. 更新した設定ファイルが伝播されたことを確認します。
  7. 更新した設定ファイルを、クラスターに追加する各ノード内の /etc/cluster/ に伝播します。例えば、scp コマンドを使用して、更新した設定ファイルをクラスターに追加する各ノードへ送信します。
  8. クラスターのノード数が 2 つのノードから 2 つを超えるノードに遷移した場合は、以下のようにして既存のクラスターノード群内のクラスターソフトウェアを再起動しなければなりません:
    1. 各ノードで 「クラスターソフトウェアの停止」 に従ってクラスターソフトウェアを停止します。例えば:
      [root@example-01 ~]# service rgmanager stop
      Stopping Cluster Service Manager:                          [  OK  ]
      [root@example-01 ~]# service gfs2 stop
      Unmounting GFS2 filesystem (/mnt/gfsA):                    [  OK  ]
      Unmounting GFS2 filesystem (/mnt/gfsB):                    [  OK  ]
      [root@example-01 ~]# service clvmd stop
      Signaling clvmd to exit                                    [  OK  ]
      clvmd terminated                                           [  OK  ]
      [root@example-01 ~]# service cman stop
      Stopping cluster: 
         Leaving fence domain...                                 [  OK  ]
         Stopping gfs_controld...                                [  OK  ]
         Stopping dlm_controld...                                [  OK  ]
         Stopping fenced...                                      [  OK  ]
         Stopping cman...                                        [  OK  ]
         Waiting for corosync to shutdown:                       [  OK  ]
         Unloading kernel modules...                             [  OK  ]
         Unmounting configfs...                                  [  OK  ]
      [root@example-01 ~]#
      
    2. 各ノードで 「クラスターソフトウェアの起動」 に従ってクラスターソフトウェアを起動します。例えば:
      [root@example-01 ~]# service cman start
      Starting cluster: 
         Checking Network Manager...                             [  OK  ]
         Global setup...                                         [  OK  ]
         Loading kernel modules...                               [  OK  ]
         Mounting configfs...                                    [  OK  ]
         Starting cman...                                        [  OK  ]
         Waiting for quorum...                                   [  OK  ]
         Starting fenced...                                      [  OK  ]
         Starting dlm_controld...                                [  OK  ]
         Starting gfs_controld...                                [  OK  ]
         Unfencing self...                                       [  OK  ]
         Joining fence domain...                                 [  OK  ]
      [root@example-01 ~]# service clvmd start
      Starting clvmd:                                            [  OK  ]
      Activating VG(s):   2 logical volume(s) in volume group "vg_example" now active
                                                                 [  OK  ]
      [root@example-01 ~]# service gfs2 start
      Mounting GFS2 filesystem (/mnt/gfsA):                      [  OK  ]
      Mounting GFS2 filesystem (/mnt/gfsB):                      [  OK  ]
      [root@example-01 ~]# service rgmanager start
      Starting Cluster Service Manager:                          [  OK  ]
      [root@example-01 ~]#
      
  9. クラスターに追加する各ノードで 「クラスターソフトウェアの起動」 に従って、クラスターソフトウェアを起動します。例えば:
    [root@example-01 ~]# service cman start
    Starting cluster: 
       Checking Network Manager...                             [  OK  ]
       Global setup...                                         [  OK  ]
       Loading kernel modules...                               [  OK  ]
       Mounting configfs...                                    [  OK  ]
       Starting cman...                                        [  OK  ]
       Waiting for quorum...                                   [  OK  ]
       Starting fenced...                                      [  OK  ]
       Starting dlm_controld...                                [  OK  ]
       Starting gfs_controld...                                [  OK  ]
       Unfencing self...                                       [  OK  ]
       Joining fence domain...                                 [  OK  ]
    [root@example-01 ~]# service clvmd start
    Starting clvmd:                                            [  OK  ]
    Activating VG(s):   2 logical volume(s) in volume group "vg_example" now active
                                                               [  OK  ]
    [root@example-01 ~]# service gfs2 start
    Mounting GFS2 filesystem (/mnt/gfsA):                      [  OK  ]
    Mounting GFS2 filesystem (/mnt/gfsB):                      [  OK  ]
    
    [root@example-01 ~]# service rgmanager start
    Starting Cluster Service Manager:                          [  OK  ]
    [root@example-01 ~]#
    
  10. いずれかのノードで clustat ユーティリティを使用して、それぞれ追加したノードがクラスターの一部として稼働していることを確認します。例えば:
    [root@example-01 ~]#clustat
    Cluster Status for mycluster @ Wed Nov 17 05:40:00 2010
    Member Status: Quorate
    
     Member Name                             ID   Status
     ------ ----                             ---- ------
     node-03.example.com                         3 Online, rgmanager
     node-02.example.com                         2 Online, rgmanager
     node-01.example.com                         1 Online, Local, rgmanager
    
     Service Name                   Owner (Last)                   State         
     ------- ----                   ----- ------                   -----           
     service:example_apache         node-01.example.com            started       
     service:example_apache2        (none)                         disabled
    
    clustat の使用についての詳細は、「高可用性 (HA) サービスの管理」 を参照してください。
    また、cman_tool status を使用して、ノードの投票数、ノード数、定足数を確認することもできます。例えば:
    [root@example-01 ~]#cman_tool status
    Version: 6.2.0
    Config Version: 19
    Cluster Name: mycluster 
    Cluster Id: 3794
    Cluster Member: Yes
    Cluster Generation: 548
    Membership state: Cluster-Member
    Nodes: 3
    Expected votes: 3
    Total votes: 3
    Node votes: 1
    Quorum: 2  
    Active subsystems: 9
    Flags: 
    Ports Bound: 0 11 177  
    Node name: node-01.example.com
    Node ID: 3
    Multicast addresses: 239.192.14.224 
    Node addresses: 10.15.90.58
    
  11. いずれかのノードで clusvcadm ユーティリティを使用して、実行中のサービスを新規に参加したノードに移行/再配置できます。また、無効になっているサービスも有効にすることができます。clusvcadm の使用についての詳細は 「高可用性 (HA) サービスの管理」 をご覧ください。