다음을 통해 공유


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 설정 탭의 스토리지에서 구성 변경을 선택하여 스토리지 구성 페이지를 엽니다. 값을 기본값 그대로 두거나 워크로드에 따라 사용자의 요구에 가장 적합하게 디스크 구성 유형을 수정할 수 있습니다.

SQL Server 설정 탭과 변경 구성 옵션을 강조 표시하는 스크린샷

참고 항목

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

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

프로비전 중 SQL Server VM 스토리지 구성 페이지의 Azure Portal 스크린샷

디스크 구성은 완전히 사용자 지정할 수 있으므로 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 가상 머신을 만들 필요는 없습니다.

SQL VM에 대한 tempdb 스토리지를 구성할 수 있는 위치를 보여 주는 스크린샷입니다.

또한 디스크에 대한 캐싱을 설정할 수 있습니다. 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 디스크에는 지원되지 않습니다. 자체 설치 SQL Server를 사용하여 Azure 가상 머신에서 디스크 구성을 수정하려면 디스크 창을 사용합니다.

기존 드라이브 수정

Azure Marketplace를 통해 배포된 기존 SQL Server VM의 경우 SQL 가상 머신 리소스 또는 디스크 창을 통해 Azure Portal에서 일부 스토리지 설정을 수정할 수 있습니다.

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

  • 디스크 더 추가하기
  • 기존 디스크 구성 또는 확장

구성 옵션 및 스토리지 사용량 섹션을 강조 표시하는 스크린샷

구성을 선택하면 디스크 유형을 변경하고 디스크를 추가할 수 있는 데이터 드라이브 확장 페이지가 열립니다. 디스크 창을 통해 디스크를 추가할 수도 있습니다.

기존 SQL Server VM에 대한 스토리지를 구성하는 데 사용되는 데이터 드라이브 확장 페이지를 보여 주는 Azure Portal의 스크린샷입니다.

특정 VM 크기에 대해 지원되는 최대 디스크에 이미 도달한 경우 VM 크기 조정이 필요할 수 있습니다.

tempdb 수정

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

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

SQL 가상 머신 리소스 페이지에서 Azure Portal의 tempdb 구성 페이지의 스크린샷입니다.

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

임시 디스크 크기 증가

임시 디스크 크기를 늘리려면 임시 스토리지용으로 상위 디스크 크기를 지원하는 SKU로 VM 크기를 조정해야 할 수 있습니다.

자동화된 변경 내용

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

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

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

스토리지 풀 만들기

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

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

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

참고 항목

Optimize-StoragePooOptimize-Volume을 사용하여 풀에서 공간 할당의 균형을 조정하고 임의로 대기 중인 I/O 패턴이 있는 워크로드 유형에 대한 성능을 최적화합니다.

캐싱 설정

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

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

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

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

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

    Azure Portal의 VM 디스크 구성 창을 보여주는 스크린샷입니다.

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

    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. 가상 머신으로 이동하여 설정에서 디스크를 선택합니다.

    Azure Portal의 VM 디스크 구성 창을 보여주는 스크린샷입니다.

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

    쓰기 가속기 캐시 정책을 보여 주는 스크린샷

  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 가상 머신 리소스의 디스크 구성 옵션 또는 스토리지 구성 창이 회색으로 표시됩니다.

다음과 같은 이유로 Azure Portal의 SQL 가상 머신 리소스 창에서 스토리지 페이지를 회색으로 표시할 수 있습니다.

  • SQL IaaS 에이전트 확장이 실패한 상태입니다. 삭제를 클릭한 다음 확장자로 SQL Server VM 등록을 다시 한 번 클릭합니다.
  • 스토리지 풀을 사용자 지정했습니다.
  • Marketplace가 아닌 이미지를 사용하고 있습니다.
  • 관리되지 않는 디스크를 사용하여 가상 머신을 만들었습니다. 관리 디스크만 지원됩니다.

디스크 확장 옵션이 회색으로 표시됨

디스크 확장 옵션은 다음과 같은 이유로 회색으로 표시될 수 있습니다.

  • 스토리지 풀을 사용자 지정했습니다. 디스크를 확장해야 하는 경우 스토리지 풀에 디스크를 추가하여 가상 디스크를 확대합니다.
  • 가상 디스크 또는 볼륨 이름을 기본값에서 변경했습니다.
    • 스토리지 풀 이름 지정: SQLVMStoragePool1, SQLVMStoragePool2, SQLVMStoragePool3,
    • 가상 디스크: SQLVMVirtualDisk1, SQLVMVirtualDisk2, SQLVMVirtualDisk3,
    • 볼륨: SQLVMDATA1, SQLVMLOG 및 SQLVMTEMPDB
  • SQL Server VM에 Windows 클러스터를 설치했으므로 디스크 확장은 지원되지 않습니다.

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

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

나의 트랜잭션 로그 꽉 참

로그가 가득 차면 전체 트랜잭션 로그 문제 해결을 검토합니다.

SQL 가상 머신 리소스를 사용하여 스토리지를 구성할 수 없음

다음 시나리오에서는 Azure Portal의 SQL 가상 머신 리소스에 대한 스토리지 구성 창을 사용할 수 없거나, 회색으로 표시할 수 없거나, 디스크 확장을 선택할 수 없습니다.

  • 자체 설치된 SQL Server 인스턴스가 있는 가상 머신. 현재 Azure Marketplace의 SQL Server VM 이미지만 지원됩니다.
  • 프리미엄 SSDv2를 사용하는 SQL Server VM. 현재 프리미엄 SSD를 사용하는 SQL Server VM만 지원됩니다.
  • SQL Server 구성 관리자에서 TCP/IP를 사용하지 않도록 설정한 경우.