FCI용 가상 머신 준비(Azure VM 기반 SQL Server)
적용 대상: Azure VM 기반 SQL Server
이 문서에서는 SQL Server FCI(장애 조치(failover) 클러스터 인스턴스)와 함께 사용하기 위해 Azure VM(가상 머신)을 준비하는 방법을 설명합니다. 구성 설정은 FCI 스토리지 솔루션에 따라 다르므로 환경과 비즈니스에 적합한 올바른 구성을 선택하고 있는지 확인합니다.
자세히 알아보려면 Azure VMs에서 SQL Server를 사용한 FCI 및 클러스터 모범 사례의 개요를 참조하세요.
참고
Azure Migrate를 사용하여 Azure VM의 SQL Server에 대한 장애 조치(failover) 클러스터 인스턴스 솔루션을 리프트 앤 시프트할 수 있습니다. 자세한 내용은 장애 조치(failover) 클러스터 인스턴스 마이그레이션을 참조하세요.
사전 요구 사항
- Microsoft Azure 구독 무료 Azure 계정으로 시작하세요.
- Azure 가상 머신의 Windows 도메인 또는 가상 네트워크 페어링을 통해 Azure로 확장된 온-프레미스 Active Directory
- Azure 가상 머신과 Active Directory에서 개체를 만들 수 있는 권한이 있는 계정
- 다음 구성 요소에 대한 충분한 IP 주소 공간이 있는 Azure 가상 네트워크 및 하나 이상의 서브넷
- 두 가상 머신 모두
- Windows 장애 조치 클러스터의 IP 주소
- 각 FCI의 IP 주소
- 도메인 컨트롤러를 가리키는 Azure 네트워크에 구성된 DNS.
FCI 스토리지 옵션 선택
가상 머신의 구성 설정은 SQL Server 장애 조치(failover) 클러스터 인스턴스에 사용할 스토리지 옵션에 따라 다릅니다. 가상 머신을 준비하기 전에 사용 가능한 FCI 스토리지 옵션을 검토하고 환경 및 비즈니스 요구 사항에 가장 적합한 옵션을 선택하십시오. 그런 다음 스토리지 선택에 따라 이 문서 전체에서 적절한 VM 구성 옵션을 신중하게 선택합니다.
VM 가용성 선택
장애 조치(failover) 클러스터 기능을 사용하려면 가상 머신을 가용성 집합 또는 가용성 영역에 배치해야 합니다.
원하는 클러스터 구성과 일치하는 VM 가용성 옵션을 신중하게 선택합니다.
- Azure 공유 디스크: 프리미엄 SSD 또는 UltraDisk를 사용하는 경우 가용성 옵션이 다릅니다.
- 프리미엄 SSD ZRS(영역 중복 스토리지): 다른 영역의 가용성 영역입니다. 프리미엄 SSD ZRS은 선택된 지역에 있는 3개의 Azure 가용성 영역에서 Azure 관리 디스크를 동기적으로 복제합니다. 장애 조치 클러스터의 VM 부분을 다른 가용성 영역으로 배치할 수 있으며 이를 통해 99.99%의 VM 가용성 SLA를 제공하는 영역 중복 SQL Server FCI를 달성할 수 있습니다. ZRS의 디스크 대기 시간은 데이터의 영역 간 복사로 인해 더 길어집니다.
- 프리미엄 SSD LRS(로컬 중복 스토리지): 프리미엄 SSD LRS에 대한 다른 장애/업데이트 도메인의 가용성 집합입니다. 또한 근접 배치 그룹 내에 VM을 배치하여 서로 더 가깝게 둘 수도 있습니다. 가용성 집합 및 근접 배치 그룹을 함께 사용하면 데이터가 하나의 데이터 센터 내에서 로컬로 복제되어 공유 디스크에 대한 대기 시간이 가장 낮으며 99.95%의 VM 가용성 SLA가 제공됩니다.
- 울트라 디스크 LRS(로컬 중복 스토리지): 가용성 영역이지만, VM은 동일한 가용성 영역에 배치해야 합니다. 울트라 디스크는 가장 낮은 디스크 대기 시간을 제공하며 IO 집약적 워크로드에 가장 적합합니다. FCI의 모든 VM 부분이 동일한 가용성 영역에 있어야 하므로 VM 가용성은 99.9%에 불과합니다.
- 프리미엄 파일 공유: 가용성 집합 또는 가용성 영역
- 스토리지 공간 다이렉트: 가용성 집합.
- Azure Elastic SAN: 가용성 영역
Important
가상 머신을 만든 후에는 가용성 집합을 설정하거나 변경할 수 없습니다.
서브넷
Azure VM의 SQL Server에서 SQL Server VM을 단일 서브넷 또는 여러 서브넷에 배포할 수 있습니다.
VM을 여러 서브넷에 배포하면 IP 주소에 대해 클러스터 또는 종속성이 활용되며 장애 조치 클러스터 인스턴스에 연결할 때의 온-프레미스 환경과 일치합니다. 다중 서브넷 접근 방식은 더 간단한 관리 효율성과 더 빠른 장애 조치(failover) 시간을 위해 Azure VM 기반 SQL Server에 권장됩니다.
VM을 단일 서브넷에 배포하려면 FCI로 트래픽을 라우팅하기 위해 Azure Load Balancer 또는 DNN(분산 네트워크 이름)에 대한 추가 종속성이 필요합니다.
여러 서브넷에 SQL Server VM을 배포하는 경우 이 섹션의 단계를 따라 추가 서브넷으로 가상 네트워크를 만들고, SQL Server VM이 만들어진 후 VM에 해당 서브넷 내의 보조 IP 주소를 할당합니다. 단일 서브넷에 SQL Server VM을 배포하는 경우 추가 네트워크 구성이 필요하지 않습니다.
가상 머신과 클러스터에 설치할 수 있는 모든 FCI에 충분한 IP 주소가 있는 두 가상 머신을 모두 단일 서브넷에 배치합니다. 이 접근 방식에는 FCI로 연결을 라우팅하기 위해 Azure Load Balancer 또는 DNN(분산 네트워크 이름)과 같은 추가 구성 요소가 필요합니다.
단일 서브넷에 SQL Server VM을 배포하도록 선택한 경우 FCI에 대한 나머지 환경을 준비하기 전에 Azure Load Balancer 및 DNN 연결 옵션 간의 차이점을 검토하고 가장 적합한 옵션을 결정합니다.
SQL Server VM을 단일 서브넷에 배포하는 경우 추가 네트워크 구성이 필요하지 않습니다.
DNS 구성
DNS 서버를 사용하도록 가상 네트워크를 구성합니다. 먼저 DNS IP 주소를 식별한 다음, 가상 네트워크에 추가합니다.
DNS IP 주소 확인
DNS 서버의 IP 주소를 식별한 다음, 가상 네트워크 구성에 추가합니다. 이 섹션에서는 DNS 서버가 Azure의 가상 머신에 있는 경우 DNS IP 주소를 식별하는 방법을 설명합니다.
Azure Portal에서 DNS 서버 VM의 IP 주소를 식별하려면 다음 단계를 수행합니다.
- Azure Portal에서 리소스 그룹으로 이동하고 DNS 서버 VM을 선택합니다.
- VM 페이지의 설정 창에서 네트워킹을 선택합니다.
- DNS 서버의 IP 주소이기 때문에 NIC 개인 IP 주소를 기록해 둡니다. 이미지 예에서 개인 IP 주소는 10.38.0.4입니다.
가상 네트워크 DNS 구성
이 DNS 서버 IP 주소를 사용하도록 가상 네트워크를 구성합니다.
DNS에 대한 가상 네트워크를 구성하려면 다음 단계를 수행합니다.
- Azure Portal에서 리소스 그룹으로 이동하여 가상 네트워크를 선택합니다.
- 설정 아래에서 DNS 서버를 선택한 다음, 사용자 지정을 선택합니다.
- IP 주소 필드에 이전에 식별한 개인 IP 주소를 입력하거나(예:
10.38.0.4
) 내부 DNS 서버의 내부 IP 주소를 제공합니다. - 저장을 선택합니다.
가상 머신 만들기
VM 가상 네트워크를 구성하고 VM 가용성을 선택하면 가상 머신을 만들 준비가 된 것입니다. SQL Server가 이미 설치되어 있거나 설치되어 있지 않은 Azure Marketplace 이미지를 사용하도록 선택할 수 있습니다. 그러나 Azure VM에서 SQL Server용 이미지를 선택하는 경우 장애 조치(failover) 클러스터 인스턴스를 구성하기 전에 가상 머신에서 SQL Server를 제거해야 합니다.
참고 항목
SQL Server VM을 배포하기 전에 선택한 FCI 스토리지 옵션에 지원되는 SQL Server 버전을 확인해야 합니다.
NIC 고려 사항
Azure VM 게스트 장애 조치 클러스터에서는 서버(클러스터 노드)당 단일 NIC를 사용하는 것이 좋습니다. Azure 네트워킹에는 Azure IaaS VM 게스트 클러스터에서 추가 NIC를 불필요하게 만드는 물리적 중복성이 있습니다. 클러스터 유효성 검사 보고서는 노드가 단일 네트워크에서만 연결 가능하다는 경고를 표시하지만, Azure IaaS VM 게스트 장애 조치(failover) 클러스터에서는 이 경고를 무시해도 됩니다.
두 가상 머신을 모두 배치합니다.
- 가용성 집합을 사용하는 경우 가용성 집합과 동일한 Azure 리소스 그룹에 있습니다.
- 도메인 컨트롤러 및 DNS 서버와 동일한 가상 네트워크 또는 도메인 컨트롤러에 적절한 연결이 있는 가상 네트워크에 있습니다.
- Azure 가용성 집합 또는 가용성 영역에 있습니다.
SQL Server가 사전 설치되어 있거나 설치되어 있지 않은 이미지를 사용하여 Azure 가상 머신을 만들 수 있습니다. SQL Server 이미지를 선택하는 경우 장애 조치(failover) 클러스터 인스턴스를 설치하기 전에 SQL Server 인스턴스를 수동으로 제거해야 합니다.
보조 IP 주소 할당
단일 서브넷에 SQL Server VM을 배포한 경우 이 단계를 건너뜁니다.
FCI에 대한 연결 개선을 위해 SQL Server VM을 여러 서브넷에 배포한 경우 각 VM에 보조 IP 주소를 할당해야 합니다.
장애 조치 클러스터 인스턴스 네트워크 이름에 사용하기 위해 SQL Server VM에 보조 IP 주소를 할당하고, Windows Server 2016 이전의 경우 클러스터 네트워크 이름에 대해서도 각 SQL Server VM에 보조 IP 주소를 할당합니다. 이렇게 하면 단일 서브넷 환경의 요구 사항과 마찬가지로 Azure Load Balancer가 필요하지 않습니다.
Windows Server 2016 및 이전 버전에서는 클러스터가 Windows Server 2019에 도입된 기본 DNN(분산 네트워크 이름) 대신 클러스터 네트워크 이름을 사용하므로 추가 보조 IP 주소를 Windows 클러스터 IP에 사용할 각 SQL Server VM에 할당해야 합니다. DNN을 사용하면 CNO(클러스터 이름 개체)가 클러스터의 모든 노드에 대한 IP 주소에 자동으로 등록되므로 전용 Windows 클러스터 IP 주소가 필요하지 않습니다.
Windows Server 2016 및 이전 버전을 사용하는 경우 이 섹션의 단계에 따라 보조 IP 주소를 FCI 네트워크 이름 및 클러스터 모두에 대한 각 SQL Server VM에 할당합니다.
Windows Server 2019 이상을 사용하는 경우 VNN(가상 네트워크 이름)을 사용하여 클러스터를 구성하려는 경우를 제외하고는 FCI 네트워크 이름에 대한 보조 IP 주소만 할당하고 Windows 클러스터 IP를 할당하는 단계를 건너뜁니다. 이 경우 Windows Server 2016에서와 같이 두 IP 주소를 모두 각 SQL Server VM에 할당합니다.
추가 보조 IP를 VM에 할당하려면 다음 단계를 수행합니다.
Azure Portal에서 리소스 그룹으로 이동하여 첫 번째 SQL Server VM을 선택합니다.
설정 창에서 네트워킹을 선택한 다음, 네트워크 인터페이스를 선택합니다.
네트워크 인터페이스 페이지의 설정 창에서 IP 구성을 선택한 다음, + 추가를 선택하여 추가 IP 주소를 추가합니다.
IP 구성 추가 페이지에서 다음을 수행합니다.
- Windows 클러스터 IP 주소의 이름을 지정합니다(예: Windows 2016 이하의 경우 windows-cluster-ip). Windows Server 2019 이상을 사용하는 경우 이 단계를 건너뜁니다.
- 할당을 정적으로 설정합니다.
- SQL Server VM(
10.38.1.10
)과 동일한 서브넷(SQL-subnet-1)에서 사용되지 않는 IP 주소를 입력합니다. - 공용 IP 주소를 기본값인 연결 끊기로 그대로 둡니다.
- 확인을 선택하여 IP 구성 추가를 완료합니다.
+추가를 다시 선택하여 FCI 네트워크 이름(FCI-network-name과 같은 이름)에 대해 추가 IP 주소를 구성하고, SQL-subnet-1의 사용하지 않은 IP 주소를 지정합니다(예:
10.38.1.11
).이러한 단계를 두 번째 SQL Server VM에 대해 다시 반복합니다. SQL-subnet-2 내에서 사용되지 않는 두 개의 보조 IP 주소를 할당합니다. 다음 표의 값을 사용하여 IP 구성을 추가합니다(IP 주소는 예일 뿐이며 실제 IP 주소는 다를 수 있음).
필드 입력 입력 이름 windows-cluster-ip FCI-network-name Allocation 정적 정적 IP 주소 10.38.2.10 10.38.2.11
SQL Server 제거
FCI 만들기 프로세스에서 SQL Server를 장애 조치(failover) 클러스터에 클러스터된 인스턴스로 설치합니다. SQL Server 없이 Azure Marketplace 이미지가 있는 가상 머신을 배포한 경우 이 단계를 건너뛸 수 있습니다. SQL Server가 사전 설치된 이미지를 배포한 경우 SQL Server VM에서 익스텐션을 삭제한 다음 SQL Server를 제거해야 합니다.
SQL IaaS 에이전트 익스텐션 삭제
Azure Marketplace의 SQL Server VM 이미지는 SQL IaaS 에이전트 익스텐션에 자동으로 등록됩니다. 사전 설치된 SQL Server 인스턴스를 제거하기 전에 먼저 SQL Server VM에서 익스텐션을 삭제해야 합니다.
Azure PowerShell을 사용하여 SQL Server VM에서 익스텐션을 삭제하려면 다음 샘플 코드를 사용합니다.
Remove-AzSqlVM -ResourceGroupName <resource_group_name> -Name <SQL VM resource name>
SQL Server 제거
익스텐션을 삭제한 후에 SQL Server를 제거할 수 있습니다. 각 가상 시스템에서 다음 단계를 수행합니다.
RDP 또는 Bastion을 사용하여 가상 머신에 연결합니다. RDP 또는 Bastion을 사용하여 가상 머신에 처음 연결하면 네트워크에서 PC를 검색할 수 있도록 허용할지 묻는 메시지가 표시됩니다. 예를 선택합니다.
제어판에서 프로그램 및 기능을 엽니다.
프로그램 및 기능에서 Microsoft SQL Server 201_(64비트)을 마우스 오른쪽 단추로 클릭하고 제거/변경을 선택합니다.
제거를 선택합니다.
기본 인스턴스를 선택합니다.
데이터베이스 엔진 서비스, Analysis Services 및 Reporting Services - 기본 아래의 모든 기능을 제거합니다. 공유 기능 아래에 있는 항목을 제거하지 마세요. 다음 스크린샷과 같은 화면이 표시됩니다.
다음을 선택한 다음, 제거를 선택합니다.
인스턴스가 성공적으로 제거되면 가상 머신을 다시 시작합니다.
방화벽 열기
각 가상 머신에서 SQL Server에서 사용하는 Windows 방화벽 TCP 포트를 엽니다. 기본적으로 SQL Server는 포트 1433을 사용하지만 사용자 환경에서 이 포트를 변경한 경우 사용할 SQL Server 인스턴스를 구성한 포트를 엽니다. 포트 1433은 Azure Marketplace에서 배포된 SQL Server 이미지에서 자동으로 열립니다.
단일 서브넷 시나리오에 대해 부하 분산 장치를 사용하는 경우 상태 프로브가 사용하는 포트도 열어야 합니다. 기본적으로 상태 프로브는 포트 59999를 사용하지만 부하 분산 장치를 만들 때 지정한 TCP 포트일 수 있습니다.
이 표에서는 FCI 구성에 따라 열어야 할 수 있는 포트를 자세히 설명합니다.
목적 | 포트 | 주의 |
---|---|---|
SQL Server | TCP 1433 | SQL Server의 기본 인스턴스에 대한 표준 포트입니다. 갤러리에서 이미지를 사용한 경우 이 포트는 자동으로 열립니다. 사용 대상: 모든 FCI 구성 |
상태 프로브 | TCP 59999 | 열려 있는 모든 TCP 포트. 이 포트를 사용하도록 부하 분산 장치 상태 프로브 및 클러스터를 구성합니다. 사용 대상: 단일 서브넷 시나리오에서 부하 분산 장치가 있는 FCI |
파일 공유 | UDP 445 | 파일 공유 서비스에서 사용하는 포트입니다. 사용 대상: 프리미엄 파일 공유를 사용하는 FCI |
도메인 가입
또한 가상 머신을 도메인에 조인해야 합니다. 빠른 시작 템플릿을 사용하면 됩니다.
스토리지 구성 검토
Azure Marketplace에서 만든 가상 머신에는 연결된 스토리지가 함께 제공됩니다. 프리미엄 파일 공유 또는 Azure 공유 디스크를 사용하여 FCI 스토리지를 구성하려는 경우 장애 조치(failover) 클러스터 인스턴스에 로컬 스토리지가 사용되지 않으므로 연결된 스토리지를 제거하여 비용을 절약할 수 있습니다. 그러나 스토리지 공간 다이렉트 FCI 솔루션에 연결된 스토리지를 사용할 수 있으므로 이 경우 제거하는 것은 도움이 되지 않을 수 있습니다. FCI 스토리지 솔루션을 검토하여 연결된 스토리지를 제거하는 것이 비용 절감에 최적인지 확인합니다.
다음 단계
이제 가상 머신 환경을 준비했으므로 장애 조치(failover) 클러스터 인스턴스를 구성할 준비가 되었습니다.
다음 가이드 중 하나를 선택하여 비즈니스에 적합한 FCI 환경을 구성합니다.
자세한 내용은 다음을 참조하세요.