Azure 관리 디스크 공유

적용 대상: ✔️ Linux VM ✔️ Windows VM ✔️ 유연한 확장 집합 ✔️ 균일한 확장 집합

Azure 공유 디스크는 여러 VM(가상 머신)에 관리 디스크를 동시에 연결할 수 있는 Azure 관리 디스크의 기능입니다. 관리 디스크를 여러 VM에 연결하면 새 클러스터된 애플리케이션을 배포하거나 기존 클러스터된 애플리케이션을 Azure로 마이그레이션할 수 있습니다.

공유 디스크는 클러스터 노드 통신 및 쓰기 잠금을 처리하는 WSFC(Windows Server 장애 조치(Failover) 클러스터) 또는 Pacemaker와 같은 클러스터 관리자를 사용해야 합니다. 공유 관리 디스크는 SMB/NFS를 사용하여 액세스할 수 있는 완전 관리형 파일 시스템을 기본적으로 제공하지 않습니다.

작동 방식

클러스터의 VM은 SCSI PR(SCSI 영구 예약)을 사용하여 클러스터된 애플리케이션에서 선택한 예약에 따라 연결된 디스크에서 데이터를 읽거나 쓸 수 있습니다. SCSI PR는 온-프레미스 SAN(저장 영역 네트워크)에서 실행되는 애플리케이션이 사용하는 업계 표준입니다. 관리 디스크에서 SCSI PR을 사용하도록 설정하면 이러한 애플리케이션을 있는 그대로 Azure로 마이그레이션할 수 있습니다.

공유 관리 디스크는 여러 VM에서 액세스할 수 있는 공유 블록 스토리지를 제공하며, LUN(논리 단위 번호)으로 표시됩니다. 이때 LUN은 대상(디스크)에서 개시 장치(VM)로 제공됩니다. 이러한 LUN은 VM에 대한 DAS(직접 연결 스토리지) 또는 로컬 드라이브처럼 보입니다.

제한 사항

일반적인 제한 사항

공유 디스크에는 디스크 유형에 관계없이 모든 공유 디스크에 적용되는 일반적인 제한 사항이 있습니다. 특정 유형의 공유 디스크에만 적용되는 추가 제한 사항도 있습니다. 다음 목록은 일반적인 제한 사항 목록입니다.

  • 현재는 울트라 디스크, 프리미엄 SSD v2, 프리미엄 SSD 및 표준 SSD만 공유 디스크로 사용할 수 있습니다
  • 공유 디스크는 개별 Virtual Machine Scale Sets에 연결할 수 있지만 Virtual Machine Scale Set 모델에서 정의되거나 자동으로 배포될 수 없습니다
  • 디스크가 연결된 모든 VM의 할당을 취소하거나 이러한 모든 VM에서 디스크를 분리하지 않으면 공유 디스크를 확장할 수 없습니다
  • 공유 디스크에는 쓰기 가속기가 지원되지 않습니다
  • 호스트 캐싱은 공유 디스크에 대해 지원되지 않습니다

공유 디스크를 사용할 수 있는 각 관리 디스크에는 디스크 유형별로 구성된 다음 제한 사항도 적용됩니다.

Ultra disks

Ultra disks에는 공유 디스크와 무관한 별도의 제한 사항 목록이 있습니다. Ultra disk 제한 사항은 Azure ultra disks 사용을 참조하세요.

Ultra disks를 공유하는 경우 다음과 같은 추가 제한 사항이 있습니다.

프리미엄 SSD v2

프리미엄 SSD v2 관리 디스크에는 공유 디스크와 무관한 별도의 제한 사항 목록이 있습니다. 이러한 제한 사항은 프리미엄 SSD v2 제한 사항을 참조하세요.

프리미엄 SSD v2 디스크를 공유하는 경우 다음과 같은 추가 제한 사항이 있습니다.

프리미엄 SSD

표준 SSD

운영 체제 요구 사항

공유 디스크는 여러 운영 체제를 지원합니다. 지원되는 운영 체제는 Windows 또는 Linux 섹션을 참조하세요.

요금 청구 영향

