레드햇 PCS fencing은 레드햇 고가용성 (HA) 클러스터링 기능으로, 응답하지 않는 노드를 클러스터에서 안전하게 제거하여 데이터 손실 또는 보안 침해를 방지합니다. 노드가 응답하지 않게 되면 하드웨어 및 소프트웨어 fencing 에이전트의 조합을 사용하여 클러스터에서 격리됩니다. 이러한 에이전트는 노드를 전원 차단, 네트워크 트래픽 차단 또는 공유 데이터에 액세스하지 못하도록 하는 기타 조치를 수행하도록 구성할 수 있습니다.
PCS fencing은 다음과 같은 기존 STONITH(Shoot The Other Node In The Head) 기술보다 몇 가지 장점을 제공합니다.
- 향상된 안전성: PCS 펜싱은 클러스터의 다른 노드를 방해하지 않고 응답하지 않는 노드를 안전하게 제거하도록 설계되었습니다.
- 더욱 유연성: PCS 펜싱은 전원 제어 에이전트, 네트워크 제어 에이전트, SCSI 예약 에이전트 등 다양한 펜싱 에이전트를 지원합니다. 이러한 유연성은 관리자가 특정 환경에 가장 적합한 펜싱 에이전트를 선택할 수 있도록 합니다.
- 향상된 확장성: PCS 펜싱은 수백 개의 노드가 있는 대규모 복잡한 클러스터를 펜싱하는 데 사용할 수 있습니다.
- 간소화된 관리: PCS 펜싱은 pcs 명령줄 도구를 사용하여 구성하고 관리하기 쉽습니다.
PCS fencing을 구성하려면 다음 단계를 수행해야 합니다.
- 클러스터의 모든 노드에 Pacemaker 및 PCS를 설치합니다.
- 각 노드에 펜싱 장치를 구성합니다. fencing 장치는 전원 제어 장치(PDU)와 같은 하드웨어 장치 또는 네트워크 제어 에이전트와 같은 소프트웨어 장치일 수 있습니다.
- 클러스터에 펜싱 정책을 구성합니다. fencing 정책은 응답하지 않는 노드를 펜싱하는 데 사용할 펜싱 장치의 순서를 지정합니다.
- PCS fencing 구성을 테스트합니다. 이는 응답하지 않는 노드를 시뮬레이션하고 펜싱 에이전트가 클러스터에서 안전하게 제거할 수 있는지 확인하여 수행할 수 있습니다.
PCS fencing을 구성하면 클러스터의 모든 응답하지 않는 노드가 자동으로 fencing됩니다. 이렇게 하면 데이터 손실 및 보안 침해를 방지하고 클러스터가 고가용성을 유지하도록 도와줍니다.
PCS fencing을 사용할 수 있는 몇 가지 예는 다음과 같습니다.
- 데이터베이스 클러스터링: PCS fencing은 데이터베이스 클러스터의 응답하지 않는 노드를 fencing하는 데 사용할 수 있습니다. 이렇게 하면 응답하지 않는 노드가 공유 데이터베이스에 액세스하지 못하도록 방지하여 데이터 손상 또는 손실을 방지할 수 있습니다.
- 파일 공유 클러스터링: PCS fencing은 파일 공유 클러스터의 응답하지 않는 노드를 fencing하는 데 사용할 수 있습니다. 이렇게 하면 응답하지 않는 노드가 공유 파일에 액세스하지 못하도록 방지하여 데이터 손상 또는 손실을 방지할 수 있습니다.
- 애플리케이션 서버 클러스터링: PCS fencing은 애플리케이션 서버 클러스터의 응답하지 않는 노드를 fencing하는 데 사용할 수 있습니다. 이렇게 하면 응답하지 않는 노드가 요청을 처리하지 못하도록 방지하여 애플리케이션 다운타임을 방지할 수 있습니다.
PCS(Pacemaker Configuration System)를 사용하여 Fencing(클러스터 내의 노드 간 안전한 강제 종료)을 구성하고 확인하는 방법은 다음과 같습니다:
Cluster PCS fencing 구성
- STONITH 장치 설정:
- STONITH(STorage Area Network STHorcut)는 클러스터 노드 간의 안전한 강제 종료를 담당하는 장치입니다.
- STONITH 장치를 설정하기 전에 HA (High Availability) 클러스터에서 사용 가능한 Fencing 장치의 종류를 확인합니다.
- STONITH 장치 추가:
- STONITH 장치를 추가하려면
pcs stonith create
명령어를 사용합니다.
sudo pcs stonith create stonith이름 fence_agent 노드 hostname ip 주소 ipmi 등
- 클러스터에 STONITH 장치 추가:
- STONITH 장치를 클러스터에 추가합니다.
sudo pcs property set stonith-enabled=true
Cluster PCS fencing 구성 확인
- Fencing 상태 확인:
- 현재의 Fencing 상태를 확인합니다.
sudo pcs status
- Fencing 리소스 확인:
- 현재 구성된 Fencing 리소스를 확인합니다.
sudo pcs stonith show
- Fencing 이벤트 확인:
- Fencing과 관련된 이벤트를 확인할 수 있습니다.
sudo pcs stonith history
- Fencing 시뮬레이션 (테스트):
- STONITH 리소스의 동작을 시뮬레이션하여 어떻게 동작하는지 확인할 수 있습니다.
sudo pcs stonith fence 노드이름
주의: Fencing은 클러스터의 안전성을 유지하기 위해 중요합니다. 올바른 STONITH 구성 및 테스트는 실제 운영 환경에서 문제가 발생하는 것을 방지하는 데 도움이 됩니다. 구체적인 설정은 사용하는 Fencing 에이전트 및 클러스터 구성에 따라 다를 수 있으므로 관련 문서를 참조하는 것이 좋습니다.