27.2. 쿼럼 장치 구성
쿼럼 장치를 구성하고 다음 절차에 따라 클러스터에 추가합니다.
이 예제에서는 다음을 수행합니다.
-
쿼럼 장치에 사용되는 노드는
qdevice
입니다. 쿼럼 장치 모델은 현재 지원되는 유일한 모델인
net
입니다.net
모델은 다음과 같은 알고리즘을 지원합니다.-
FFsplit
: 50fifty 분할. 이는 활성 노드 수가 가장 많은 파티션에 정확히 하나의 투표를 제공합니다. LMS
: 마지막.qnetd
서버를 볼 수 있는 클러스터에 남은 노드가 유일한 경우 투표를 반환합니다.주의LMS 알고리즘을 사용하면 클러스터가 남아 있는 노드만으로도 정족수를 유지할 수 있지만, 이는 또한 number_of_nodes - 1과 동일하기 때문에 쿼럼 장치의 투표 전력이 뛰어나다는 의미이기도 합니다. 쿼럼 장치와 연결이 끊어지면 number_of_nodes - 1 투표가 손실됨을 의미합니다. 즉, 모든 노드가 활성 상태인 클러스터만 정족수에 달할 수 있습니다(쿼럼 장치를 재정의하여) 다른 모든 클러스터는 정족수에 달하지 않게 됩니다.
이러한 알고리즘 구현에 대한 자세한 내용은
corosync-qdevice
(8) 매뉴얼 페이지를 참조하십시오.
-
-
클러스터 노드는
node1
및node2
입니다.
절차
쿼럼 장치를 호스팅하는 데 사용할 노드에서 다음 명령으로 쿼럼 장치를 구성합니다. 이 명령은 쿼럼 장치 모델
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
다음 명령으로
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 qdevice Username: hacluster Password: qdevice: Authorized
쿼럼 장치를 클러스터에 추가합니다.
쿼럼 장치를 추가하기 전에 나중에 비교할 수 있도록 쿼럼 장치의 현재 구성 및 상태를 확인할 수 있습니다. 이러한 명령의 출력은 클러스터가 아직 쿼럼 장치를 사용하지 않고 각 노드의
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
쿼럼 장치의 구성 상태를 확인합니다.
클러스터 측에서 다음 명령을 실행하여 구성이 변경되었는지 확인할 수 있습니다.
pcs 쿼럼
구성은 구성된 쿼럼 장치를 표시합니다.[root@node1:~]# pcs quorum config Options: Device: Model: net algorithm: ffsplit host: qdevice
pcs quorum status
명령은 쿼럼 장치가 사용 중임을 나타내는 쿼럼 런타임 상태를 표시합니다. 각 클러스터 노드의Qdevice
멤버십 정보 상태 값의 의미는 다음과 같습니다.-
A/NA
- 쿼럼 장치가 활성 상태인지 활성 상태가 아니므로qdevice
와corosync
간에 하트비트가 있는지를 나타냅니다. 쿼럼 장치가 활성 상태임을 항상 나타내야 합니다. -
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)
-