Azure VM 기반 SQL Server용 스토리지 구성

적용 대상:Azure VM 기반 SQL Server

이 문서에서는 프리미엄 SSD를 사용하여 Azure Marketplace를 통해 배포된 Azure VM(가상 머신) 기반 SQL Server용 스토리지를 구성하는 방법을 설명합니다.

마켓플레이스 이미지를 통해 배포된 SQL Server VM은 배포 중에 수정할 수 있는 기본 스토리지 모범 사례를 자동으로 따릅니다. 이러한 구성 설정 중 일부는 배포 후 변경할 수 있습니다.

참고 항목

이 문서는 프리미엄 SSD v2 스토리지가 아닌 Premium Storage를 사용하는 Azure VM 기반 SQL Server에만 적용됩니다.

필수 구성 요소

자동화된 스토리지 구성 설정을 사용하려면 가상 머신에는 다음과 같은 특성이 필요합니다.

새 VM

다음 섹션에서는 새 SQL Server 가상 머신에 대한 스토리지를 구성하는 방법을 설명합니다.

Azure portal

SQL Server 갤러리 이미지를 사용하여 Azure VM을 프로비저닝할 때 SQL Server 설정 탭의 스토리지에서 구성 변경을 선택하여 스토리지 구성 페이지를 엽니다. 값을 기본값 그대로 두거나 워크로드에 따라 사용자의 요구에 가장 적합하게 디스크 구성 유형을 수정할 수 있습니다.

Screenshot that highlights the SQL Server settings tab and the Change configuration option.

참고 항목

지원되는 VM 크기를 선택한 경우 디스크 크기, IOPS 및 처리량을 세부적으로 제어할 수 있는 프리미엄 SSD v2를 사용할 수 있습니다.

디스크 유형 및 디스크 수를 지정하여 데이터 파일 및 로그 파일의 드라이브 위치를 선택합니다. IOPS 값을 사용하여 비즈니스 요구 사항을 충족하는 최상의 스토리지 구성을 결정합니다. Premium Storage를 선택하면 SQL Server VM 성능 모범 사례에 따라 캐싱이 데이터 드라이브에 대해 ReadOnly로 설정되고 로그 드라이브에 대해 없음으로 설정됩니다.

Screenshot from the Azure portal of the SQL Server VM Storage Configuration page during provisioning.

디스크 구성은 완전히 사용자 지정할 수 있으므로 SQL Server VM에 필요한 스토리지 토폴로지, 디스크 유형 및 IOPS를 구성할 수 있습니다. 또한 SQL Server VM이 지원되는 하위 지역 중 하나에 있고 구독에 Ultra Disk를 사용하도록 설정한 경우 디스크 유형 옵션으로 Ultradisk를 사용할 수 있습니다.

TempDb 스토리지에서 데이터베이스 파일 위치, 파일 수, 초기 크기, 자동 증가 크기(MB)와 같은 tempdb 데이터베이스 설정을 구성합니다.

  • 현재 배포 중 tempdb 파일의 최대 수는 8개이지만 SQL Server VM이 배포된 후 더 많은 파일을 추가할 수 있습니다.
  • 권장 사항에 따라 D: 로컬 SSD 볼륨에 SQL Server 인스턴스 tempdb를 구성하면 SQL IaaS 에이전트 익스텐션이 재프로비저닝 시 필요한 폴더와 권한을 관리합니다. Azure Marketplace의 이미지를 사용하여 SQL 가상 머신을 만들 필요는 없습니다.

Screenshot that shows where you can configure the tempdb storage for your SQL VM.

또한 디스크에 대한 캐싱을 설정할 수 있습니다. Azure VM은 프리미엄 디스크를 사용할 경우 Blob 캐시라는 다중 계층 캐싱 기술이 적용됩니다. Blob 캐시는 캐싱을 위해 가상 머신 RAM과 로컬 SSD의 조합을 사용합니다.

