Usare nodi del disco del sistema operativo temporanei per i pool di Azure Batch
Alcune serie di macchine virtuali di Azure supportano l'uso di dischi temporanei del sistema operativo, che creano il disco del sistema operativo nella risorsa di archiviazione locale della macchina virtuale del nodo. La configurazione predefinita del pool di Batch usa i 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 remoti.
Per i carichi di lavoro batch, i principali vantaggi dell'uso di dischi temporanei del sistema operativo sono ridotti i costi associati ai pool, il potenziale per un'ora di avvio dei nodi più veloce e prestazioni dell'applicazione migliorate a causa di prestazioni migliori del disco del sistema operativo. Quando si sceglie se i dischi temporanei del sistema operativo devono essere usati per il carico di lavoro, considerare gli effetti seguenti:
- È presente una latenza di lettura/scrittura inferiore per i dischi temporanei del sistema operativo, il che può causare un miglioramento delle prestazioni dell'applicazione.
- Non sono previsti costi di archiviazione per i dischi temporanei del sistema operativo, mentre è previsto un costo per ogni disco del sistema operativo gestito.
- La ricreazione dell'immagine 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 temporanei del sistema operativo.
- I dischi temporanei del sistema operativo 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 in genere non si basano sulle modifiche apportate al disco del sistema operativo in modo permanente, i dischi temporanei del sistema operativo sono appropriati per l'uso per la maggior parte dei carichi di lavoro batch.
- I dischi temporanei del sistema operativo non sono attualmente supportati da tutte le serie di macchine virtuali di Azure. Se le dimensioni di una macchina virtuale non supportano un disco temporaneo del sistema operativo, è necessario usare un disco del sistema operativo gestito.
Nota
La configurazione temporanea del disco del sistema operativo è applicabile solo ai pool 'virtualMachineConfiguration' e non è supportata dai pool 'cloudServiceConfiguration'. È consigliabile usare "virtualMachineConfiguration per i pool di Batch, perché 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 di Batch da Servizi cloud a macchina virtuale.
Supporto di serie di macchine virtuali
Per determinare se una serie di macchine virtuali supporta dischi temporanei del sistema operativo, vedere la documentazione relativa a ogni istanza di macchina virtuale. Ad esempio, la serie Ddv4 e Ddsv4 supporta dischi temporanei del sistema operativo.
In alternativa, è possibile eseguire una query a livello di codice per controllare la funzionalità "EphemeralOSDiskSupported". Un esempio di cmdlet di PowerShell per eseguire query su questa funzionalità è disponibile nelle domande frequenti sul disco del sistema operativo temporaneo.
Creare un pool che usa dischi temporanei del sistema operativo
La EphemeralOSDiskSettings
proprietà non è impostata per impostazione predefinita. È necessario impostare questa proprietà per configurare l'uso del disco temporaneo del sistema operativo nei nodi del pool.
Suggerimento
I dischi temporanei del sistema operativo non possono essere usati insieme alle macchine virtuali spot nei pool di Batch a causa dei criteri di rimozione gestiti dal servizio.
L'esempio seguente illustra come creare un pool di Batch in cui i nodi usano dischi temporanei del sistema operativo e non dischi gestiti.
Esempi di codice
Questo frammento di codice illustra come creare un pool con dischi temporanei del sistema operativo usando Azure Batch Python SDK con il disco del sistema operativo temporaneo 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 temporanei del sistema operativo usando 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
- Vedere le domande frequenti sui dischi del sistema operativo temporaneo.
- Informazioni sul flusso di lavoro e sulle risorse principali del servizio Batch, ad esempio pool, nodi, processi e attività.
- Informazioni sui costi che possono essere associati ai carichi di lavoro di Azure Batch.