소프트웨어 에뮬레이션 워치독의 알려진 제한 사항
개요
예를 들어 스토리지 기반 펜싱( fence_sbd
)이 있는 Red Hat Enterprise Linux(RHEL) 고가용성 클러스터에서는 워치독 (Watchdog)을 활성화하는 것이 좋습니다. 이 워치독은 펜싱되는 노드가 스스로 재부팅할 수 있도록 보장하여 리소스가 한 번에 두 개 이상의 노드에서 실행되는 것을 방지하고 데이터 무결성 문제를 일으킬 수 있습니다.
SBD가 사용하는 이 워치독 타이머 장치는 softdog
드라이버처럼 소프트웨어로 에뮬레이션할 수 없습니다. 이러한 프로그램은 커널이 제공하는 제한 사항과 사용 가능한 리소스 내에서 작동하므로 운영 체제가 제대로 작동하지 않거나 리소스가 부족한 경우 필요한 재부팅 작업을 수행하지 못할 수 있습니다. 이로 인해 클러스터의 다른 노드가 해당 노드가 펜싱되어 재부팅되었다고 가정할 수 있지만 실제로는 그렇지 않아 클러스터 상태가 일관되지 않거나 데이터가 손실될 가능성이 있습니다.
이 문서에서는 특정 설치 환경에서 이러한 구성의 위험이 허용되는지 여부를 최종 사용자가 평가할 수 있도록, 해당 구성에 대해 강력히 권장되지 않는 알려진 제한 사항과 구성에 대해 설명합니다.
알려진 문제
소프트웨어 잠금
노드에서 소프트웨어 에뮬레이션 워치독을 사용하면 펜스 이벤트가 발생할 경우 자체 재부팅 작업이 노드의 다른 모든 프로세스와 동일한 환경에서 실행됩니다. 소프트웨어 잠금이 발생하거나 시스템 리소스가 부족한 경우, 커널은 어떠한 프로세스도 예약할 수 없게 되어 더 이상 자체 재부팅을 실행할 수 없습니다.
가상화된 플랫폼
클러스터 노드가 하이퍼바이저에서 가상 머신으로 실행되는 경우 라이브 마이그레이션이나 활동 일시 중단/재개 등 의 영향을 받을 수 있습니다. 게스트 OS는 라이브 마이그레이션 활동이 언제, 얼마나 자주 발생하는지 제어할 수 없습니다. 그러나 이러한 활동(라이브 마이그레이션 준비 후) 동안에는 라이브 마이그레이션을 완료하고 다른 하이퍼바이저에서 작업을 계속하기 위해 게스트 OS가 일시적으로 중단됩니다. 라이브 마이그레이션 중에 펜스 이벤트가 발생하면 소프트웨어 워치독이 일시적인 중단의 영향을 받아 자체 펜싱을 완료하고 재부팅을 실행하지 못할 수 있습니다.
특히 민감한 워크로드
공유 데이터 액세스
클러스터 노드가 Resilient Storage(GFS2, SMB/CIFS)에 액세스할 수 있는 설정에서는 모든 클러스터 노드의 일관된 상태를 보장하는 것이 특히 중요합니다. 위에서 언급한 상황들 중 하나(이에 국한되지 않음)에서 클러스터 노드가 펜싱(fence) 이벤트 이후 자체적으로 재부팅할 수 없는 경우, 이미 실행 중이던 프로세스가 공유 스토리지에 계속해서 데이터를 쓸 수 있습니다. 이 경우 클러스터 내의 다른 노드는 특정 노드가 펜싱되었다고 신뢰하며, 따라서 해당 노드의 프로세스는 더 이상 실행되지 않고 공유 스토리지에 데이터를 쓰지 않습니다. 재부팅에 실패한 경우에도 해당 프로세스가 공유 스토리지에 계속 쓸 수 있는 경우 데이터 불일치나 데이터 손실이 발생할 수 있습니다. 이 상황은 SCSI 펜싱이 구성되어 펜싱된 노드가 공유 스토리지에 쓰는 것을 강제로 방지하는 등 다른 공유 스토리지와는 다릅니다.
미션 크리티컬 워크로드
언급된 시나리오로 인해 Red Hat은 프로덕션이나 미션 크리티컬 워크로드에서 Fence SBD와 함께 소프트웨어 에뮬레이션 워치독을 사용하는 것을 권장하지 않습니다. Red Hat Enterprise Linux 고가용성 클러스터는 클러스터의 가용성과 데이터 무결성에 영향을 미치는 외부 이벤트의 위험을 최소화하도록 설계되어야 합니다. 하드웨어 워치독이나 기타 펜싱 메커니즘과 달리 소프트웨어 에뮬레이션 워치독은 신뢰성이 떨어지고 가용성과 데이터 무결성에 영향을 미칠 가능성이 높습니다.
Comments