Azure Batch 풀에 임시 OS 디스크 노드 사용

일부 Azure VM(가상 머신) 시리즈는 OS 디스크를 노드 가상 머신 로컬 스토리지에 만드는 임시 OS 디스크를 사용할 수 있도록 지원합니다. 기본 Batch 풀 구성은 Azure 관리 디스크를 노드 OS 디스크에 사용합니다. 여기서 관리 디스크는 실제 디스크와 비슷하지만 원격 Azure Storage에서 가상화되고 유지됩니다.

Batch 워크로드의 경우 임시 OS 디스크를 사용할 때의 주요 이점은 OS 디스크 성능 향상으로 인한 풀과 관련된 비용 절감, 더 빠른 노드 시작 시간 가능성 및 애플리케이션 성능 향상입니다. 임시 OS 디스크를 워크로드에 사용할지 여부를 선택하는 경우 다음 영향을 고려합니다.

  • 임시 OS 디스크에 대한 읽기/쓰기 대기 시간이 짧아 애플리케이션 성능이 향상될 수 있습니다.
  • 임시 OS 디스크에 대한 스토리지 비용은 없지만 각 관리형 OS 디스크에 대한 비용이 있습니다.
  • Batch에서 지원하는 경우 컴퓨팅 노드에 대한 이미지 재설치는 관리형 디스크에 비해 임시 디스크의 경우 더 빠릅니다.
  • 임시 OS 디스크를 사용하는 경우 노드 시작 시간이 약간 더 빠를 수 있습니다.
  • 임시 OS 디스크의 내구성과 가용성은 크게 높지 않습니다. 어떤 이유로든 VM이 제거되면 OS 디스크가 손실됩니다. Batch 워크로드는 기본적으로 상태 비저장이며 일반적으로 유지되는 OS 디스크의 변경과 관련이 없으므로 임시 OS 디스크는 대부분의 Batch 워크로드에 사용하는 데 적합합니다.
  • 임시 OS 디스크는 현재 일부 Azure VM 시리즈에서 지원되지 않습니다. VM 크기가 임시 OS 디스크를 지원하지 않는 경우 OS 관리 디스크를 사용해야 합니다.

참고 항목

임시 OS 디스크 구성은 'virtualMachineConfiguration' 풀에만 적용되며, 'cloudServiceConfiguration' 풀에서는 지원되지 않습니다. 'cloudServiceConfiguration' 풀에서 모든 기능을 지원하지 않고 새로운 기능이 계획되어 있지 않으므로 'virtualMachineConfiguration'을 Batch 풀에 사용하는 것이 좋습니다. 2024년 2월 29일 이후 새 ‘cloudServiceConfiguration’ 풀을 생성하거나 기존 풀에 새 노드를 추가할 수 없습니다. 자세한 내용은 Cloud Services에서 Virtual Machine으로 Batch 풀 구성 마이그레이션을 참조하세요.

VM 시리즈 지원

VM 시리즈에서 임시 OS 디스크를 지원하는지 여부를 확인하려면 각 VM 인스턴스에 대한 설명서를 확인합니다. 예를 들어 Ddv4 및 Ddsv4 시리즈는 임시 OS 디스크를 지원합니다.

또는 프로그래밍 방식으로 쿼리하여 'EphemeralOSDiskSupported' 기능을 확인할 수 있습니다. 이 기능을 쿼리하는 PowerShell cmdlet의 예제는 임시 OS 디스크 질문과 대답에 나와 있습니다.

임시 OS 디스크를 사용하는 풀 만들기

EphemeralOSDiskSettings 속성은 기본적으로 설정되지 않습니다. 풀 노드에서 임시 OS 디스크를 사용하도록 구성하려면 이 속성을 설정해야 합니다.

서비스 관리형 제거 정책으로 인해 임시 OS 디스크를 Batch 풀의 스폿 VM과 함께 사용할 수 없습니다.

다음 예제에서는 노드에서 관리 디스크가 아니라 임시 OS 디스크를 사용하는 Batch 풀을 만드는 방법을 보여 줍니다.

코드 예제

이 코드 조각은 임시 디스크(캐시)를 사용하여 임시 OS 디스크와 Azure Batch Python SDK를 사용하여 임시 OS 디스크가 포함된 풀을 만드는 방법을 보여 줍니다.

virtual_machine_configuration=batch.models.VirtualMachineConfiguration(
    image_reference=image_ref_to_use,
    node_agent_sku_id=node_sku_id,
    os_disk=batch.models.OSDisk(
        ephemeral_os_disk_settings=batch.models.DiffDiskSettings(
            placement=batch.models.DiffDiskPlacement.cache_disk
        )
    )
)

이는 동일한 코드 조각이지만 Azure Batch .NET SDK 및 C#을 사용하여 임시 OS 디스크가 포함된 풀을 만드는 데 사용됩니다.

VirtualMachineConfiguration virtualMachineConfiguration = new VirtualMachineConfiguration(
        imageReference: imageReference,
        nodeAgentSkuId: nodeAgentSku
        );
virtualMachineConfiguration.OSDisk = new OSDisk();
virtualMachineConfiguration.OSDisk.EphemeralOSDiskSettings = new DiffDiskSettings();
virtualMachineConfiguration.OSDisk.EphemeralOSDiskSettings.Placement = DiffDiskPlacement.CacheDisk;

다음 단계