디스크를 공유하는 경우 디스크 유형에 따라 청구가 두 가지 방법으로 영향을 받을 수 있습니다.

공유 프리미엄 SSD 디스크의 경우 디스크 계층 비용 외에도 SSD가 탑재되는 각 VM에 추가 요금이 부과됩니다. 자세한 내용은 관리 디스크 가격 책정을 참조하세요.

울트라 디스크에는 탑재된 각 VM에 대한 추가 요금이 없습니다. 디스크가 구성된 총 IOPS 및 MB/s에 대한 요금이 청구됩니다. 일반적으로 울트라 디스크에는 총 IOPS/MB/s를 결정하는 두 가지 성능 제한이 있습니다. 그러나 공유 울트라 디스크로 구성된 경우 총 4개에 대해 두 개의 성능 제한이 추가로 노출됩니다. 이러한 두 가지 추가 제한은 추가 비용으로 성능을 향상할 수 있으며 각 미터에는 기본값이 있으므로 디스크의 성능과 비용이 증가합니다.

공유 울트라 디스크에 있는 네 가지 성능 제한은 diskIOPSReadWrite, diskMB/sReadWrite, diskIOPSReadOnly, diskMB/sReadOnly입니다. 각 성능 제한은 디스크의 성능을 변경하도록 구성할 수 있습니다. 공유 울트라 디스크의 성능은 프로비저닝된 총 IOPS(diskIOPSReadWrite + diskIOPSReadOnly) 및 프로비저닝된 총 처리량 MB/s(diskMB/sReadWrite + diskMB/sReadOnly)로 계산됩니다.

프로비저닝된 총 IOPS와 프로비저닝된 총 처리량을 확인했으면 가격 계산기에서 이를 사용하여 울트라 공유 디스크의 비용을 결정할 수 있습니다.

디스크 크기

현재로서는 울트라 디스크, 프리미엄 SSD v2, 프리미엄 SSD 및 표준 SSD만 공유 디스크를 활성화할 수 있습니다. 디스크 크기에 따라 maxShares 제한이 다를 수 있으므로 maxShares 값을 설정할 때 초과할 수 없습니다.

각 디스크에 대해 디스크를 동시에 공유할 수 있는 최대 노드 수를 나타내는 maxShares 값을 정의할 수 있습니다. 예를 들어 2 노드 장애 조치(failover) 클러스터를 설정하려는 경우 maxShares=2를 설정합니다. 최댓값이 상한입니다. 노드 수가 지정된 maxShares 값보다 적으면 노드가 클러스터에 조인하거나 탈퇴할 수 있습니다(디스크를 탑재 또는 분리).

참고 항목

maxShares 값은 디스크가 모든 노드에서 분리된 경우에만 설정하거나 편집할 수 있습니다.

프리미엄 SSD 범위

다음 표에서는 프리미엄 SSD 크기별로 maxShares에 허용되는 최댓값을 보여줍니다.

디스크 크기 maxShares 제한
P1,P2,P3,P4,P6,P10,P15,P20 3
P30, P40, P50 5
P60, P70, P80 10

디스크의 IOPS 및 대역폭 제한은 maxShares 값에 의해 영향을 받지 않습니다. 예를 들어 P15 디스크의 최대 IOPS는 maxShares = 1 또는 maxShares > 1이든 상관없이 1100입니다.

표준 SSD 범위

다음 표에서는 표준 SSD 크기별로 maxShares에 허용되는 최댓값을 보여줍니다.

디스크 크기 maxShares 제한
E1,E2,E3,E4,E6,E10,E15,E20 3
E30, E40, E50 5
E60, E70, E80 10

디스크의 IOPS 및 대역폭 제한은 maxShares 값에 의해 영향을 받지 않습니다. 예를 들어 E15 디스크의 최대 IOPS는 maxShares = 1 또는 maxShares > 1이든 상관없이 500입니다.

울트라 디스크 범위

최소 maxShares 값은 1이고 최대 maxShares 값은 15입니다. 울트라 디스크에는 크기 제한이 없으며 모든 크기의 울트라 디스크는 최댓값을 포함하여 maxShares에 대한 모든 값을 사용할 수 있습니다.