프리미엄 SSD에 대한 디스크 캐싱은 ReadOnly, *ReadWrite 또는 없음일 수 있습니다.

  • ReadOnly 캐싱은 Premium Storage에 저장된 SQL Server 데이터 파일에 매우 유용합니다. ReadOnly 캐싱은 낮은 읽기 대기 시간과 높은 읽기 IOPS 및 처리량을 제공합니다. 읽기가 VM 메모리 및 로컬 SSD 내에 있는 캐시에서 수행되기 때문입니다. 이러한 읽기는 Azure Blob Storage에서 데이터 디스크를 읽는 것보다 훨씬 빠릅니다. Premium Storage는 캐시에서 처리된 읽기를 디스크 IOPS 및 처리량으로 계산하지 않습니다. 따라서 애플리케이션은 더 높은 총 IOPS 및 처리량을 달성할 수 있습니다.

  • SQL Server 로그 파일을 호스트하는 디스크에는 없음 캐시 구성을 사용해야 합니다. 로그 파일은 순차적으로 기록되고 ReadOnly 캐싱이 도움이 되지 않기 때문입니다.

  • ReadWrite 캐싱은 SQL Server 파일을 호스트하는 데 사용할 수 없습니다. SQL Server는 ReadWrite 캐시와의 데이터 일관성을 지원하지 않기 때문입니다. 쓰기가 ReadOnly Blob 캐시 계층을 통과할 경우 읽기가 ReadOnly Blob 캐시 용량을 불필요하게 소비하고 대기 시간을 약간 증가시킵니다.

    스토리지 구성이 선택한 VM 크기에 적용되는 제한과 일치해야 합니다. VM 크기의 성능 용량을 초과하는 스토리지 매개 변수를 선택하면 다음 경고가 발생합니다. The desired performance might not be reached due to the maximum virtual machine disk performance cap. 디스크 유형을 변경하여 IOP를 줄이거나 VM 크기를 늘려 성능 용량 제한을 높입니다. 이 경우 프로비저닝이 중지되지 않습니다.

선택을 기반으로 Azure는 VM을 만든 후에 다음과 같은 스토리지 구성 작업을 수행합니다.

  • 프리미엄 SSD를 만들고 가상 머신에 연결합니다.
  • SQL Server에 액세스할 수 있도록 데이터 디스크를 구성합니다.
  • 지정된 크기와 성능(IOPS 및 처리량) 요구 사항에 따라 스토리지 풀에 데이터 디스크를 구성합니다.
  • 가상 컴퓨터에 새 드라이브와 스토리지 풀을 연결합니다.

Azure Portal에서 SQL Server VM을 만드는 방법의 전체 연습은 프로비전 자습서를 참조하세요.

리소스 관리자 템플릿

다음 Resource Manager 템플릿을 사용하는 경우 두 개의 프리미엄 데이터 디스크는 스토리지 풀 구성 없이 기본적으로 연결됩니다. 그러나 이러한 템플릿을 사용자 지정하여 가상 머신에 연결된 프리미엄 데이터 디스크의 수를 변경할 수 있습니다.

빠른 시작 템플릿

다음 빠른 시작 템플릿을 사용하여 스토리지 최적화를 기반으로 SQL Server VM을 배포할 수 있습니다.

참고 항목

일부 VM 크기에는 임시 또는 로컬 스토리지가 없을 수 있습니다. 임시 저장소 없이 Azure VM 기반 SQL Server를 배포하는 경우 tempdb 데이터 및 로그 파일은 데이터 폴더에 배치됩니다.

기존 VM

참고 항목

스토리지는 Azure Marketplace의 SQL Server 이미지에서 배포된 SQL Server VM에 대해서만 구성할 수 있으며 현재 프리미엄 SSD v2 디스크에는 지원되지 않습니다.

Azure Marketplace를 통해 배포된 기존 SQL Server VM의 경우 Azure Portal에서 일부 스토리지 설정을 수정할 수 있습니다.

스토리지 설정을 수정하려면 SQL 가상 머신 리소스를 열고 설정에서 스토리지 구성을 선택합니다.

Screenshot that highlights the Configure option and the Storage Usage section.

