Usare i nodi disco del sistema operativo temporanei per i pool di Azure Batch

Alcune serie di macchine virtuali di Azure supportano l'uso di dischi del sistema operativo temporanei, che creano il disco del sistema operativo nell'archiviazione locale della macchina virtuale del nodo. La configurazione predefinita del pool batch usa dischi gestiti di Azure per il disco del sistema operativo del nodo, in cui il disco gestito è simile a un disco fisico, ma virtualizzato e persistente in Archiviazione di Azure remota.

Per i carichi di lavoro Batch, i principali vantaggi dell'uso di dischi del sistema operativo temporanei sono costi ridotti associati ai pool, il potenziale per l'ora di inizio del nodo più veloce e migliorare le prestazioni dell'applicazione a causa di prestazioni migliori del disco del sistema operativo. Quando si sceglie se i dischi del sistema operativo temporanei devono essere usati per il carico di lavoro, prendere in considerazione gli effetti seguenti:

  • C'è una latenza di lettura/scrittura inferiore ai dischi del sistema operativo temporaneo, che possono causare una migliore prestazioni dell'applicazione.
  • Non è previsto alcun costo di archiviazione per i dischi del sistema operativo temporaneo, mentre è previsto un costo per ogni disco del sistema operativo gestito.
  • La reimage per i nodi di calcolo è più veloce per i dischi temporanei rispetto ai dischi gestiti, se supportati da Batch.
  • L'ora di inizio del nodo può essere leggermente più veloce quando vengono usati dischi del sistema operativo temporanei.
  • I dischi del sistema operativo temporanei non sono altamente durevoli e disponibili; quando una macchina virtuale viene rimossa per qualsiasi motivo, il disco del sistema operativo viene perso. Poiché i carichi di lavoro Batch sono intrinsecamente senza stato e non si basano normalmente sulle modifiche apportate al disco del sistema operativo in modo permanente, i dischi del sistema operativo temporanei sono appropriati per l'uso per la maggior parte dei carichi di lavoro Batch.
  • I dischi del sistema operativo temporanei non sono attualmente supportati da tutte le serie di macchine virtuali di Azure. Se una dimensione della macchina virtuale non supporta un disco del sistema operativo temporaneo, è necessario usare un disco del sistema operativo gestito.

Nota

La configurazione del disco del sistema operativo temporanea è applicabile solo ai pool 'virtualMachineConfiguration' e non sono supportati dai pool 'cloudServiceConfiguration'. È consigliabile usare 'virtualMachineConfiguration per i pool Batch, poiché i pool 'cloudServiceConfiguration' non supportano tutte le funzionalità e non sono pianificate nuove funzionalità. Non sarà possibile creare nuovi pool "cloudServiceConfiguration" o aggiungere nuovi nodi ai pool esistenti dopo il 29 febbraio 2024. Per altre informazioni, vedere Eseguire la migrazione della configurazione del pool batch da Servizi cloud a Macchina virtuale.

Supporto della serie di macchine virtuali

Per determinare se una serie di macchine virtuali supporta dischi del sistema operativo temporanei, controllare la documentazione per ogni istanza della macchina virtuale. Ad esempio, la serie Ddv4 e Ddsv4 supporta dischi del sistema operativo temporanei.

In alternativa, è possibile eseguire una query a livello di codice per controllare la funzionalità "EphemeralOSDiskSupported". Un cmdlet di PowerShell di esempio per eseguire query su questa funzionalità viene fornito nel disco del sistema operativo temporaneo domande frequenti.

Creare un pool che usa dischi del sistema operativo temporaneo

La EphemeralOSDiskSettings proprietà non è impostata per impostazione predefinita. È necessario impostare questa proprietà per configurare il disco del sistema operativo temporaneo usato nei nodi del pool.

Suggerimento

I dischi del sistema operativo temporanei non possono essere usati insieme alle macchine virtuali Spot nei pool batch a causa dei criteri di rimozione gestiti dal servizio.

Nell'esempio seguente viene illustrato come creare un pool batch in cui i nodi usano dischi del sistema operativo temporanei e non dischi gestiti.

Esempi di codice

Questo frammento di codice illustra come creare un pool con dischi del sistema operativo temporanei usando Azure Batch Python SDK con il disco del sistema operativo effimero usando il disco temporaneo (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
        )
    )
)

Si tratta dello stesso frammento di codice, ma per la creazione di un pool con dischi del sistema operativo temporanei usando l'Azure Batch .NET SDK 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;

Passaggi successivi