Red Hat Training

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

8.2.2. 클러스터에 노드 추가

클러스터에 노드를 추가하는 것은 클러스터 설정의 업데이트, 추가될 노드에 업데이트된 설정을 전달, 노드에서 클러스터 소프트웨어를 시작하는 것으로 구성됩니다. 클러스터에 노드를 추가하려면, 다음의 단계를 실행합니다:
  1. 클러스터에 있는 노드 중 하나에서 /etc/cluster/cluster.conf를 편집하여 추가될 노드에 clusternode 부분을 추가합니다. 예를 들어 예 8.2. “2 노드 클러스터 설정 ”에서 node-03.example.com이 추가된다고 가정할 경우, 해당 노드에 clusternode 부분을 추가합니다. 노드를 추가하여 클러스터가 2 노드 클러스터에서 3 개 이상의 노드가 있는 클러스터로 변경될 경우 /etc/cluster/cluster.conf에서 다음의 cman 속성을 제거합니다:
    • cman two_node="1"
    • expected_votes="1"
    3 노드와 2 노드 구성 간의 비교는 8.2.3절. “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. 각 노드에서 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 ~]#
      
  9. 클러스터에 추가될 각 노드에서 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 ~]#
    
  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 사용에 대한 보다 자세한 내용은 8.3절. “고가용성 서비스 관리 ”에서 참조하십시오.
    또한 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 사용에 대한 자세한 내용은 8.3절. “고가용성 서비스 관리 ”에서 참조하십시오.