프리미엄 SSD v2 범위

최소 maxShares 값은 1이고 최대 maxShares 값은 15입니다. 프리미엄 SSD v2에는 크기 제한이 없으며 모든 크기의 프리미엄 SSD v2 디스크는 최댓값을 포함하여 maxShares에 대한 모든 값을 사용할 수 있습니다.

샘플 워크로드

Windows

Azure 공유 디스크는 Windows Server 2008 이상에서 지원됩니다. 클러스터 노드 통신을 위해 핵심 인프라를 모두 처리하는 WSFC에서 빌드되는 대부분의 Windows 기반 클러스터링은 애플리케이션이 병렬 액세스 패턴을 활용할 수 있도록 합니다. WSFC를 사용하면 Windows Server 버전에 따라 CSV 기반 옵션과 CSV 기반이 아닌 옵션을 모두 사용할 수 있습니다. 자세한 내용은 장애 조치(failover) 클러스터 만들기를 참조하세요.

WSFC에서 실행되는 인기 있는 일부 애플리케이션은 다음과 같습니다.

Linux

Azure 공유 디스크는 다음에서 지원됩니다.

Linux 클러스터는 Pacemaker와 같은 클러스터 관리자를 사용할 수 있습니다. Pacemaker는 Corosync를 기반으로 하며, 고가용성 환경에 배포된 애플리케이션에 클러스터 통신을 사용하도록 설정합니다. 몇 가지 일반적인 클러스터된 파일 시스템으로는 ocfs2gfs2가 있습니다. SCSI PR(SCSI 영구 예약) 및/또는 SBD(STONITH Block Device) 기반 클러스터링 모델을 사용하여 디스크에 대한 액세스를 조정할 수 있습니다. SCSI PR을 사용할 때 fence_scsisg_persist와 같은 유틸리티를 사용하여 예약 및 등록을 조작할 수 있습니다.

영구 예약 흐름

다음 다이어그램에는 SCSI PR를 사용해 한 노드에서 다른 노드로 장애 조치(failover)할 수 있는 2노드 클러스터형 데이터베이스 애플리케이션이 나와 있습니다.

Azure VM1, VM2 및 이들 간에 공유되는 디스크로 구성된 두 개의 노드 클러스트. 클러스터에서 실행 중인 애플리케이션이 디스크에 대한 액세스를 처리합니다.

흐름은 다음과 같습니다.

  1. Azure VM1 및 VM2 레지스터 둘 다에서 실행되는, 클러스터된 애플리케이션은 디스크에 대한 읽기 또는 쓰기 의도를 등록합니다.
  2. 그러면 VM1의 애플리케이션 인스턴스가 디스크에 대한 독점 쓰기 예약을 받습니다.
  3. 이 예약은 Azure 디스크에 적용되며, 이제 데이터베이스가 디스크에 독점적으로 데이터를 쓸 수 있습니다. VM2의 애플리케이션 인스턴스 쓰기가 실패하게 됩니다.
  4. VM1의 애플리케이션 인스턴스가 중단되면 VM2의 인스턴스가 이제 데이터베이스 장애 조치(failover) 및 디스크 인계를 시작할 수 있습니다.
  5. 이제 이 예약이 Azure 디스크에 적용되고 디스크가 더 이상 VM1의 쓰기를 허용하지 않으며 VM2의 쓰기만 허용합니다.
  6. 클러스터된 애플리케이션은 데이터베이스 장애 조치(failover)를 완료하고 VM2의 요청을 처리할 수 있습니다.

다음 다이어그램은 기계 학습 모델 학습과 같은 병렬 프로세스를 실행하기 위해 디스크에서 데이터를 읽는 여러 노드로 구성된 다른 일반적인 클러스터된 워크로드를 보여 줍니다.

4노드 VM 클러스터. 각 노드는 쓰기 의도를 등록하고, 애플리케이션은 쓰기 결과를 올바르게 처리하기 위해 독점 예약을 받음

