28.2. 쿼럼 장치 구성
쿼럼 장치를 구성하고 클러스터에 추가할 수 있습니다.
이 예제에서는 다음을 수행합니다.
-
쿼럼 장치에 사용되는 노드는
qdevice입니다. 쿼럼 장치 모델은 현재 지원되는 유일한 모델인
net입니다.네트워크모델은 다음 알고리즘을 지원합니다.-
FFsplit: fifty-fifty 분할. 이렇게 하면 활성 노드가 가장 많은 파티션에 정확히 하나의 투표를 제공합니다. LMS: last-man-standing. 노드가qnetd서버를 볼 수 있는 클러스터에 남아 있는 유일한 노드인 경우 투표가 반환됩니다.주의LMS 알고리즘을 사용하면 남은 노드가 하나만 있는 경우에도 클러스터가 정족수를 유지할 수 있지만, number_of_nodes - 1과 동일하기 때문에 쿼럼 장치의 투표 성능이 좋습니다. 쿼럼 장치와의 연결 손실은 number_of_nodes - 1 투표를 손실한다는 것을 의미합니다. 즉, 활성 상태인 모든 노드가 있는 클러스터만 정족수로 유지될 수 있습니다( 쿼럼 장치를 초과하여). 다른 클러스터가 조회되지 않게 됩니다.
이러한 알고리즘 구현에 대한 자세한 내용은 시스템의
corosync-qdevice(8) 매뉴얼 페이지를 참조하십시오.
-
-
클러스터 노드는
node1및node2입니다.
프로세스
쿼럼 장치를 호스팅하는 데 사용할 노드에서 다음 명령을 사용하여 쿼럼 장치를 구성합니다. 이 명령은 쿼럼 장치 모델
net을 구성 및 시작하고 부팅 시 시작되도록 장치를 구성합니다.[root@qdevice:~]# pcs qdevice setup model net --enable --startQuorum device 'net' initialized quorum device enabled Starting quorum device... quorum device started쿼럼 장치를 구성한 후 해당 상태를 확인할 수 있습니다. 그러면
corosync-qnetd데몬이 실행 중이고 이 시점에 연결된 클라이언트가 없다는 내용이 표시됩니다.--fullcommand 옵션은 자세한 출력을 제공합니다.[root@qdevice:~]# pcs qdevice status net --fullQNetd address: *:5403 TLS: Supported (client certificate required) Connected clients: 0 Connected clusters: 0 Maximum send/receive size: 32768/32768 bytes다음 명령을 사용하여
firewalld에서고가용성서비스를 활성화하여pcsd데몬 및net쿼럼 장치에 필요한 방화벽에서 포트를 활성화합니다.[root@qdevice:~]# firewall-cmd --permanent --add-service=high-availability [root@qdevice:~]# firewall-cmd --add-service=high-availability기존 클러스터의 노드 중 하나에서 쿼럼 장치를 호스팅하는 노드에서 사용자
hacluster를 인증합니다. 이렇게 하면 클러스터의pcs가qdevice호스트의pcs에 연결할 수 있지만qdevice호스트의pcs는 클러스터의pcs에 연결할 수 없습니다.[root@node1:~] # pcs host auth qdeviceUsername: hacluster Password: qdevice: Authorized클러스터에 쿼럼 장치를 추가합니다.
쿼럼 장치를 추가하기 전에 나중에 비교할 수 있도록 현재 쿼럼 장치의 현재 구성과 상태를 확인할 수 있습니다. 이러한 명령의 출력은 클러스터가 아직 쿼럼 장치를 사용하지 않음을 나타내며 각 노드의
Qdevice멤버십 상태는NR(등록되지 않음)입니다.[root@node1:~]# pcs quorum configOptions:[root@node1:~]# pcs quorum statusQuorum 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=ffsplitSetting 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쿼럼 장치의 구성 상태를 확인합니다.
클러스터 측에서 다음 명령을 실행하여 구성이 어떻게 변경되었는지 확인할 수 있습니다.
pcs quorum config에는 구성된 쿼럼 장치가 표시됩니다.[root@node1:~]# pcs quorum configOptions: Device: Model: net algorithm: ffsplit host: qdevicepcs quorum status명령은 쿼럼 장치가 사용 중임을 나타내는 쿼럼 런타임 상태를 표시합니다. 각 클러스터 노드에 대한Qdevice멤버십 정보 상태 값의 의미는 다음과 같습니다.-
A/NA- 쿼럼 장치는 활성 상태이거나 활성 상태가 되어qdevice와corosync사이에 하트비트가 있는지 여부를 나타냅니다. 이는 항상 쿼럼 장치가 활성 상태임을 나타냅니다. -
V/NV- 쿼럼 장치에 노드에 대한 투표가 지정되면V가 설정됩니다. 이 예에서는 서로 통신할 수 있으므로 두 노드 모두V로 설정됩니다. 클러스터가 두 개의 단일 노드 클러스터로 분할되는 경우 노드 중 하나가V로 설정되고 다른 노드는NV로 설정됩니다. MW/NMW- 내부 쿼럼 장치 플래그가 설정(MW)되거나 설정되지 않음(NMW)입니다. 기본적으로 플래그는 설정되지 않으며 값은NMW입니다.[root@node1:~]# pcs quorum statusQuorum 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 Qdevicepcs quorum 장치 상태는쿼럼 장치 런타임 상태를 표시합니다.[root@node1:~]# pcs quorum device statusQdevice 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 --fullQNetd 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)
-