SQL Server VM 만들기 프로세스 중에 구성된 드라이브의 디스크 설정을 수정할 수 있습니다. 구성을 선택하면 디스크 유형을 변경하고 디스크를 추가할 수 있는 데이터 드라이브 확장 페이지가 열립니다.

A screenshot from the Azure portal showing the Extend Data drive page, used to configure storage for an existing SQL Server VM.

스토리지 구성 페이지를 사용하여 tempdb 파일 수, 초기 크기 및 자동 증가 비율과 같은 tempdb 설정을 수정할 수도 있습니다. tempdb 옆에 있는 구성을 선택하여 tempdb 구성 페이지를 엽니다.

tempdb 데이터 파일 구성 옆에 있는 를 선택하여 설정을 수정한 다음, 다시 시작할 때 tempdb 데이터베이스 폴더 관리 옆에 있는 를 선택하면 다음에 SQL Server 서비스가 시작될 때 Azure에서 tempdb 구성, 폴더 및 권한을 관리할 수 있습니다. Azure Marketplace의 이미지를 사용하여 SQL 가상 머신을 만들 필요는 없습니다.

Screenshot of the tempdb configuration page of the Azure portal from the SQL virtual machines resource page.

변경 내용을 적용하려면 SQL Server 서비스를 다시 시작합니다.

자동화된 변경 내용

이 섹션에서는 Azure가 SQL Server VM을 프로비저닝하거나 Azure Portal에서 구성하는 동안 자동으로 수행하는 스토리지 구성 변경에 대한 참조를 제공합니다.

  • Azure는 VM에서 선택된 스토리지로부터 스토리지 풀을 구성합니다. 이 문서의 다음 섹션에서는 스토리지 풀 구성에 대해 자세히 설명합니다.
  • 자동 스토리지 구성은 항상 프리미엄 SSD P30 데이터 디스크를 사용합니다. 선택한 테라바이트 수와 VM에 연결된 데이터 디스크의 수 간에 1:1 매핑이 됩니다.

가격 책정 정보는 디스크 스토리지 탭의 스토리지 가격 책정 페이지를 참조하세요.

스토리지 풀 만들기

Azure는 다음 설정을 사용하여 SQL Server VM에 스토리지 풀을 만듭니다.

설정
스트라이프 크기 64KB
디스크 크기 각각 1TB
캐시 읽기
할당 크기 64KB NTFS 할당 단위 크기
복구 단순 복구(복원력 없음)
열 수 데이터 디스크 수 최대 81

1 스토리지 풀을 만든 후에 스토리지 풀에서 열 수를 변경할 수 없습니다.

캐싱 설정

프리미엄 SSD의 경우 디스크 수준에서 캐싱 정책을 변경할 수 있습니다. Azure Portal, PowerShell 또는 Azure CLI를 사용하여 수행할 수 있습니다.

Azure Portal에서 캐싱 정책을 변경하려면 다음 단계를 따르세요.

  1. SQL Server 서비스를 중지합니다.

  2. Azure Portal에 로그인합니다.

  3. 가상 머신으로 이동하여 설정에서 디스크를 선택합니다.

    Screenshot showing the VM disk configuration pane in the Azure portal.

  4. 드롭다운 목록에서 디스크에 대한 적절한 캐싱 정책(읽기 전용 또는 없음)을 선택합니다.

    Screenshot showing the disk caching policy configuration in the Azure portal.

  5. 변경 내용이 적용되면 SQL Server VM을 다시 시작하고 SQL Server 서비스를 시작합니다.

Write Accelerator 사용

쓰기 가속기는 M 시리즈 Virtual Machines(VM)에서만 사용할 수 있는 디스크 기능입니다. 쓰기 가속화의 목적은 대용량 중요 업무용 OLTP 워크로드 또는 데이터 웨어하우스 환경으로 인해 한 자릿수 I/O 대기 시간이 필요할 때 Azure Premium Storage에 대한 쓰기의 I/O 대기 시간을 개선하는 것입니다.

쓰기 가속기를 사용하도록 설정하기 전에 몇 가지 제한 사항을 검토하여 비즈니스에 허용되는지 확인합니다.