흐름은 다음과 같습니다.

  1. 모든 VM 레지스터에서 실행되는, 클러스터된 애플리케이션은 디스크에 대한 읽기 또는 쓰기 의도를 등록합니다.
  2. VM1의 애플리케이션 인스턴스는 다른 VM에서 디스크에 대한 읽기를 시작할 때 디스크에 대한 독점 쓰기 예약을 받습니다.
  3. 이 예약은 Azure 디스크에 적용됩니다.
  4. 이제 클러스터의 모든 노드에서 디스크의 데이터를 읽을 수 있습니다. 클러스터의 모든 노드를 대표하는 하나의 노드만 결과를 디스크에 쓰기 저장합니다.

Ultra Disk 및 프리미엄 SSD v2 예약 흐름

Ultra Disks와 프리미엄 SSD v2 관리 디스크는 모두 두 개의 추가 제한을 제공하여 각각 총 4개의 제한을 제공합니다. 따라서 이 예약 흐름이 이전 섹션에 설명된 대로 작동하거나 성능을 제한하고 더 세부적으로 성능을 분산할 수 있습니다.

Reservation Holder, Registered 및 Others에 대한 'ReadOnly' 또는 'Read/Write' 액세스를 보여주는 테이블의 이미지.

성능 제한

프리미엄 SSD 성능 제한

프리미엄 SSD를 사용하는 경우 디스크 IOPS 및 처리량은 고정됩니다. 예를 들어 P30의 IOPS는 5000입니다. 이 값은 디스크가 2개의 VM 또는 5개의 VM에서 공유되는지 여부와 상관없이 유지됩니다. 디스크 제한은 단일 VM에서 도달하거나 둘 이상의 VM으로 나눌 수 있습니다.

Ultra Disk 및 프리미엄 SSD v2 성능 제한

Ultra Disks 및 프리미엄 SSD v2 관리 디스크는 수정 가능한 특성을 제공하고 수정할 수 있도록 하여 성능을 설정하는 고유한 기능을 제공합니다. 기본적으로 수정 가능한 특성은 두 개뿐이지만 공유 Ultra Disks 및 프리미엄 SSD v2 관리 디스크는에는 특성이 두 개 더 있습니다. Ultra Disks 및 Premium SSD v2는 연결된 각 VM에 이러한 특성을 분할합니다. 용량, IOPS 및 처리량의 이 분포가 작동하는 방식에 대한 몇 가지 예제는 예제 섹션을 참조하세요.

attribute 설명
DiskIOPSReadWrite(읽기/쓰기 디스크 IOPS) 쓰기 액세스 권한이 있는 공유 디스크를 탑재하는 모든 VM에서 허용되는 총 IOPS 수
DiskMB/sReadWrite(읽기/쓰기 디스크 처리량) 쓰기 액세스 권한이 있는 공유 디스크를 탑재하는 모든 VM에서 허용되는 총 처리량(MB/s)
DiskIOPSReadOnly*(읽기 전용 디스크 IOPS) 공유 디스크를 ReadOnly로 탑재하는 모든 VM에서 허용되는 총 IOPS 수입니다.
DiskMB/sReadOnly*(읽기 전용 디스크 처리량) 공유 디스크를 ReadOnly로 탑재하는 모든 VM에서 허용되는 총 처리량(MB/s)입니다.

* 공유 Ultra Disks 및 공유 프리미엄 SSD v2 관리 디스크에만 적용됩니다

