Date: 4월 26, 2022
쿼럼/감시를 배포하는 가장 좋은 단일 방법
최근 회의에서 한 고객이 고가용성(HA) 및 쿼럼/증인 실행 가능성의 필요성에 대해 질문했습니다. 그들의 질문은 "정족수/증인을 배치하는 가장 좋은 방법은 무엇입니까?"였습니다. 그들의 질문에 대한 대답은 간단합니다. 쿼럼을 배포하는 가장 좋은 방법은 없습니다.그 이유를 이해하기 위해 감시 리소스, 쿼럼 리소스 및 분할 브레인 시나리오의 세 가지 주요 사항을 정의하는 것으로 시작하겠습니다.
스플릿 브레인이란?
일반 클러스터 환경에서 보호된 애플리케이션은 클러스터의 기본 노드에서 실행됩니다.해당 기본 노드의 애플리케이션 오류가 발생하는 경우 클러스터링 소프트웨어는 애플리케이션 작업을 기본 노드의 역할을 가정하는 보조 또는 원격 노드로 이동합니다. 주어진 시간에 하나의 기본 노드만 있습니다.
스플릿 브레인은 클러스터의 구성원이 서로 통신할 수 없지만 실행 및 작동 가능한 상태에 있으며 이후에 공통 리소스의 소유권을 동시에 가져갈 때 발생하는 상태입니다. 실제로 두 명의 버스 운전사가 운전대를 놓고 싸우고 있습니다.분할 브레인은 파괴적인 특성으로 인해 데이터 손실 또는 데이터 손상을 유발할 수 있으며 클러스터 중재를 위한 펜싱, 쿼럼, 감시 또는 쿼럼/감시 기능을 사용하여 방지하는 것이 가장 좋습니다.
대부분의 클러스터 관리자에서 쿼럼은 다음과 같은 경우에 유지됩니다.
- 모든 서버는 모든 클러스터 피어 및 증인에 대해 동일한 상태를 볼 수 있습니다.
- 모든 서버는 모든 클러스터 피어에 대해 동일한 상태를 볼 수 있지만 증인은 아닙니다.
- 모든 서버는 서로는 아니지만 감시 리소스를 볼 수 있으며 분할 브레인 시나리오를 피할 수 있습니다.
대부분의 클러스터 관리자에서 다음과 같은 경우 쿼럼이 손실됩니다.
- 서버는 모든 클러스터 피어와 감시 서버를 볼 수 없습니다.
- 서버는 감시 서버를 볼 수 있지만 대다수의 클러스터 피어를 볼 수 없습니다.
- 서버는 쿼럼 구성원 및 리소스 액세스를 성공적으로 중재하기 위해 쿼럼 리소스에 액세스하거나 액세스를 유지할 수 없습니다.
감시 리소스(또는 서버)란 무엇입니까?
감시 리소스는 클러스터에 짝수의 구성원이 있는 경우 쿼럼을 달성하고 유지 관리하는 데 사용되는 서버, 네트워크 끝점 또는 장치입니다.클러스터 과반수를 사용하는 홀수의 구성원이 있는 클러스터는 과반수 구성원을 중재하기 위해 클러스터 서버의 모든 구성원으로 감시 리소스를 사용할 필요가 없습니다.
쿼럼 및 쿼럼 리소스란 무엇입니까?
쿼럼 리소스는 클러스터 상태 및 구성원 자격을 중재하는 수단으로 사용되는 리소스(장치, 시스템, 블록 저장소, 파일 저장소, 파일 공유 등)입니다.일부 클러스터 관리자에서 쿼럼은 클러스터 상태 및 클러스터 구성원 결정에 도움이 되거나 필요한 클러스터 내의 리소스입니다.다른 클러스터 관리자에서 쿼럼은 분할 브레인을 방지하기 위한 결정자 역할을 합니다.
쿼럼을 배포하는 여러 가지 방법
쿼럼의 중요한 특성을 감안할 때 HA 아키텍처가 쿼럼/감시 리소스를 적절하게 배포하는 것이 중요합니다. 하나도 없다 , 쿼럼을 배포하는 가장 좋은 방법입니다.증인 및 정족수 자원이 작동하는 방식을 형성할 수 있는 몇 가지 요인이 있습니다.이러한 요인에는 다음이 포함됩니다.
1. 배포가 온프레미스, 클라우드 또는 하이브리드인지 여부
파이버 채널 스토리지, 전원 제어 장치 또는 연결 또는 기존의 stonith 장치와 같은 추가 스토리지 장치가 있는 온프레미스 데이터 센터에 배포하면 클라우드에 없을 수 있는 쿼럼 및 감시 기능에 대한 추가 옵션이 고객에게 제공됩니다.마찬가지로 클라우드 및 하이브리드 환경은 배포할 수 있는 것과 방지하기 위해 배포하는 사용 사례 쿼럼에 차이가 있습니다. 또한 대기 시간 요구 사항과 차이점으로 인해 쿼럼/감시 구성에 사용할 수 있는 장치 및 리소스 유형이 제한될 수 있습니다.
2. 복구 목표
복구 목표는 쿼럼 및 감시 리소스를 설계하고 구성할 때 고려해야 할 중요합니다.2개의 노드 클러스터(노드 A 및 노드 B)의 예에서 노드 A에서 노드 B에 대한 연결이 끊어지면 복구를 위한 가장 높은 우선 순위가 무엇입니까? 감시/쿼럼 리소스가 노드 A와 동일한 네트워크에 있는 경우 노드 A가 온라인 상태로 남아 있지만 클라이언트에서 분리될 수 있는 반면 노드 B는 쿼럼 및 인계를 평가할 수 없습니다.마찬가지로, 쿼럼 장치가 지역, 데이터 센터 또는 노드 B가 있는 네트워크에만 있는 경우 손실이 발생하면 리소스가 없어진 네트워크 또는 센터로 장애 조치되거나 기능 및 작동 기본 노드에서 멀어질 수 있습니다.
3. 인프라 내에서 사용 가능한 데이터 센터(또는 지역)의 이중화
데이터 센터 또는 지역의 이중화도 쿼럼/감시가 있는 HA 토폴로지에서 중요한 요소입니다. 데이터 센터에 두 가지 수준의 중복만 있는 경우 기본 또는 대기 클러스터 노드와 동일한 데이터 센터에 쿼럼/감시 배치 간의 균형을 이해해야 합니다. 데이터 센터에 세 번째 가용 영역 또는 두 번째 지역에 대한 액세스와 같이 두 개 이상의 중복 계층이 있는 경우 이 옵션은 클러스터에 더 높은 수준의 중복성을 제공합니다.
4. 재해 복구 요구 사항
실제 재해 복구 요구 사항을 이해하는 것도 설계의 주요 요소입니다. 클러스터 관리자 소프트웨어에서 전체 데이터 센터 중단(또는 지역 장애)을 복구하기 위해 쿼럼/감시 액세스가 필요한 경우 설계에 대한 이러한 영향을 이해해야 합니다.많은 고가용성 소프트웨어 패키지에는 이 시나리오를 위한 도구 또는 방법이 있지만 소프트웨어에 없는 경우 쿼럼/감시를 설계하고 배치하여 이러한 현실을 수용해야 할 수 있습니다.
5. 클러스터 내의 구성원 수 및 위치
클러스터에 홀수개의 노드가 포함된 경우 일반적으로 추가 쿼럼/감시 서버가 필요하지 않습니다.그러나 클러스터에서 두 개의 노드만 사용하거나 항상 사용할 수 없는 DR 노드를 배포하는 경우 아키텍처가 변경될 수 있습니다.고객 경험 담당 부사장으로서 저는 3개의 노드 아키텍처를 배포한 고객과 함께 작업했지만 비용 절감을 위해 세 번째 서버의 주기적 종료를 자동화했습니다.
6. 운영 체제 및 클러스터 관리자
쿼럼/감시에서 언급할 마지막 요소는 클러스터 관리자와 운영 체제입니다.쿼럼/감시 배포 또는 쿼럼 상태 중재와 관련하여 모든 HA 소프트웨어 및 클러스터 관리자가 동일하지는 않습니다.일부 클러스터링 소프트웨어에는 중재를 위해 공유 디스크가 필요하고 다른 소프트웨어는 공유를 허용하는 더 유연합니다(NFS, SMB, EFS, Azure Files 및 S3).클러스터 관리자가 요구하는 사항과 쿼럼과 관련하여 지원하는 모드(단순 과반수, 감시, 파일 공유 등)를 알고 있으면 배포 대상뿐만 아니라 배포 방법에도 영향을 미칩니다.
쿼럼/감시 서버를 배포하는 가장 좋은 방법은 쿼럼/감시 및 사용 가능한 옵션에 대한 공급업체의 정의를 이해하고, 요구 사항을 파악하고, 데이터 센터(또는 클라우드 환경)에서 제공하는 제한 사항이나 기회를 고려하고, 솔루션을 설계하는 것입니다. 스플릿 브레인(split-brain), 잘못된 장애 조치(failover) 및 다운타임에 대한 최고 수준의 보호를 중요한 시스템에 제공합니다.
-Cassius Rhue, VP, 고객 경험