프리미엄 파일 공유를 사용하여 FCI 만들기(Azure VMs의 SQL Server)

적용 대상:Azure VM 기반 SQL Server

가용성 그룹을 배포하는 방법에는 여러 가지가 있습니다. 동일한 Azure 가상 네트워크 내의 여러 서브넷에 SQL Server VM(가상 머신)을 생성하여 배포를 간소화하고 Always On 가용성 그룹에 대한 Azure Load Balancer 또는 DNN(분산 네트워크 이름)의 필요성을 없앨 수 있습니다. 단일 서브넷에서 가용성 그룹을 이미 만든 경우 이를 다중 서브넷 환경으로 마이그레이션할 수 있습니다.

이 문서에서는 프리미엄 파일 공유를 사용하여 Azure VMs(Virtual Machines)에서 SQL Server를 사용한 FCI(장애 조치(failover) 클러스터 인스턴스)를 만드는 방법을 설명합니다.

프리미엄 파일 공유는 SSD 기반이며 Windows Server 2012 이상의 SQL Server 2012 이상에서 장애 조치(failover) 클러스터 인스턴스와 함께 사용할 수 있도록 완벽하게 지원되고 일관되게 대기 시간이 짧은 파일 공유입니다. 프리미엄 파일 공유는 뛰어난 유연성을 제공하여 가동 중지 시간 없이 파일 공유 크기를 조정하고 크기를 조정할 수 있습니다.

자세히 알아보려면 Azure VMs에서 SQL Server를 사용한 FCI클러스터 모범 사례의 개요를 참조하세요.

참고

Azure Migrate를 사용하여 Azure VM의 SQL Server에 대한 장애 조치(failover) 클러스터 인스턴스 솔루션을 리프트 앤 시프트할 수 있습니다. 자세한 내용은 장애 조치(failover) 클러스터 인스턴스 마이그레이션을 참조하세요.

사전 요구 사항

이 문서의 지침을 완료하려면 먼저 다음이 있어야 합니다.

프리미엄 파일 공유 탑재

프리미엄 파일 공유를 탑재하려면 다음 단계를 수행합니다.

  1. Azure Portal에 로그인하고 스토리지 계정으로 이동합니다.

  2. 데이터 스토리지에서 파일 공유로 이동한 다음 SQL 스토리지에 사용할 프리미엄 파일 공유를 선택합니다.

  3. 연결을 선택하여 파일 공유에 대한 연결 문자열을 가져옵니다.

  4. 드롭다운 목록에서 사용할 드라이브 문자를 선택하고 인증 방법으로 스토리지 계정 키를 선택한 다음 코드 블록을 메모장과 같은 텍스트 편집기에 복사합니다.

    파일 공유 연결 포털에서 PowerShell 명령 복사 방법을 보여 주는 스크린샷입니다.

  5. RDP(원격 데스크톱 프로토콜)를 사용하여 SQL Server FCI가 서비스 계정에 사용할 계정으로 SQL Server VM에 연결합니다.

  6. 관리 PowerShell 명령 콘솔을 엽니다.

  7. 파일 공유 포털에서 이전에 텍스트 편집기에 복사한 명령을 실행합니다.

  8. 파일 탐색기 또는 실행 대화 상자(Windows+R 입력)를 사용하여 공유로 이동합니다. 네트워크 경로 \\storageaccountname.file.core.windows.net\filesharename을 사용합니다. 예를 들어 \\sqlvmstorageaccount.file.core.windows.net\sqlpremiumfileshare

  9. 새로 연결된 파일 공유에서 SQL 데이터 파일을 저장할 폴더를 하나 이상 만듭니다.

  10. 클러스터에 참여하는 각 SQL Server VM에 대해 이러한 단계를 반복합니다.

중요

백업 파일에 별도의 파일 공유를 사용하여 이 데이터 및 로그 파일용 공유에서 IOPS(초당 입출력 작업 수) 및 공간 용량을 절약하는 것이 좋습니다. 백업 파일에 프리미엄 또는 표준 파일 공유 중 하나를 사용할 수 있습니다.

Windows 장애 조치(failover) 클러스터 만들기

