Azure Virtual Machines에서 SQL Server를 사용하는 장애 조치(failover) 클러스터 인스턴스
적용 대상: Azure VM 기반 SQL Server
이 문서에서는 Azure VM(가상 머신) 기반 SQL Server용 FCI(장애 조치(failover) 클러스터 인스턴스)로 작업할 때의 기능 차이점을 소개합니다.
시작하려면 vm을 준비합니다.
개요
Azure VM 기반 SQL Server는 WSFC(Windows Server 장애 조치(failover) 클러스터링) 기능을 사용하여 서버 인스턴스 수준(장애 조치(failover) 클러스터 인스턴스)의 중복성을 통해 로컬 고가용성을 제공합니다. FCI는 WSFC(또는 단순히 클러스터) 노드 및 가능한 경우, 여러 서브넷에 설치되는 SQL Server의 단일 인스턴스입니다. 네트워크에서 FCI는 단일 컴퓨터에서 실행되는 SQL Server의 단일 인스턴스로 나타납니다. 그러나 현재 노드를 사용할 수 없게 되면 FCI는 한 WSFC 노드에서 다른 노드로 장애 조치(failover)를 제공합니다.
나머지 문서에서는 Azure VM 기반 SQL Server와 함께 사용할 때 장애 조치(failover) 클러스터 인스턴스의 차이점에 중점을 둡니다. 장애 조치(failover) 클러스터링 기술에 대해 자세히 알아보려면 다음을 참조하세요.
참고 항목
Azure Migrate를 사용하여 Azure VM의 SQL Server에 대한 장애 조치(failover) 클러스터 인스턴스 솔루션을 리프트 앤 시프트할 수 있습니다. 자세한 내용은 장애 조치(failover) 클러스터 인스턴스 마이그레이션을 참조하세요.
Quorum
Azure 가상 머신 기반 SQL Server가 포함된 장애 조치(failover) 클러스터 인스턴스는 클러스터 Quorum에 디스크 감시, 클라우드 감시 또는 파일 공유 감시 사용을 지원합니다.
자세한 내용은 Azure의 SQL Server VM을 사용하는 Quorum 모범 사례를 참조하세요.
스토리지
기존의 온-프레미스 클러스터형 환경에서 Windows 장애 조치(failover) 클러스터는 모든 노드에서 액세스할 수 있는 SAN(저장 영역 네트워크)을 공유 스토리지로 사용합니다. SQL Server 파일은 공유 스토리지에서 호스트되며 활성 노드만 한 번에 파일에 액세스할 수 있습니다.
Azure VM의 SQL Server는 SQL Server 장애 조치(failover) 클러스터 인스턴스 배포를 위한 공유 스토리지 솔루션으로 다양한 옵션을 제공합니다.
Azure 공유 디스크 | 프리미엄 파일 공유 | S2D(스토리지 공간 다이렉트) | Azure Elastic SAN | |
---|---|---|---|---|
최소 OS 버전 | 모두 | Windows Server 2012 | Windows Server 2016 | Windows Server 2022 |
최소 SQL Server 버전 | 모두 | SQL Server 2012 | SQL Server 2016 | SQL Server 2022 |
지원되는 VM 가용성 | 프리미엄 SSD LRS: 근접 배치 그룹이 있거나 없는 가용성 집합 프리미엄 SSD ZRS: 가용성 영역 Ultra 디스크: 동일한 가용성 영역 |
가용성 집합 및 가용성 영역 | 가용성 집합 | 가용성 영역 |
FileStream 지원 | 예 | 아니요 | 예 | 아니요 |
MSDTC 지원 | 예 | 아니요 | 아니요 | 아니요 |
이 섹션의 나머지 부분에는 Azure VM 기반 SQL Server에 사용할 수 있는 각 스토리지 옵션의 이점과 제한 사항이 나열되어 있습니다.
Azure 공유 디스크
Azure 공유 디스크는 Azure 관리 디스크의 기능입니다. Windows Server 장애 조치(failover) 클러스터링에서는 장애 조치(failover) 클러스터 인스턴스와 함께 Azure 공유 디스크 사용을 지원합니다.
지원되는 OS: 모두
지원되는 SQL 버전: 모두
이점:
- HADR(고가용성 및 재해 복구) 아키텍처를 있는 그대로 유지하면서 Azure로 마이그레이션하려는 애플리케이션에 유용합니다.
- SCSI PR(SCSI 영구 예약) 지원으로 인해 클러스터된 애플리케이션을 Azure로 마이그레이션할 수 있습니다.
- 공유 Azure 프리미엄 SSD 및 Azure Ultra Disk Storage를 지원합니다.
- 단일 공유 디스크를 사용하거나 여러 공유 디스크를 스트라이프하여 공유 스토리지 풀을 만들 수 있습니다.
- FILESTREAM을 지원합니다.
- 프리미엄 SSD는 가용성 집합을 지원합니다.
- 프리미엄 SSD ZRS(영역 중복 스토리지)는 가용성 영역을 지원합니다. FCI의 VM 부분은 다른 가용성 영역에 배치할 수 있습니다.
- Windows Server 2019부터 MSDTC(Microsoft Distributed Transaction Coordinator)를 지원합니다.
참고 항목
Azure 공유 디스크는 표준 SSD 크기도 지원하지만 성능 제한으로 인해 SQL Server 워크로드에 표준 SSD를 사용하지 않는 것이 좋습니다.
제한 사항:
- 프리미엄 SSD 디스크 캐싱은 지원되지 않습니다.
- Ultra Disks는 ZRS(영역 중복 스토리지)를 지원하지 않습니다.
- Ultra Disks에 가용성 영역이 지원되지만 VM이 동일한 가용성 영역에 있어야 하므로 가상 머신의 가용성이 99.9%로 줄어듭니다.
시작하려면 Azure 공유 디스크를 사용하는 장애 조치(failover) 클러스터 인스턴스 구성하기를 참조하세요.
스토리지 공간 다이렉트
스토리지 공간 다이렉트는 Azure 가상 머신의 장애 조치(failover) 클러스터링에서 지원되는 Windows Server 기능입니다. 소프트웨어 기반 가상 SAN을 제공합니다.
지원되는 OS: Windows Server 2016 이상
지원되는 SQL 버전: SQL Server 2016 이상
이점:
- 네트워크 대역폭이 충분하여 강력하고 성능이 뛰어난 공유 스토리지 솔루션을 제공할 수 있습니다.
- Azure Blob 캐시를 지원하므로 캐시에서 로컬로 읽기를 제공할 수 있습니다. (업데이트는 두 노드에 동시에 복제됩니다.)
- FileStream을 지원합니다.
제한 사항:
- Windows Server 2016 이상에서만 사용할 수 있습니다.
- 가용성 영역은 지원되지 않습니다.
- 두 가상 머신 모두에 연결된 동일한 디스크 용량이 필요합니다.
- 지속적인 디스크 복제로 인해 고성능을 구현하려면 네트워크 대역폭이 높아야 합니다.
- 스토리지가 각 VM에 연결되어 있으므로 VM이 더 커야 하고 스토리지 비용을 두 배로 지불해야 합니다.
- MSDTC(Microsoft Distributed Transaction Coordinator)는 지원되지 않습니다.
시작하려면 스토리지 공간 다이렉트를 사용하는 장애 조치(failover) 클러스터 인스턴스 구성하기를 참조하세요.
프리미엄 파일 공유
프리미엄 파일 공유는 Azure Files의 기능입니다. 프리미엄 파일 공유는 SSD를 지원하며 지속적으로 낮은 대기 시간을 제공합니다. Windows Server 2012 이상에서 SQL Server 2012 이상에 대한 장애 조치(failover) 클러스터 인스턴스에 사용할 수 있도록 완벽하게 지원됩니다. 프리미엄 파일 공유는 가동 중지 시간 없이 파일 공유의 크기를 조정하고 확장할 수 있으므로 뛰어난 유연성을 제공합니다.
지원되는 OS: Windows Server 2012 이상
지원되는 SQL 버전: SQL Server 2012 이상
이점:
- 가상 머신을 위한 공유 스토리지 솔루션은 여러 가용성 영역에 분산됩니다.
- 한 자릿수의 대기 시간과 버스트 가능한 I/O 성능을 갖춘 완전 관리형 파일 시스템
- TABLOCK이 없는 데이터베이스 스냅샷, 파일 스트림 및 CHECKDB와 같은 모든 SQL Server 기능이 지원되지는 않습니다. 자세한 내용은 제한 사항을 검토하세요.
제한 사항:
- Windows Server 2012 이상에서만 사용할 수 있습니다.
- 파일 스트림은 지원되지 않습니다.
- MSDTC(Microsoft Distributed Transaction Coordinator)는 지원되지 않습니다.
시작하려면 프리미엄 파일 공유를 사용하는 장애 조치(failover) 클러스터 인스턴스 구성하기를 참조하세요.
Azure Elastic SAN
Azure Elastic SAN은 고객에게 스토리지 통합을 통해 비용을 절감할 수 있는 유연하고 확장 가능한 솔루션을 제공하는 네트워크 연결 스토리지 제품입니다. Azure Elastic SAN은 iSCSI 프로토콜을 통해 다양한 Azure 컴퓨팅 서비스에 연결하는 비용 효율적이고, 성능이 뛰어나며, 안정적인 블록 스토리지 솔루션을 제공합니다. Elastic SAN을 사용하면 애플리케이션 아키텍처를 리팩터링하지 않고도 기존 SAN 스토리지 자산에서 클라우드로 원활하게 전환할 수 있습니다.
참고 항목
Azure Elastic SAN을 사용하여 장애 조치(failover) 클러스터 인스턴스를 구성하는 것은 현재 Azure VM 기반 SQL Server에 대한 미리 보기로 있습니다.
지원되는 OS: Windows Server 2019 이상
지원되는 SQL 버전: SQL Server 2022 이상
이점:
- Elastic SAN은 VM 디스크 처리량 제한으로 제한되지 않습니다. 즉, 더 작은 VM을 통해 원하는 처리량을 달성하여 비용을 절감할 수 있습니다.
- 스토리지 통합 및 동적 성능 공유 - 스토리지 풀이 SAN 수준에서 프로비전되고 성능이 워크로드 간에 공유되므로 낮은 계층에서 중간 계층까지의 성능 워크로드를 SQL Server 워크로드와 통합하여 비용을 절감할 수 있습니다.
- SCSI PR(SCSI Persistent Reservations)을 지원하므로 클러스터된 애플리케이션을 그대로 Azure로 마이그레이션할 수 있습니다.
- 단일 공유 볼륨을 사용하거나 여러 공유 볼륨을 스트라이프하여 공유 스토리지 풀을 만들 수 있습니다.
- Elastic SAN 영역 중복 스토리지는 가용성 영역을 지원합니다. 장애 조치(failover) 클러스터의 VM 부분은 다른 가용성 영역에 배치할 수 있습니다.
제한 사항:
- 현재 클라우드 감시를 지원하지 않습니다.
- 밀리초 미만의 대기 시간 워크로드를 지원하지 않습니다.
- 파일 스트림을 지원하지 않습니다.
- MSDTC(Microsoft Distributed Transaction Coordinator)는 지원되지 않습니다.
파트너
지원되는 스토리지가 있는 파트너 클러스터링 솔루션이 있습니다.
지원되는 OS: 모두
지원되는 SQL 버전: 모두
한 예제에서는 SIOS DataKeeper를 스토리지로 사용합니다. 자세한 내용은 블로그 항목 장애 조치(failover) 클러스터링 및 SIOS DataKeeper를 참조하세요.
iSCSI 및 ExpressRoute
Azure ExpressRoute를 통해 iSCSI 대상 공유 블록 저장소를 노출할 수도 있습니다.
지원되는 OS: 모두
지원되는 SQL 버전: 모두
예를 들어 NPS(NetApp Private Storage)는 Equinix를 사용하는 ExpressRoute를 통해 Azure VM에 iSCSI 대상을 노출합니다.
Microsoft 파트너의 공유 스토리지 및 데이터 복제 솔루션의 경우 장애 조치(failover) 시 데이터 액세스와 관련된 문제는 공급업체에 문의해야 합니다.
연결
장애 조치(failover) 클러스터 인스턴스에 연결하기 위한 온-프레미스 환경과 일치시키려면 SQL Server VM을 동일한 가상 네트워크 내의 여러 서브넷에 배포합니다. 여러 서브넷이 있으면 트래픽을 FCI로 라우팅하기 위해 Azure Load Balancer 또는 DNN(분산 네트워크 이름)에 대한 추가 종속성이 필요하지 않습니다.
SQL Server VM을 단일 서브넷에 배포하는 경우 장애 조치(failover) 클러스터 인스턴스로 트래픽을 라우팅하도록 VNN(가상 네트워크 이름) 및 Azure Load Balancer 또는 DNN(분산 네트워크 이름)을 구성할 수 있습니다. 두 항목의 차이점을 검토한 다음, 장애 조치 클러스터 인스턴스에 대해 분산 네트워크 이름 또는 가상 네트워크 이름을 배포합니다.
가능한 경우 장애 조치(failover)가 더 빨라지고 부하 분산 장치를 관리하는 오버헤드와 비용이 없어지므로 분산 네트워크 이름을 사용하는 것이 좋습니다.
DNN을 사용하는 경우 대부분의 SQL Server 기능이 FCI에서 투명하게 작동하지만 특별한 고려 사항이 필요할 수 있는 특정 기능이 있습니다. 자세한 내용은 FCI 및 DNN 상호 운용성을 참조하세요.
참고 항목
같은 클러스터에 AG 또는 FCI가 여러 개이고, DNN 또는 VNN 수신기를 사용하는 경우 각 AG 또는 FCI에 독자적인 연결점이 필요합니다.
제한 사항
제한된 익스텐션 지원
현재 SQL IaaS 에이전트 확장에 등록된 Azure 가상 머신의 SQL Server 장애 조치(failover) 클러스터 인스턴스는 자동화된 백업, 패치, Microsoft Entra 인증 및 고급 포털 관리와 같이 에이전트가 필요한 기능이 아니라 기본 등록을 통해 사용할 수 있는 제한된 수의 기능만 지원합니다. 자세한 내용은 혜택 테이블을 참조하세요.
SQL Server VM이 SQL IaaS 에이전트 익스텐션에 이미 등록되어 있고 에이전트가 필요한 기능을 사용하도록 설정한 경우 해당 VM에 대한 SQL 가상 머신 리소스를 삭제하여 SQL Server VM에서 익스텐션을 삭제한 다음 SQL IaaS 에이전트 익스텐션에 다시 등록해야 합니다. Azure Portal을 사용하여 SQL 가상 머신 리소스를 삭제할 때 올바른 가상 머신 옆의 확인란을 지워 해당 가상 머신이 삭제되지 않도록 합니다.
MSDTC
Azure Virtual Machines는 스토리지가 CSVs(클러스터 공유 볼륨) 및 Azure 표준 Load Balancer에 있는 Windows Server 2019 또는 Azure 공유 디스크를 사용하는 SQL Server VM에서 MSDTC(Microsoft Distributed Transaction Coordinator)를 지원합니다.
Azure 가상 머신에서 MSDTC는 다음과 같은 이유로 클러스터 공유 볼륨에서 Windows Server 2016 이하에서 지원되지 않습니다.
- 공유 스토리지를 사용하도록 클러스터형 MSDTC 리소스를 구성할 수 없습니다. Windows Server 2016에서 MSDTC 리소스를 만드는 경우 스토리지가 사용 가능하더라도 사용 가능한 공유 스토리지가 표시되지 않습니다. 이 문제는 Windows Server 2019에서 수정되었습니다.
- 기본 부하 분산 장치는 RPC 포트를 처리하지 않습니다.