Date: 2월 28, 2023
Azure VM의 SQL Server에 대한 고가용성 옵션
Microsoft Azure 인프라는 애플리케이션 및 데이터에 대한 고가용성을 제공하도록 설계되었습니다. Azure는 가용성 영역, 연결된 지역, 중복 스토리지, 대기 시간이 짧은 고속 네트워크 연결을 포함하여 고가용성을 달성하기 위한 다양한 인프라 옵션을 제공합니다. 이러한 모든 서비스는 비즈니스 크리티컬 애플리케이션의 가용성을 보장하기 위해 서비스 수준 계약(SLA)의 지원을 받습니다. 이 블로그 게시물은 Azure Virtual Machines에서 SQL Server를 실행할 때의 고가용성 옵션에 중점을 둘 것입니다.
Azure 인프라
SQL Server의 고가용성 옵션으로 이동하기 전에 반드시 준비해야 하는 중요한 인프라에 대해 논의해 보겠습니다. 가용성 영역, 지역 및 쌍을 이루는 지역은 Azure 인프라에서 계획할 때 이해해야 하는 중요한 개념입니다. 애플리케이션 및 데이터의 고가용성 .
가용 영역은 중복 전원, 냉각 및 네트워킹을 제공하는 지역 내에서 물리적으로 분리된 위치입니다. 각 가용 영역은 하나 이상의 데이터 센터로 구성됩니다. 리소스를 서로 다른 가용 영역에 배치하면 계획되거나 계획되지 않은 유지 관리, 하드웨어 장애 또는 자연 재해로 인한 중단으로부터 애플리케이션과 데이터를 보호할 수 있습니다. SQL Server 배포에 가용 영역을 활용하면 99.99% 가용성 SLA 가상 머신용.
지역은 Azure 서비스를 사용할 수 있는 지리적 위치입니다. Azure는 현재 전 세계적으로 60개 이상의 지역을 보유하고 있으며 각 지역에는 여러 가용성 영역이 있습니다. 리소스를 다른 지역에 배치하면 자연 재해 또는 기타 중요한 사건으로 인한 중단에 대해 훨씬 더 강력한 보호를 제공할 수 있습니다.
페어링된 지역 고유한 관계가 있는 미리 정의된 지역 쌍입니다. 특히 지역 중복 스토리지가 사용 중일 때 페어링된 리전은 데이터를 서로 복제합니다. 쌍을 이루는 지역의 다른 이점은 지역 복구 시퀀스, 순차 업데이트, 물리적 격리 및 데이터 상주입니다. 재해 복구 계획을 설계할 때 기본 및 재해 복구 위치에 페어링된 지역을 사용하는 것이 좋습니다.
가용성 그룹 및 장애 조치 클러스터 인스턴스와 같은 고가용성 옵션과 함께 가용성 영역 및 페어링된 지역을 사용하면 광범위한 장애를 견딜 수 있는 가용성이 높고 탄력적인 SQL Server 배포를 생성하여 가동 중지 시간을 최소화할 수 있습니다.
SQL Server 가용성 그룹 및 장애 조치 클러스터 인스턴스
SQL Server AG(가용성 그룹) 및 SQL Server FCI(장애 조치 클러스터 인스턴스)는 모두 SQL Server용 고가용성(HA) 및 재해 복구(DR) 솔루션이지만 서로 다른 방식으로 작동합니다.
AG는 장애 발생 시 데이터베이스를 항상 사용할 수 있도록 여러 서버(복제본이라고 함)에 걸쳐 데이터베이스를 복제하여 HA 솔루션을 제공하는 SQL Server Enterprise 버전의 기능입니다. AG는 단일 데이터베이스와 여러 데이터베이스 모두에 대해 HA를 제공하는 데 사용할 수 있습니다.
SQL Server Standard Edition은 Basic AG라는 것을 지원합니다. SQL Server의 기본 AG에는 몇 가지 제한 사항이 있습니다. 첫째, 기본 AG는 단일 데이터베이스만 지원합니다. 둘 이상의 데이터베이스가 있는 경우 각 데이터베이스에 대한 AG와 연결된 IP 주소 및 부하 분산 장치가 필요합니다. 또한 기본 AG는 읽기 전용 복제본을 지원하지 않습니다. 기본 AG는 단일 데이터베이스에 대해 HA를 구현하는 간단한 방법을 제공하지만 보다 복잡한 시나리오에는 적합하지 않을 수 있습니다.
반면 SQL Server FCI는 공유 저장소를 사용하는 여러 서버(노드라고 함)의 클러스터를 만들어 HA 솔루션을 제공하는 WSFC(Windows Server Failover Cluster)입니다. 오류가 발생하면 한 노드에서 실행 중인 SQL Server 인스턴스가 다른 노드로 장애 조치될 수 있습니다.
SQL Server 2022 Enterprise Edition에서 새로운 CAG(Contained Availability Groups)는 사용자가 CAG에 대한 시스템 데이터베이스를 생성한 다음 복제할 수 있도록 하여 일부 AG 제한 사항을 해결합니다. CAG는 SQL 로그인 및 SQL 에이전트 작업과 같은 항목을 수동으로 동기화할 필요가 없습니다.
가용성 그룹과 장애 조치 클러스터 인스턴스에는 고유한 장단점이 있습니다. AG에는 읽기 가능한 보조, 동기 및 비동기 복제와 같은 고급 기능이 있습니다. 그러나 AG에는 특히 다른 Enterprise Edition 기능이 필요하지 않은 경우 비용이 많이 드는 SQL Server의 Enterprise Edition이 필요합니다.
FCI는 모든 사용자 정의 데이터베이스 및 시스템 데이터베이스를 포함하여 전체 SQL Server 인스턴스를 보호합니다. SQL Server 에이전트 작업, 사용자 계정 및 암호, 데이터베이스 추가 및 삭제를 포함한 모든 변경 사항이 CAG가 포함된 SQL 2022뿐만 아니라 모든 버전의 SQL Server에서 자동으로 조정되므로 FCI를 사용하면 관리가 더 쉬워집니다. FCI는 SQL Server Standard Edition에서 사용할 수 있으므로 보다 비용 효율적입니다. 그러나 FCI에는 공유 스토리지가 필요하므로 가용 영역, 리전 또는 하이브리드 클라우드 구성에 걸쳐 있는 환경에 배포할 때 문제가 발생합니다. SIOS 소프트웨어가 활성화하는 방법에 대해 자세히 알아보십시오. SQL 서버의 고가용성 .
SQL Server 장애 조치 클러스터 인스턴스에 대한 스토리지 옵션
가용성 영역에 걸쳐 있는 SQL Server 장애 조치(failover) 클러스터 인스턴스의 저장소 옵션과 관련하여 Azure 파일 공유, 영역 중복 저장소가 있는 Azure 공유 디스크 및 SIOS DataKeeper Cluster Edition의 세 가지 옵션이 있습니다. 네 번째 옵션인 Storage Spaces Direct(S2D)가 있지만 단일 AZ 배포로 제한되므로 S2D 기반 클러스터는 99.99% SLA에 적합하지 않으며 전체 AZ에 영향을 미치는 장애에 취약합니다.
Azure 파일 공유
ZRS(영역 중복성)가 포함된 Azure 파일 공유는 Azure 지역의 여러 가용성 영역에 데이터의 여러 복사본을 저장할 수 있는 기능으로 내구성과 가용성을 향상시킵니다. 그런 다음 이 데이터를 CIFS 파일 공유로 공유할 수 있으며 클러스터는 SMB 3 프로토콜을 사용하여 연결합니다.
Azure 공유 디스크
ZRS(영역 중복 저장소)가 포함된 Azure 공유 디스크는 클러스터에서 사용할 SQL Server 데이터를 저장할 수 있는 공유 디스크입니다. SCSI 영구 예약은 활성 클러스터 노드만 데이터에 액세스할 수 있도록 합니다. 기본 가용 영역에 장애가 발생하면 대기 가용 영역의 데이터가 활성화됩니다. ZRS를 사용한 공유 디스크는 미국 서부 2, 서유럽, 북유럽 및 프랑스 중부 지역에서만 사용할 수 있습니다.
SIOS DataKeeper 클러스터 에디션
SIOS DataKeeper 클러스터 에디션 Azure에서 SQL Server 장애 조치 클러스터를 지원하는 스토리지 HA 솔루션입니다. 모든 지역에서 사용할 수 있으며 교차 가용 영역 장애 조치 및 교차 지역 장애 조치를 지원하는 유일한 FCI 스토리지 옵션입니다. 또한 온프레미스에서 클라우드 구성에 이르는 하이브리드 클라우드 구성을 지원합니다. DataKeeper는 모든 클러스터 노드에서 로컬로 연결된 스토리지를 동기화 상태로 유지하는 소프트웨어 솔루션입니다. DataKeeper 볼륨이라는 타사 스토리지 클래스 클러스터 리소스로 WSFC와 통합됩니다. 장애 조치 클러스터는 DataKeeper 볼륨의 모든 관리를 제어하여 최종 사용자에게 원활한 경험을 제공합니다. 자세히 알아보기 SIOS 데이터키퍼.
요약
결론적으로 Azure는 가용성 영역, 지역 및 연결된 지역과 같은 SQL Server 배포에 대한 고가용성을 달성하기 위한 다양한 인프라 옵션을 제공합니다. 가용성 그룹 및 장애 조치(failover) 클러스터 인스턴스와 같은 고가용성 솔루션과 함께 이러한 옵션을 활용하면 광범위한 오류를 견디고 가동 중지 시간을 최소화할 수 있는 가용성이 높고 탄력적인 SQL Server 배포를 만들 수 있습니다. 특정 요구 사항에 가장 적합한 솔루션을 선택하기 전에 필요한 인프라와 각 옵션의 장단점을 이해하는 것이 중요합니다. SQL 및 Azure 전문가에게 문의하여 프로세스를 안내하고 Azure 설명서 및 모범 사례를 검토하는 것이 좋습니다. 적절한 계획 및 구현을 통해 Azure의 SQL Server 배포를 비즈니스 크리티컬 애플리케이션을 지원하는 데 항상 사용할 수 있는지 확인할 수 있습니다.
자세한 내용은 당사에 문의하십시오. 고가용성 솔루션 .
의 허가를 받아 복제됨 시오스