10.6. Poison-pill 펜싱의 타이밍 구성 고려 사항
스토리지 기반 사고(SBD)와 함께 Poison-pill 펜싱을 사용하여 Red Hat 고가용성 클러스터를 배포할 때 시간을 신중하게 구성해야 합니다. 적절한 시간 초과를 통해 장애 시나리오 중에 노드를 안전하게 펜싱하여 클러스터 서비스가 통신하고 안정화될 수 있는 충분한 시간을 허용하면서 분할이라는 상황을 방지할 수 있습니다.
다음은 Poison-pill 펜싱 시나리오의 타이밍 구성에 대한 주요 고려 사항입니다.
SBD_WATCHDOG_TIMEOUT기본값인 5초로 유지합니다. 값이 클수록 클러스터에 일시적인 연결 문제가 발생하지 않고 문제를 해결하는 데 더 많은 시간을 할애할 수 있지만 정당한 실패로부터 복구하는 데 걸리는 시간이 증가합니다. 기본 5초 미만으로 설정하면 클러스터가 지나치게 공격적으로 사용되고 로드가 길거나 짧은 응답하지 않는 동안 불안정해질 수 있으므로 주의해야 합니다.
클러스터에서 QDevice를 사용하는 경우
qdevice-sync_timeout(기본값: 30s)보다 높은SBD_WATCHDOG_TIMEOUT매개변수를 설정합니다. 지연된 쿼럼 업데이트로 인해 분할 상황이 발생하지 않도록 3초에서 5초의 차이를 설정합니다.msgwait시간 제한fence_sbd가 펜싱 작업 완료로 간주되기 전에 Poison-pill 메시지를 작성한 후 대기하는 기간입니다. 워치독 제한 시간이 5초인 경우 이를SBD_WATCHDOG_TIMEOUT의 두 배 값으로 설정합니다(예: 10초).msgwait가 워치독 시간 초과보다 낮게 설정된 경우 대상 노드가 작업을 계속 처리하거나 하드웨어 워치독이 만료되기를 기다리는 동안 클러스터가 펜싱 작업을 조기 선언할 수 있으므로 분할 - Cryostat 시나리오가 생성됩니다.msgwait기간은 다음 세 가지 시나리오를 안전하게 포함하도록 적절하게 조정되어야 합니다.- 대상은 메시지 및 자체 펜싱을 성공적으로 읽습니다. 대상 노드가 여전히 응답하지 않는 의도된 시나리오, 공유 블록 장치에서 Poison-pill 메시지를 읽고, 자체 펜싱을 시작합니다.
- 대상은 디스크에 대한 액세스 권한을 끊습니다. 대상 노드는 여전히 실행 중이지만 적절한 수의 공유 디스크에서 읽을 수 없으므로 이러한 액세스 손실과 자체 적을 인식할 수 있습니다.
대상은 완전히 응답하지 않습니다. 대상 노드는 고정되고 모든 작업을 수행할 수 없습니다. 작업을 실행할 수 없으므로 (하드웨어)-watchdog을 재설정할 수 없으므로 다시 부팅됩니다.
msgwait가 이전 고려 사항에서 파생된 시간 초과보다 낮으면 대상 노드가 여전히 작업을 처리하거나 하드웨어 워치독이 만료될 때까지 기다리는 동안 클러스터에서 펜싱 작업을 성공적으로 선언할 수 있으므로 분할됨 시나리오가 허용됩니다.
pcmk_reboot_timeout(STONITH 수준 타임아웃)이는 "재부팅" 작업 중에 STONITH 장치 자체(
fence_sbd)가 대기하는 기간을 지정하는 시간 제한 중에 클러스터에서 대기합니다.msgwait속성보다 5초 이상 증가하도록 이 값이 발생해야 합니다. 이에 따라 클러스터가 발생하지 않으면msgwait기간이 완전히 소모되기 전에 펜싱 작업을 포기하고 오류를 보고할 수 있습니다.SBD_START_DELAY및 시작 지연시작 시 지연을 설정하면 클러스터가 안정화될 수 있고 모니터링이 시작되기 전에 스토리지 장치가 완전히 온라인 상태가 될 수 있습니다. 또한 펜싱 후에도 빠른 복구 후 클러스터 노드에 일반적인 문제가 있어 성공적인 차단에 대해 여전히 브로드캐스트를 캡처할 수 있습니다. 이로 인해 펜싱 하위 계층 내에서 문제가 발생한 가정 하에 영구적인 오류 상태로 전환됩니다.
-
SBD:
SBD_START_DELAY 증가를 사용하여 이 동작을 완화하여 이전 브로드캐스트가 지워지도록 노드의 재입력 속도가 느려질 수 있습니다. - SBD 없이: SBD 를 사용하지 않는 환경의 경우 동일한 결과를 얻기 위해 장치 파일에 corosync 시작을 직접 지연시키는 힌트가 있습니다.
-
SBD: