8.2. 노드 삭제 또는 추가

다음 부분에서는 클러스터에서 노드를 삭제하고 클러스터에 노드를 추가하는 방법에 대해 설명합니다. 8.2.1절. “클러스터에서 노드를 삭제 ”에 따라 클러스터에서 노드를 삭제할 수 있으며 8.2.2절. “클러스터에 노드 추가 ”에 따라 클러스터에 노드를 추가할 수 있습니다.

8.2.1. 클러스터에서 노드를 삭제

클러스터에서 노드를 삭제하는 것은 삭제할 노드에서 클러스터 소프트웨어를 종료하고 변경 사항을 반영하기 위해 클러스터 설정을 업데이트하는 것으로 이루어집니다.

중요

클러스터에서 노드를 삭제하는 것이 2개 이상의 노드에서 2개의 노드로 변경되는 원인이 될 경우 클러스터 설정 파일을 업데이트한 후 각 노드에서 클러스터 소프트웨어를 다시 시작해야 합니다.
클러스터에서 노드를 제거하려면 다음 절차를 실행합니다:
  1. 노드 중 하나에서 clusvcadm 유틸리티를 사용하여 클러스터에서 삭제할 노드에서 실행되고 있는 각각의 HA 서비스를 재배치, 이전, 중지합니다. clusvcadm 사용에 대한 자세한 내용은 8.3절. “고가용성 서비스 관리 ”에서 참조하십시오.
  2. 클러스터에서 삭제된 노드에서 8.1.2절. “클러스터 소프트웨어 중지 ”에 따라 클러스터 소프트웨어를 중지합니다. 예:
    [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 ~]#
    
  3. 클러스터에 있는 노드 중 하나에서 /etc/cluster/cluster.conf를 편집하여 삭제될 노드의 clusternode 부분을 제거합니다. 예를 들어 예 8.1. “3 노드 클러스터 설정 ”에서 node-03.example이 삭제되어야 한다고 할 경우 해당 노드의 clusternode 부분을 제거합니다. 노드를 제거하는 것이 2-노드 클러스터가 되는 원인이 될 경우, 설정 파일에 다음 행을 추가하여 단일 노드가 쿼터를 유지하게 합니다 (예를 들어 1 개의 노드가 실패할 경우):
    <cman two_node="1" expected_votes="1"/>
    3 노드와 2 노드 구성 간의 비교는 8.2.3절. “3 노드 및 2-노드 설정의 예 ”에서 참조하십시오.
  4. 값을 증가시켜 config_version 속성을 업데이트합니다 (예: config_version="2"에서 config_version="3">로 변경)
  5. /etc/cluster/cluster.conf를 저장합니다.
  6. (옵션) ccs_config_validate 명령을 실행하여 클러스터 스키마 (cluster.rng)에 대해 업데이트된 파일의 유효성을 검사합니다. 예:
    [root@example-01 ~]# ccs_config_validate 
    Configuration validates
    
  7. cman_tool version -r 명령을 실행하여 설정을 나머지 클러스터 노드에 전달합니다.
  8. 업데이트된 설정 파일이 전달되었는지 확인합니다.
  9. 클러스터 노드 수가 2개 이상의 노드에서 2개의 노드로 변경된 경우 다음과 같이 클러스터 소프트웨어를 다시 시작해야 합니다:
    1. 각 노드에서 8.1.2절. “클러스터 소프트웨어 중지 ”에 따라 클러스터 소프트웨어를 중지합니다. 예:
      [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. 각 노드에서 8.1.1절. “클러스터 소프트웨어 시작 ”에 따라 클러스터 소프트웨어를 시작합니다. 예:
      [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 ~]#
      
    3. 클러스터 노드에서 cman_tools nodes를 실행하여 노드가 클러스터에서 멤버로 작동하는지 확인합니다 (상태 컬럼 "Sts"에서 "M"로 표시). 예:
      [root@example-01 ~]# cman_tool nodes
      Node  Sts   Inc   Joined               Name
         1   M    548   2010-09-28 10:52:21  node-01.example.com
         2   M    548   2010-09-28 10:52:21  node-02.example.com
      
    4. 노드에서 clustat 유틸리티를 사용하여, HA 서비스가 예상대로 실행되는지 확인합니다. 또한 clustat는 클러스터 노드의 상태를 표시합니다. 예:
      [root@example-01 ~]#clustat
      Cluster Status for mycluster @ Wed Nov 17 05:40:00 2010
      Member Status: Quorate
      
       Member Name                             ID   Status
       ------ ----                             ---- ------
       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