TOPIC/DB

[MSSQL Server Always ON 가용성 그룹 구성 on Azure VMs] #02 Failover Cluster 구성

admin_cloud 2024. 3. 21. 16:29

안녕하세요. TAK 입니다:)

 

일교차가 큰 요즘.. 다들 잘 지내고 계신가요? 감기 조심하세요!😷

이어지는 포스팅인 만큼 흐름을 이어가고자 빠르게? 다시 찾아왔습니다👻

 

(저만의 초기 감기 꿀팁을 드리자면,,

저는 약국 판콜 + 비타민 C + 홍삼꿀물 + 약간의 유산소 + 수면

으로 초기 감기를 이겨내곤 한합니다... 하루 정도 나의 건강을 위해 빠르게 회복하는 방법이니 참고..해주세용💪)

 

이번에는 본격적으로 고가용성을 위한 기본 전제조건인 "#02 Failover Cluster 구성"에 관한 내용을 다룹니다.

 

#01에서 진행한 초기 구성은 계속되는 구축 과정에서 필수적인 환경으로 아래 링크를 참고하여 함께 팔로잉 해주세요!

 

[MSSQL Server Always ON 가용성 그룹 구성 on Azure VMs] #01 용어 정리 및 구성도 공유 그리고 AD 구축

안녕하세요. TAK 입니다:) 🌱봄이 부쩍 가까워진 3월에 다시 인사드립니다(^꾸_벅^)🌱 회사 업무로 Azure VM 기반 MSSQL FCI 구성한 적이 있는데.. 이후에 Always ON 가용성 그룹 구성이 자꾸 아른?..거려

with-cloud.tistory.com

 

!!그럼 힘차게 시작하겠습니다!!


Contents

    1. Failover Cluster 환경 및 생성 작업

    현 구성의 총 3대의 SQL Server 전체 대상으로 1-2 Failover Cluster 설치 단계까지 동일하게 진행하면 됩니다!

    1-1. 방화벽 설정

    : SQL Server 와 고가용성을 위한 구성에서 통신을 위해 다음과 같이 방화벽 Port를 Open 합니다.

     - SQL Server: 기본 인스턴스의 경우 1433
     - 데이터베이스 미러 엔드포인트: 5022 또는 사용 가능한 모든 포트
     - 가용성 그룹에 대한 부하 분산 장치 IP 주소 상태 프로브: 59999 또는 사용 가능한 모든 포트
     - 클러스터 코어에 대한 부하 분산 장치 IP 주소 상태 프로브: 58888 또는 사용 가능한 포트

     

    • Windows Defender Firewall with Advanced Security(Inbound Rules)

     

    • 마우스 오른쪽 버튼 클릭 후, [New Rule…] 선택

     

    • 위 단계에서 지정한 값(Inbound Rule)에 대한 명명

     

    1-2. Failover Cluster 설치

    • Add roles and features

     

    • feaures 값만 설정하면 되기에, 앞 과정은 모두 기본값으로 설정

     

    • 설치 완료 후, 재부팅
      • 다음 명령어 통해서 Failver Cluster Manager 확인

     

    1-2-1. Validate Configuration

    • Failver Cluster Manager 확인 후, [Validate Configuration] 작업
      • 실제 클러스터 구성 전, 확인 작업을 위하여 진행

     

    • Domain(tak2on.com) Join 된 SQL Server(Computer) 목록 찾기

     

    • 클러스터 구성 테스트 실행

     

    • 유효 확인(Vaildated) 작업 완료

     

    1-2-2. Create Cluster

     

    • 1-2-1 과정과 동일하게 Domain(tak2on.com)에 Join 된 SQL Server 선택

     

    • 클러스터 이름 지정
      • 네이밍 룰(15 characters limit) 확인

     

    • 클러스터링 정상 확인
      • 선택한 SQL Server가 Nodes 목록에 정상 등록 및 Status(Up) 확인

     

    2. Quorum 

    : Quorum(쿼럼) 이란, HA(고가용성) 을 위해 사용되는 장치로 분산 시스템에서 일관된 동작과 안정성을 유지하기 위해 사용되는 개념입니다. 다수결(일반적으로 투표라 하며 다수결에 의해 Active Node를 결정)을 통해 시스템의 상태를 결정하고 조정함으로써 분산 시스템의 안정성을 보장합니다.

     

    출처 : https://learn.microsoft.com/en-us/windows-server/failover-clustering/media/deploy-a-cloud-witness-for-a-failover-cluster/cloudwitness_2.png

     

    즉, 다음과 같은 이유로 구성이 필수적입니다.


     - 고가용성과 장애 복구 : 분산 시스템에서 노드 간의 통신이 중단되는 경우, 시스템이 계속해서 정상적으로 작동하려면 여전히 다수의 노드가 동작해야 합니다. 쿼럼은 이러한 상황에서도 시스템이 올바르게 작동할 수 있도록 보장합니다.

     - 일관성 유지 : 분산 시스템에서 여러 노드가 데이터를 공유하고 처리할 때, 일관된 상태를 유지하기 위해 쿼럼이 사용됩니다. 데이터의 일관성을 보장하기 위해서는 다수의 노드가 동일한 상태를 동의해야 합니다.

     - 스플릿 브레인(Split-brain) 문제 방지(해결) : 스플릿 브레인은 네트워크 분할로 인해 클러스터가 두 그룹으로 분리되는 상황을 말합니다. 이때 쿼럼을 사용하면 두 그룹 중 하나만이 시스템을 제어하도록 하여 데이터의 일관성과 안정성을 유지할 수 있습니다.

    현 구성은 Single Quorum 으로 비교적 작은 규모의 환경에서 사용되는 경우에 적합합니다. (의존성이 높음.)

     

    2-1. Quorum 설정

    • [클러스터 명] - [More Actions] - [Configure Cluster Quorum Settings] 

     

    • Quorum Witness 옵션 중, Azure Storage Account(Blob)을 Quorum으로 사용하기 위해 [Cloud witness] 선택
      • 현 구성에서는 Private Link - Private Endpoint 구성을 통해 Private 구성된 상태

     

    2-2. Quorum 구성 확인

     

    • 연결한 Azure Storage Account(blob) - Container에서 정상 연결되었다면, [msft-cloud-witness] 컨테이너를 확인할 수 있습니다.

     

    • 이후, 보다 원활한 사용과 통신을 위해 IE 보안 강화 구성 해제
      • 모든 서버 대상

     

    마지막으로 여기서!!!!!

    작업 단계를 정리하자면, 다음과 같습니다.

    - 현 구성에서는 총 3대의 SQL Server가 있으므로 대상 서버 모두 Failover Cluster 설치 단계까지 동일하게 진행
    - Clustering 구성은 1대의 서버에서만 정상적으로 구성이 되었다면, 1-2-1 과정 이후에 대해 반복하여 진행할 필요 없으며, 각 서버의 Failover Cluster Manager에서 확인 가능

     


     

    지금까지 "SQL Server Always On 가용성 그룹 on Azure"에서 고가용성을 위해 중요한 Failover Cluster 구성에 대해서 알아보았습니다!

    다음 포스팅에서는 SQL Server의 SQL구성 그리고 Always On 가용성 그룹 구성까지 알아보겠습니다.(!!많관부!!)

     
    이번 포스팅에서 부족한 점, 궁금한 점 등 자유로운 의견을 남겨주세요!

    728x90
    320x100
    SMALL