Windows Server 장애 조치(failover) 클러스터를 만드는 단계는 SQL Server VM을 단일 서브넷에 배포했는지 또는 여러 서브넷에 배포했는지에 따라 다릅니다. 클러스터를 만들려면 다중 서브넷 시나리오 또는 단일 서브넷 시나리오에 대한 자습서의 단계를 따릅니다. 이러한 자습서는 가용성 그룹을 만들기 위한 것이지만 클러스터를 만드는 단계는 동일합니다.

쿼럼 구성

클라우드 감시는 Azure VM의 SQL Server에 대한 이 유형의 클러스터 구성에 권장되는 쿼럼 솔루션입니다.

클러스터에 짝수 투표가 있는 경우 비즈니스 요구에 가장 적합한 쿼럼 솔루션을 구성합니다. 자세한 내용은 SQL Server VM에 대한 쿼럼을 참조하세요.

클러스터 유효성 검사

장애 조치(failover) 클러스터 관리자 UI 또는 PowerShell을 사용하여 가상 머신 중 하나에서 클러스터의 유효성을 검사합니다.

UI를 사용하여 클러스터의 유효성을 검사하려면 가상 머신 중 하나에서 다음을 수행합니다.

  1. 서버 관리자에서 도구를 선택한 다음 장애 조치(failover) 클러스터 관리자를 선택합니다.

  2. 장애 조치(failover) 클러스터 관리자에서 작업을 선택한 다음 구성 유효성 검사를 선택합니다.

  3. 다음을 선택합니다.

  4. 서버 또는 클러스터 선택에서 두 가상 머신의 이름을 입력합니다.

  5. 테스트 옵션에서 선택한 테스트만 실행을 선택합니다.

  6. 다음을 선택합니다.

  7. 테스트 선택에서 다음과 같이 스토리지스토리지 공간 다이렉트를 선택합니다.

    클러스터 유효성 검사 테스트를 선택하는 방법을 보여 주는 스크린샷입니다.

  8. 다음을 선택합니다.

  9. 확인에서 다음을 선택합니다. 구성 유효성 검사 마법사가 유효성 검사 테스트를 실행합니다.

PowerShell을 사용하여 클러스터의 유효성을 검사하려면 가상 머신 중 하나의 관리자 PowerShell 세션에서 다음 스크립트를 실행합니다.

Test-Cluster –Node ("<node1>","<node2>") –Include "Inventory", "Network", "System Configuration"

클러스터 장애 조치(failover) 테스트

클러스터의 장애 조치를 테스트합니다. 장애 조치(Failover) 클러스터 관리자에서 클러스터를 마우스 오른쪽 단추로 클릭하고 추가 작업>Move Core Cluster Resource(코어 클러스터 리소스 이동)>노드 선택을 선택한 다음, 클러스터의 다른 노드를 선택합니다. 코어 클러스터 리소스를 클러스터의 모든 노드로 이동한 다음 다시 기본 노드로 이동합니다. 클러스터를 각 노드로 성공적으로 이동할 수 있는 경우 SQL Server를 설치할 준비가 된 것입니다.

코어 리소스를 다른 노드로 이동하여 클러스터 장애 조치(failover) 테스트 방법을 보여 주는 스크린샷입니다.

SQL Server FCI 만들기

