Partilhar via


Utilizar nós de disco de SO efémeros para conjuntos de Azure Batch

Algumas séries de máquinas virtuais (VMs) do Azure suportam a utilização de discos de SO efémeros, que criam o disco do SO no armazenamento local da máquina virtual do nó. A configuração predefinida do conjunto do Batch utiliza discos geridos do Azure para o disco do SO do nó, em que o disco gerido é como um disco físico, mas virtualizado e mantido no Armazenamento remoto do Azure.

Para cargas de trabalho do Batch, as principais vantagens da utilização de discos de SO efémeros são os custos reduzidos associados aos conjuntos, o potencial para uma hora de início mais rápida do nó e um melhor desempenho da aplicação devido a um melhor desempenho do disco do SO. Ao escolher se os discos de SO efémeros devem ser utilizados para a carga de trabalho, considere os seguintes impactos:

  • Existe uma menor latência de leitura/escrita em discos de SO efémeros, o que pode levar a um melhor desempenho da aplicação.
  • Não existe nenhum custo de armazenamento para discos de SO efémeros, ao passo que existe um custo para cada disco de SO gerido.
  • A recriação da imagem para nós de computação é mais rápida para discos efémeros em comparação com os discos geridos, quando suportados pelo Batch.
  • A hora de início do nó pode ser ligeiramente mais rápida quando são utilizados discos de SO efémeros.
  • Os discos de SO efémeros não são altamente duráveis e estão disponíveis; quando uma VM é removida por qualquer motivo, o disco do SO é perdido. Uma vez que as cargas de trabalho do Batch são inerentemente sem estado e normalmente não dependem de alterações ao disco do SO que estão a ser persistentes, os discos de SO efémeros são adequados para serem utilizados para a maioria das cargas de trabalho do Batch.
  • Os discos de SO efémeros não são atualmente suportados por todas as séries de VMs do Azure. Se um tamanho de VM não suportar um disco de SO efémero, tem de ser utilizado um disco de SO gerido.

Nota

A configuração do disco de SO efémero só é aplicável a conjuntos "virtualMachineConfiguration" e não é suportada por conjuntos "cloudServiceConfiguration". Recomendamos que utilize "virtualMachineConfiguration para os conjuntos do Batch", uma vez que os conjuntos "cloudServiceConfiguration" não suportam todas as funcionalidades e não estão planeadas novas capacidades. Não poderá criar novos conjuntos "cloudServiceConfiguration" nem adicionar novos nós a conjuntos existentes após 29 de fevereiro de 2024. Para obter mais informações, veja Migrar a configuração do conjunto do Batch do Serviços Cloud para a Máquina Virtual.

Suporte de séries de VMs

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, a série Ddv4 e Ddsv4 suporta discos de SO efémeros.

Em alternativa, pode consultar programaticamente para verificar a capacidade "EphemeralOSDiskSupported". Um cmdlet do PowerShell de exemplo para consultar esta capacidade é fornecido nas perguntas mais frequentes sobre o disco de SO efémero.

Criar um conjunto que utiliza discos de SO efémeros

A EphemeralOSDiskSettings propriedade não está definida por predefinição. Tem de definir esta propriedade para configurar a utilização do disco de SO efémero nos nós do conjunto.

Dica

Os discos de SO efémeros não podem ser utilizados em conjunto com VMs Spot em conjuntos do Batch devido à política de expulsão gerida pelo serviço.

O exemplo seguinte mostra como criar um conjunto do Batch onde os nós utilizam discos de SO efémeros e não discos geridos.

Exemplos de código

Este fragmento de código mostra como criar um conjunto com discos de SO efémeros com Azure Batch SDK Python com o disco de SO Efémero com 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 fragmento de código, mas para criar um conjunto com discos de SO efémeros com o SDK .NET Azure Batch 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;

Passos seguintes