Red Hat Training

A Red Hat training course is available for RHEL 8

27.2. 쿼럼 장치 구성

쿼럼 장치를 구성하고 다음 절차에 따라 클러스터에 추가합니다.

이 예제에서는 다음을 수행합니다.

  • 쿼럼 장치에 사용되는 노드는 qdevice 입니다.
  • 쿼럼 장치 모델은 현재 지원되는 유일한 모델인 net 입니다. net 모델은 다음과 같은 알고리즘을 지원합니다.

    • FFsplit: 50fifty 분할. 이는 활성 노드 수가 가장 많은 파티션에 정확히 하나의 투표를 제공합니다.
    • LMS: 마지막. qnetd 서버를 볼 수 있는 클러스터에 남은 노드가 유일한 경우 투표를 반환합니다.

      주의

      LMS 알고리즘을 사용하면 클러스터가 남아 있는 노드만으로도 정족수를 유지할 수 있지만, 이는 또한 number_of_nodes - 1과 동일하기 때문에 쿼럼 장치의 투표 전력이 뛰어나다는 의미이기도 합니다. 쿼럼 장치와 연결이 끊어지면 number_of_nodes - 1 투표가 손실됨을 의미합니다. 즉, 모든 노드가 활성 상태인 클러스터만 정족수에 달할 수 있습니다(쿼럼 장치를 재정의하여) 다른 모든 클러스터는 정족수에 달하지 않게 됩니다.

      이러한 알고리즘 구현에 대한 자세한 내용은 corosync-qdevice(8) 매뉴얼 페이지를 참조하십시오.

  • 클러스터 노드는 node1node2 입니다.

