crm-fence-peer 스크립트를 사용한 분할 브레인 복구

crm-fence-peer 스크립트를 사용한 분할 브레인 복구

및 스크립트를 사용하여 두 노드에 crm-fence-peer.9.shDRBD 리소스 수준 보호를 구현했습니다 .crm-unfence-peer.9.sh

여기에 이미지 설명을 입력하세요.

이제 랩 노드에서 다음과 같은 동작이 발생합니다.

  • 두 노드 모두 온라인 상태 otrs1입니다 .otrs2

  • 리소스가 실행 중입니다.otrs1

  • drbdadm status otrs1주요 역할을 하는 것과 otrs2작은 역할을 하는 것에 따라

여기에 이미지 설명을 입력하세요.

이제 재부팅하면 다음 메시지가 나타납니다 otrs1.otrs2

여기에 이미지 설명을 입력하세요.

리소스가 다음으로 이동된 것을 확인할 수 있습니다 otrs2.

여기에 이미지 설명을 입력하세요.

생성된 위치 제약 조건을 볼 수 있습니다. 여기에 이미지 설명을 입력하세요.

복제 링크가 다시 작동하고 DRBD가 동기화 프로세스를 완료하면 제약 조건이 제거됩니다. 이제 클러스터 관리자가 리소스를 자유롭게 승격할 수 있습니다. 실제로 이제 제약 조건이 제거되었습니다.

여기에 이미지 설명을 입력하세요.

otrs2그러나 (현재 활성 노드)에서 NIC를 비활성화하면 분할 두뇌가 발생하는 것을 볼 수 있습니다.

여기에 이미지 설명을 입력하세요.

분명히 이것은 분할 두뇌 시나리오입니다. 왜 그럴까요? 때문에

crm-fence-peer 스크립트의 경우 DRBD에 대한 네트워크 링크가 중단될 때 Pacemakers 통신을 계속 사용할 수 있어야 합니다.

원천https://docs.linbit.com/docs/users-guide-9.0/#s-automatic-split-brain-recovery-configuration

답변1

옳은. 이는 다음과 같은 이유 때문일 가능성이 높습니다.

crm-fence-peer 스크립트의 경우 DRBD에 대한 네트워크 링크가 중단될 때 Pacemakers 통신을 계속 사용할 수 있어야 합니다.

NIC/네트워크 링크가 하나만 있다고 가정합니다. 따라서 NIC를 제거하면 Pacemaker 클러스터가 분할됩니다. 클러스터 노드는 더 이상 전혀 통신할 수 없으므로 현재 마스터는 피어와 통신할 수 없기 때문에 피어의 CIB에 제약 조건을 적용할 수 없습니다.

이 시나리오에서 분할 브레인을 방지하려면 진정한 노드 수준 보호(STONITH) 또는 Corosync에 대한 최소한 여러 통신 경로가 필요합니다.

관련 정보