장애 조치(failover) 클러스터를 구성한 후에는 SQL Server FCI를 만들 수 있습니다.

  1. RDP를 사용하여 첫 번째 가상 머신에 연결합니다.

  2. 장애 조치(Failover) 클러스터 관리자에서 모든 코어 클러스터 리소스가 첫 번째 가상 머신에 있는지 확인합니다. 필요한 경우 모든 리소스를 이 가상 컴퓨터로 이동합니다.

  3. 운영 체제 버전이 Windows Server 2019이고 Windows 클러스터가 기본 DNN(분산 네트워크 이름)을 사용하여 만들어진 경우 SQL Server 2017 이하용 FCI 설치는 The given key was not present in the dictionary 오류와 함께 실패합니다.

    설치하는 동안 SQL Server 설치 프로그램은 기존 VNN(가상 네트워크 이름)을 쿼리하고 Windows 클러스터 DNN을 인식하지 못합니다. 이 문제는 SQL Server 2019 설정에서 수정되었습니다. SQL Server 2017 이하의 경우 설치 오류를 방지하려면 다음 단계를 따릅니다.

    • 장애 조치(failover) 클러스터 관리자에서 클러스터에 연결하고, 역할을 마우스 오른쪽 단추로 클릭하고 빈 역할 만들기를 선택합니다.
    • 새로 만들어진 빈 역할을 마우스 오른쪽 단추로 클릭하고 리소스 추가를 선택한 다음, 클라이언트 액세스 포인트를 선택합니다.
    • 이름을 입력하고 마법사를 완료하여 클라이언트 액세스 포인트를 만듭니다.
    • SQL Server FCI 설치가 완료된 후 임시 클라이언트 액세스 포인트가 포함된 역할을 삭제할 수 있습니다.
  4. 설치 미디어를 찾습니다. 가상 머신이 Azure Marketplace 이미지 중 하나를 사용하는 경우 미디어는 C:\SQLServer_<version number>_Full에 있습니다.

  5. Setup을 선택합니다.

  6. SQL Server 설치 센터에서 설치를 선택합니다.

  7. SQL Server 장애 조치(failover) 클러스터 새로 설치를 선택한 다음, 마법사의 지침에 따라 SQL Server FCI를 설치합니다.

  8. 클러스터 네트워크 구성 페이지에서, 제공하는 IP는 SQL Server VM을 단일 서브넷에 배포했는지 또는 다중 서브넷에 배포했는지에 따라 다릅니다.

    1. 단일 서브넷 환경의 경우 Azure Load Balancer에 추가할 IP 주소를 제공합니다.
    2. 다중 서브넷 환경의 경우 이전에 장애 조치 클러스터 인스턴스 네트워크 이름의 IP 주소로 지정한 첫 번째 SQL Server VM의 서브넷에 보조 IP 주소를 제공합니다.

    첫 번째 VM의 서브넷에 있는 보조 IP 주소의 스크린샷입니다.

  9. 데이터베이스 엔진 구성에서 데이터 디렉터리는 프리미엄 파일 공유에 있어야 합니다. 공유의 전체 경로를 \\storageaccountname.file.core.windows.net\filesharename\foldername 형식으로 입력합니다. 파일 서버를 데이터 디렉터리로 지정했음을 알려주는 경고가 표시됩니다. 이 경고는 예상된 것입니다. 파일 공유를 보관할 때 RDP를 통해 VM에 액세스하는 데 사용한 사용자 계정이 SQL Server 서비스가 가능한 오류를 방지하는 데 사용하는 계정과 동일한지 확인합니다.

    파일 공유를 SQL 데이터 디렉터리로 사용하는 방법을 보여 주는 스크린샷입니다.

  10. 마법사의 단계를 완료하면 설치 프로그램이 첫 번째 노드에 SQL Server FCI를 설치합니다.

  11. 첫 번째 노드에서 FCI 설치에 성공하면 RDP를 사용하여 두 번째 노드에 연결합니다.

  12. SQL Server 설치 센터를 연 다음, 설치를 선택합니다.

  13. SQL Server 장애 조치(failover) 클러스터에 노드 추가를 선택합니다. 마법사의 지침에 따라 SQL Server를 설치하고 노드를 FCI에 추가합니다.

  14. 다중 서브넷 시나리오의 경우 클러스터 네트워크 구성에서 이전에 장애 조치(failover) 클러스터 인스턴스 네트워크 이름의 IP 주소로 지정한 두 번째 SQL Server VM의 서브넷에 보조 IP 주소를 입력합니다.

    두 번째 SQL Server VM 서브넷의 서브넷에 보조 IP 주소를 입력하는 스크린샷입니다.

    클러스터 네트워크 구성에서 다음을 선택하면 예제 이미지와 같이 SQL Server 설치 프로그램이 여러 서브넷을 검색했음을 나타내는 대화 상자가 표시됩니다. 를 선택하여 확인합니다.

    다중 서브넷 확인을 보여 주는 스크린샷입니다.

  15. 마법사에서 지침을 완료하면 두 번째 SQL Server FCI 노드가 추가됩니다.

  16. SQL Server 장애 조치 클러스터 인스턴스에 추가하려는 다른 모든 노드에서 이러한 단계를 반복합니다.

참고

Azure Marketplace 갤러리 이미지에는 SQL Server Management Studio가 설치되어 제공됩니다. 마켓플레이스 이미지를 사용하지 않은 경우 SSMS(SQL Server Management Studio)를 다운로드합니다.

SQL IaaS 에이전트 익스텐션에 등록

