Compartilhar via


Usar nós de disco de SO efêmero para pools do Lote do Azure

Algumas séries de VM (máquina virtual) do Azure suportam o uso de discos de SO efêmeros, que criam o disco de SO no armazenamento local da máquina virtual do nó. A configuração padrão do pool do Lote usa discos gerenciados do Azure para o disco de SO efêmero, em que o disco gerenciado é como um disco físico, mas virtualizado e persistido no Armazenamento do Azure.

Para cargas de trabalho do Lote, os principais benefícios do uso de discos de SO efêmeros são os custos reduzidos associados aos pools, o potencial de hora de início do nó mais rápida e o desempenho aprimorado do aplicativo devido ao melhor desempenho do disco do sistema operacional. Ao escolher se os discos de SO efêmeros devem ser usados para sua carga de trabalho, considere o seguinte:

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

Observação

A configuração do disco de SO efêmero só é aplicável a pools “virtualMachineConfiguration” e não tem suporte de pools “cloudServiceConfiguration”. É recomendável usar “virtualMachineConfiguration” para seus pools do Lote, pois os pools “cloudServiceConfiguration” não são suportados por todos os recursos e não há novas funcionalidades planejadas. Não será possível criar novos pools de 'cloudServiceConfiguration' ou adicionar novos nós a pools existentes após 29 de fevereiro de 2024. Para obter mais informações, consulte Migrar a configuração do pool do Lote dos Serviços de Nuvem para a máquina virtual.

Suporte para série de VM

Para determinar se uma série de VMs dá suporte a discos de SO efêmeros, verifique a documentação de cada instância de VM. Por exemplo, as séries Ddv4 e Ddsv4 são compatíveis com discos de SO efêmeros.

Como alternativa, você pode consultar programaticamente para verificar a funcionalidade “EphemeralOSDiskSupported”. Um cmdlet do PowerShell de exemplo para consultar essa funcionalidade é fornecido nas perguntas frequentes do disco de SO efêmero.

Criar um pool que usa discos de SO efêmeros

A propriedade EphemeralOSDiskSettings não é definida por padrão. Você deve definir essa propriedade para configurar o uso de discos de SO efêmeros nos nós do pool.

Dica

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

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

Exemplos de código

Este snippet de código mostra como criar um pool com discos de sistema operacional efêmeros usando o Lote do Azure de SDK do Python com o disco de 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
        )
    )
)

Esse é o mesmo snippet de código, mas para criar um pool com discos de sistema operacional efêmeros usando o Lote do Azure de SDK .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óximas etapas