다음 수식에서는 사용자가 수정 가능한 성능 특성을 설정하는 방법을 설명합니다.

  • DiskIOPSReadWrite(읽기/쓰기 디스크 IOPS):
    • 디스크 100GiB 이하의 기준 최소 IOPS는 100입니다.
      • 100GiB보다 큰 디스크의 경우, 설정할 수 있는 기준 최소 IOPS는 GiB당 1씩 증가합니다. 따라서 101GiB 디스크에 대해 DiskIOPSReadWrite를 설정할 수 있는 가장 낮은 값은 101 IOPS입니다.
    • 이 특성을 설정할 수 있는 최댓값은 디스크 크기에 따라 결정되며 수식은 최대 400,000까지 300 * GiB입니다.
  • DiskMB/sReadWrite(읽기/쓰기 디스크 처리량)
    • 이 특성의 최소 처리량(MB/s)은 IOPS에 의해 결정되며 수식은 IOPS당 초당 4KiB입니다. 따라서 101 IOPS가 있는 경우 설정할 수 있는 최소 MB/s는 1입니다.
    • 이 특성을 설정할 수 있는 최댓값은 설정한 IOPS 양에 따라 결정되며 수식은 IOPS당 초당 256KiB이며 최대 10,000MB/s입니다.
  • DiskIOPSReadOnly(읽기 전용 디스크 IOPS)
    • 이 특성의 최소 기준 IOPS는 100입니다. DiskIOPSReadOnly의 경우, 디스크 크기에 따라 기준이 증가하지 않습니다.
    • 이 특성을 설정할 수 있는 최댓값은 디스크 크기에 따라 결정되며 수식은 최대 400,000까지 300 * GiB입니다.
  • DiskMB/sReadOnly(읽기 전용 디스크 처리량)
    • 이 특성의 최소 처리량(MB/s)은 1입니다. DiskMB/sReadOnly의 경우 IOPS로 기준이 증가하지 않습니다.
    • 이 특성을 설정할 수 있는 최댓값은 설정한 IOPS 양에 따라 결정되며 수식은 IOPS당 초당 256KiB이며 최대 10,000MB/s입니다.

예제

공유 Ultra Disk에서 제한이 작동하는 방법을 구체적으로 보여 주는 몇 가지 시나리오의 예는 다음과 같습니다.

클러스터 공유 볼륨을 사용하는 2노드 클러스터

클러스터된 공유 볼륨을 사용하는 2노드 WSFC의 예는 다음과 같습니다. 이 구성을 사용하는 경우 두 VM이 디스크에 대한 동시 쓰기 액세스 권한을 가지며, 이로 인해 두 VM에서 ReadWrite 제한이 분할되고 ReadOnly 제한이 사용되지 않습니다.

CSV 2노드 울트라 예제

클러스터 공유 볼륨을 사용하지 않는 2노드 클러스터

다음은 클러스터된 공유 볼륨을 사용하지 않는 2노드 WSFC의 예입니다. 이 구성을 사용하면 디스크에 대한 쓰기 권한이 하나의 VM에만 있습니다. 이로 인해 ReadWrite 제한이 주 VM에 독점적으로 사용되며, ReadOnly 제한은 보조 데이터베이스에만 사용됩니다.

CSV 2노드에 CSV Ultra Disk가 없는 예제

4노드 Linux 클러스터

단일 작성기 및 3개의 스케일 아웃 판독기를 사용하는 4노드 Linux 클러스터의 예는 다음과 같습니다. 이 구성을 사용하면 디스크에 대한 쓰기 권한이 하나의 VM에만 있습니다. 이로 인해 ReadWrite 제한이 주 VM에 독점적으로 사용되며, ReadOnly 제한이 보조 VM에 분할됩니다.

4노드 울트라 제한 예제

공유 Ultra Disk 및 프리미엄 SSD v2 가격 책정

공유 Ultra Disks 및 공유 프리미엄 SSD v2 관리 디스크 모두 프로비전된 용량, 프로비전된 총 IOPS(diskIOPSReadWrite + diskIOPSReadOnly) 및 프로비전된 총 처리량 MB/s(diskMB/sReadWrite + diskMB/sReadOnly)에 따라 가격이 책정됩니다. 추가 VM 탑재마다 추가 요금이 부과되지 않습니다. 예를 들어 다음 구성(diskSizeGB: 1024, DiskIOPSReadWrite: 10000, DiskMB/sReadWrite: 600, DiskIOPSReadOnly: 100, DiskMB/sReadOnly: 1)이 포함된 공유 Ultra Disk는 2개 VM 또는 5개의 VM에 탑재되었는지 여부에 관계없이 1024GiB, 10100 IOPS 및 601MB/s로 청구됩니다.

다음 단계

관리 디스크에 대한 공유 디스크를 사용하도록 설정하고 사용하는 데 관심이 있는 경우 공유 디스크 사용 문서로 이동합니다.

추가 질문이 있는 경우 FAQ의 공유 디스크 섹션을 참조하세요.