포털에서 SQL Server VM을 관리하려면 SQL IaaS 에이전트 익스텐션에 이를 등록합니다. SQL Server의 FCI(장애 조치(failover) 클러스터 인스턴스)가 있는 SQL VM에서는 제한된 기능만 사용할 수 있습니다.

SQL Server VM이 SQL IaaS 에이전트 익스텐션에 이미 등록되어 있고 에이전트가 필요한 모든 기능을 사용하도록 설정한 경우 익스텐션에서 SQL Server VM을 등록 취소하고 FCI가 설치된 후 다시 등록해야 합니다.

PowerShell을 사용하여 SQL Server VM을 등록합니다(-LicenseType은 PAYG 또는 AHUB일 수 있음).

# Get the existing compute VM
$vm = Get-AzVM -Name <vm_name> -ResourceGroupName <resource_group_name>

# Register SQL VM with SQL IaaS Agent extension
New-AzSqlVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName -Location $vm.Location `
   -LicenseType <license_type>

연결 구성

여러 서브넷에 SQL Server VM을 배포한 경우 이 단계를 건너뜁니다. SQL Server VM을 단일 서브넷에 배포한 경우 트래픽을 FCI로 라우팅하도록 추가 구성 요소를 구성해야 합니다. 장애 조치(failover) 클러스터 인스턴스에 대해 Azure Load Balancer가 있는 VNN(가상 네트워크 이름) 또는 분산 네트워크 이름을 구성할 수 있습니다. 두 항목의 차이점을 검토한 다음, 장애 조치 클러스터 인스턴스에 대해 분산 네트워크 이름 또는 가상 네트워크 이름 및 Azure Load Balancer를 배포합니다.

제한 사항

  • MSDTC(Microsoft Distributed Transaction Coordinator)는 Windows Server 2016 이전 버전에서 지원되지 않습니다.
  • FILESTREAM은 프리미엄 파일 공유를 사용하는 장애 조치(failover) 클러스터에 대해 지원되지 않습니다. 파일 스트림을 사용하려면 스토리지 공간 다이렉트 또는 Azure 공유 디스크를 대신 사용하여 클러스터를 배포합니다.
  • SQL IaaS Agent 익스텐션에 등록된 SQL Server FCI는 자동화된 백업, 패치, Microsoft Entra 인증 및 고급 포털 관리와 같은 에이전트가 필요한 기능을 지원하지 않습니다. 자세한 내용은 혜택 테이블을 참조하세요.
  • 데이터베이스 스냅샷은 스파스 파일 제한으로 인해 Azure Files에서 현재 지원되지 않습니다.
  • 데이터베이스 스냅숏은 지원되지 않으므로 사용자 데이터베이스에 대한 CHECKDB는 CHECKDB WITH TABLOCK로 대체됩니다. TABLOCK은 수행되는 검사를 제한합니다. 데이터베이스에 대해 DBCC CHECKCATALOG가 실행되지 않으며 Service Broker 데이터의 유효성이 검사되지 않습니다.
  • mastermsdb 데이터베이스의 DBCC CHECKDB는 지원되지 않습니다.
  • 메모리 내 OLTP 기능을 사용하는 데이터베이스는 프리미엄 파일 공유로 배포된 장애 조치(failover) 클러스터 인스턴스에서 지원되지 않습니다. 비즈니스에 메모리 내 OLTP가 필요한 경우 대신 Azure 공유 디스크 또는 스토리지 공간 다이렉트를 사용하여 FCI를 배포하는 것이 좋습니다.

제한된 익스텐션 지원

현재 SQL IaaS 에이전트 익스텐션에 등록된 Azure 가상 머신 기반 SQL Server 장애 조치(failover) 클러스터 인스턴스는 제한된 수의 기능만 지원합니다. 혜택 표를 참조하세요.

SQL Server VM이 SQL IaaS 에이전트 익스텐션에 이미 등록되어 있고 에이전트가 필요한 기능을 사용하도록 설정한 경우 해당 VM에 대한 SQL 가상 머신 리소스를 삭제하여 익스텐션에서 등록 취소한 다음 SQL IaaS 에이전트 익스텐션에 다시 등록해야 합니다. Azure Portal을 사용하여 SQL 가상 머신 리소스를 삭제할 때 올바른 가상 머신 옆의 확인란을 지워 해당 가상 머신이 삭제되지 않도록 합니다.