쓰기 가속화 정책을 변경하기 전에 모든 SQL Server 활동을 중지하고 SQL Server 서비스를 종료합니다.

디스크가 스트라이프된 경우 각 디스크에 대해 개별적으로 쓰기 가속을 사용하도록 설정하고 변경하기 전에 Azure VM을 종료해야 합니다.

Azure Portal을 사용하여 쓰기 가속을 사용하도록 설정하려면 다음 단계를 따르세요.

  1. SQL Server 서비스를 중지합니다. 디스크가 스트라이프된 경우 가상 머신을 종료합니다.

  2. Azure Portal에 로그인합니다.

  3. 가상 머신으로 이동하여 설정에서 디스크를 선택합니다.

    Screenshot showing the VM disk configuration pane in the Azure portal.

  4. 드롭다운 목록에서 디스크에 대한 쓰기 가속기로 캐시 옵션을 선택합니다.

    Screenshot showing the write accelerator cache policy.

  5. 변경 사항이 적용되면 가상 머신과 SQL Server 서비스를 시작합니다.

디스크 스트라이프

더 많은 처리량이 필요한 경우 추가 데이터 디스크를 추가하고 디스크 스트라이프를 사용할 수 있습니다. 데이터 디스크 수를 확인하려면 로그 및 tempdb를 포함하여 SQL Server 데이터 파일에 필요한 처리량 및 대역폭을 분석합니다. 처리량 및 대역폭 제한은 VM 크기에 따라 달라집니다. 자세한 내용은 VM 크기를 참조하세요.

  • Windows 8/Windows Server 2012 이상인 경우 다음 지침을 통해 스토리지 공간을 사용합니다.

    1. 인터리브(스트라이프 크기)를 64KB(65,536 바이트)로 설정하여 파티션 잘못 맞춤으로 인한 성능 영향을 방지합니다. 이는 PowerShell로 설정되어야 합니다.

    2. 열 수를 실제 디스크 수로 설정합니다. 8개 이상의 디스크(서버 관리자 UI 아님)를 구성하는 경우 PowerShell을 사용합니다.

예를 들어 다음 PowerShell은 인터리브 크기가 64KB이고 열 수가 스토리지 풀의 물리적 디스크 양과 동일한 새 스토리지 풀을 만듭니다.

$PhysicalDisks = Get-PhysicalDisk | Where-Object {$_.FriendlyName -like "*2" -or $_.FriendlyName -like "*3"}

New-StoragePool -FriendlyName "DataFiles" -StorageSubsystemFriendlyName "Windows Storage on <VM Name>" `
    -PhysicalDisks $PhysicalDisks | New-VirtualDisk -FriendlyName "DataFiles" `
    -Interleave 65536 -NumberOfColumns $PhysicalDisks.Count -ResiliencySettingName simple `
    -UseMaximumSize |Initialize-Disk -PartitionStyle GPT -PassThru |New-Partition -AssignDriveLetter `
    -UseMaximumSize |Format-Volume -FileSystem NTFS -NewFileSystemLabel "DataDisks" `
    -AllocationUnitSize 65536 -Confirm:$false

Windows Server 2016 이상에서 -StorageSubsystemFriendlyName의 기본값은 Windows Storage on <VM Name>입니다.

알려진 문제

SQL 가상 머신 리소스의 디스크 구성 옵션 또는 스토리지 구성 창이 회색으로 표시됩니다.

SQL IaaS 에이전트 익스텐션이 실패 상태인 경우 Azure Portal에서 스토리지 구성 창이 회색으로 표시될 수 있습니다. SQL IaaS 에이전트 익스텐션을 복구하십시오.

스토리지 풀을 사용자 지정했거나 마켓플레이스가 아닌 이미지를 사용하는 경우 스토리지 구성 창에서 구성이 회색으로 표시될 수 있습니다.

1TB의 할당되지 않은 공간의 디스크를 스토리지 풀에서 제거할 수 없습니다.

스토리지 풀에 속한 디스크에서 할당되지 않은 공간은 제거할 수 없습니다.