Partilhar via


Usar nós de disco efêmeros do sistema operacional para pools de Lotes do Azure

Algumas séries de máquinas virtuais (VM) do Azure dão suporte ao uso de discos efêmeros do sistema operacional, que criam o disco do sistema operacional no armazenamento local da máquina virtual do nó. A configuração padrão do pool de lotes usa discos gerenciados do Azure para o disco do sistema operacional do nó, onde o disco gerenciado é como um disco físico, mas virtualizado e persistido no Armazenamento remoto do Azure.

Para cargas de trabalho em lote, os principais benefícios do uso de discos efêmeros do sistema operacional são a redução dos custos associados aos pools, o potencial para um tempo de início de nó mais rápido e o melhor desempenho do aplicativo devido ao melhor desempenho do disco do sistema operacional. Ao escolher se discos de sistema operacional efêmeros devem ser usados para sua carga de trabalho, considere os seguintes impactos:

  • Há menor latência de leitura/gravação em discos efêmeros do sistema operacional, o que pode levar a um melhor desempenho do aplicativo.
  • Não há custo de armazenamento para discos de sistema operacional efêmeros, enquanto há um custo para cada disco de sistema operacional gerenciado.
  • A reimagem para nós de computação é mais rápida para discos efêmeros em comparação com discos gerenciados, quando suportada pelo Batch.
  • O tempo de início do nó pode ser um pouco mais rápido quando discos efêmeros do sistema operacional são usados.
  • Os discos efêmeros do sistema operacional não são altamente duráveis e disponíveis; quando uma VM é removida por qualquer motivo, o disco do sistema operacional é perdido. Como as cargas de trabalho em lote são inerentemente sem monitoração de estado e normalmente não dependem de alterações no disco do sistema operacional que estão sendo persistentes, os discos efêmeros do sistema operacional são apropriados para uso na maioria das cargas de trabalho em lote.
  • Atualmente, os discos efêmeros do sistema operacional não são suportados por todas as séries de VMs do Azure. Se um tamanho de VM não suportar um disco de sistema operacional efêmero, um disco de sistema operacional gerenciado deverá ser usado.

Nota

A configuração efêmera do disco do sistema operacional só é aplicável a pools 'virtualMachineConfiguration' e não é suportada por pools 'cloudServiceConfiguration'. Recomendamos o uso de 'virtualMachineConfiguration para seus pools de lotes, pois os pools 'cloudServiceConfiguration' não suportam todos os recursos e nenhum novo recurso está planejado. Você não poderá criar novos pools 'cloudServiceConfiguration' ou adicionar novos nós aos pools existentes após 29 de fevereiro de 2024. Para obter mais informações, consulte Migrar configuração de pool de lotes de serviços de nuvem para máquina virtual.

Suporte à série VM

Para determinar se uma série de VMs suporta discos de SO efêmeros, verifique a documentação de cada instância de VM. Por exemplo, as séries Ddv4 e Ddsv4 suportam discos de SO efémeros.

Como alternativa, você pode consultar programaticamente para verificar o recurso 'EphemeralOSDiskSupported'. Um exemplo de cmdlet do PowerShell para consultar esse recurso é fornecido nas perguntas freqüentes sobre o disco efêmero do sistema operacional.

Criar um pool que usa discos efêmeros do sistema operacional

A EphemeralOSDiskSettings propriedade não está definida por padrão. Você deve definir essa propriedade para configurar o uso efêmero do disco do sistema operacional nos nós do pool.

Gorjeta

Os discos de SO efêmeros não podem ser usados em conjunto com VMs spot em pools de lotes devido à política de remoção gerenciada pelo serviço.

O exemplo a seguir mostra como criar um pool de lotes onde os nós usam discos efêmeros do sistema operacional e não discos gerenciados.

Exemplos de código

Este trecho de código mostra como criar um pool com discos efêmeros do sistema operacional usando o SDK Python do Azure Batch com o disco do sistema operacional efêmero usando o disco temporário (cache).

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
        )
    )
)

Este é o mesmo trecho de código, mas para criar um pool com discos efêmeros do sistema operacional usando o SDK do Azure Batch .NET e C#.

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

Próximos passos