절차

  1. 쿼럼 장치를 호스팅하는 데 사용할 노드에서 다음 명령으로 쿼럼 장치를 구성합니다. 이 명령은 쿼럼 장치 모델 net 을 구성 및 시작하며 부팅 시 시작되도록 장치를 구성합니다.

    [root@qdevice:~]# pcs qdevice setup model net --enable --start
    Quorum device 'net' initialized
    quorum device enabled
    Starting quorum device...
    quorum device started

    쿼럼 장치를 구성한 후 해당 상태를 확인할 수 있습니다. corosync-qnetd 데몬이 실행 중이며 현재 연결된 클라이언트가 없음을 표시해야 합니다. full 명령 옵션은 자세한 출력을 제공합니다.

    [root@qdevice:~]# pcs qdevice status net --full
    QNetd address:                  *:5403
    TLS:                            Supported (client certificate required)
    Connected clients:              0
    Connected clusters:             0
    Maximum send/receive size:      32768/32768 bytes
  2. 다음 명령으로 firewalld 에서 고가용성 서비스를 활성화하여 pcsd 데몬 및 net 쿼럼 장치에 필요한 방화벽에서 포트를 활성화합니다.

    [root@qdevice:~]# firewall-cmd --permanent --add-service=high-availability
    [root@qdevice:~]# firewall-cmd --add-service=high-availability
  3. 기존 클러스터의 노드 중 하나에서 쿼럼 장치를 호스팅하는 노드에서 hacluster 를 인증합니다. 이렇게 하면 클러스터 의 pcs가 qdevice 호스트의 pcs 연결할 수 있지만 qdevice 호스트의 pcs 가 클러스터의 pcs 에 연결하는 것을 허용하지 않습니다.

    [root@node1:~] # pcs host auth qdevice
    Username: hacluster
    Password:
    qdevice: Authorized
  4. 쿼럼 장치를 클러스터에 추가합니다.

    쿼럼 장치를 추가하기 전에 나중에 비교할 수 있도록 쿼럼 장치의 현재 구성 및 상태를 확인할 수 있습니다. 이러한 명령의 출력은 클러스터가 아직 쿼럼 장치를 사용하지 않고 각 노드의 Qdevice 멤버십 상태가 NR (등록되지 않음)임을 나타냅니다.

    [root@node1:~]# pcs quorum config
    Options:
    [root@node1:~]# pcs quorum status
    Quorum information
    ------------------
    Date:             Wed Jun 29 13:15:36 2016
    Quorum provider:  corosync_votequorum
    Nodes:            2
    Node ID:          1
    Ring ID:          1/8272
    Quorate:          Yes
    
    Votequorum information
    ----------------------
    Expected votes:   2
    Highest expected: 2
    Total votes:      2
    Quorum:           1
    Flags:            2Node Quorate
    
    Membership information
    ----------------------
        Nodeid      Votes    Qdevice Name
             1          1         NR node1 (local)
             2          1         NR node2

    다음 명령은 이전에 클러스터에 생성한 쿼럼 장치를 추가합니다. 클러스터에서 두 개 이상의 쿼럼 장치를 동시에 사용할 수 없습니다. 그러나 여러 클러스터에서 동시에 하나의 쿼럼 장치를 사용할 수 있습니다. 이 예제 명령은 ffsplit 알고리즘을 사용하도록 쿼럼 장치를 구성합니다. 쿼럼 장치의 구성 옵션에 대한 자세한 내용은 corosync-qdevice(8) 매뉴얼 페이지를 참조하십시오.

    [root@node1:~]# pcs quorum device add model net host=qdevice algorithm=ffsplit
    Setting up qdevice certificates on nodes...
    node2: Succeeded
    node1: Succeeded
    Enabling corosync-qdevice...
    node1: corosync-qdevice enabled
    node2: corosync-qdevice enabled
    Sending updated corosync.conf to nodes...
    node1: Succeeded
    node2: Succeeded
    Corosync configuration reloaded
    Starting corosync-qdevice...
    node1: corosync-qdevice started
    node2: corosync-qdevice started
  5. 쿼럼 장치의 구성 상태를 확인합니다.

    클러스터 측에서 다음 명령을 실행하여 구성이 변경되었는지 확인할 수 있습니다.

    pcs 쿼럼 구성은 구성된 쿼럼 장치를 표시합니다.

    [root@node1:~]# pcs quorum config
    Options:
    Device:
      Model: net
        algorithm: ffsplit
        host: qdevice

    pcs quorum status 명령은 쿼럼 장치가 사용 중임을 나타내는 쿼럼 런타임 상태를 표시합니다. 각 클러스터 노드의 Qdevice 멤버십 정보 상태 값의 의미는 다음과 같습니다.

    • A/NA - 쿼럼 장치가 활성 상태인지 활성 상태가 아니므로 qdevicecorosync 간에 하트비트가 있는지를 나타냅니다. 쿼럼 장치가 활성 상태임을 항상 나타내야 합니다.
    • V/NV - 쿼럼 장치가 노드에 투표를 지정한 경우 V 가 설정됩니다. 이 예제에서는 두 노드 모두 서로 통신할 수 있으므로 V 로 설정됩니다. 클러스터를 두 개의 단일 노드 클러스터로 분할하면 노드 중 하나가 V 로 설정되고 다른 노드는 NV 로 설정됩니다.
    • MW/NMW - 내부 쿼럼 장치 플래그가 설정되어 있거나 (MW) 설정되지 않았습니다(NMW). 기본적으로 플래그는 설정되지 않으며 값은 NMW 입니다.

      [root@node1:~]# pcs quorum status
      Quorum information
      ------------------
      Date:             Wed Jun 29 13:17:02 2016
      Quorum provider:  corosync_votequorum
      Nodes:            2
      Node ID:          1
      Ring ID:          1/8272
      Quorate:          Yes
      
      Votequorum information
      ----------------------
      Expected votes:   3
      Highest expected: 3
      Total votes:      3
      Quorum:           2
      Flags:            Quorate Qdevice
      
      Membership information
      ----------------------
          Nodeid      Votes    Qdevice Name
               1          1    A,V,NMW node1 (local)
               2          1    A,V,NMW node2
               0          1            Qdevice

      pcs 쿼럼 장치 상태에 쿼럼 장치 런타임 상태가 표시됩니다.

      [root@node1:~]# pcs quorum device status
      Qdevice information
      -------------------
      Model:                  Net
      Node ID:                1
      Configured node list:
          0   Node ID = 1
          1   Node ID = 2
      Membership node list:   1, 2
      
      Qdevice-net information
      ----------------------
      Cluster name:           mycluster
      QNetd host:             qdevice:5403
      Algorithm:              ffsplit
      Tie-breaker:            Node with lowest node ID
      State:                  Connected

      쿼럼 장치 측에서 corosync-qnetd 데몬의 상태를 보여주는 다음 status 명령을 실행할 수 있습니다.

      [root@qdevice:~]# pcs qdevice status net --full
      QNetd address:                  *:5403
      TLS:                            Supported (client certificate required)
      Connected clients:              2
      Connected clusters:             1
      Maximum send/receive size:      32768/32768 bytes
      Cluster "mycluster":
          Algorithm:          ffsplit
          Tie-breaker:        Node with lowest node ID
          Node ID 2:
              Client address:         ::ffff:192.168.122.122:50028
              HB interval:            8000ms
              Configured node list:   1, 2
              Ring ID:                1.2050
              Membership node list:   1, 2
              TLS active:             Yes (client certificate verified)
              Vote:                   ACK (ACK)
          Node ID 1:
              Client address:         ::ffff:192.168.122.121:48786
              HB interval:            8000ms
              Configured node list:   1, 2
              Ring ID:                1.2050
              Membership node list:   1, 2
              TLS active:             Yes (client certificate verified)
              Vote:                   ACK (ACK)