Dela via


Använda tillfälliga OS-disknoder för Azure Batch-pooler

Vissa serier av virtuella Azure-datorer (VM) stöder användning av tillfälliga OS-diskar, som skapar OS-disken på den virtuella nodddatorns lokala lagring. Standardkonfigurationen för Batch-pooler använder Azure-hanterade diskar för nod-OS-disken, där den hanterade disken är som en fysisk disk, men virtualiserades och bevarades i fjärransluten Azure Storage.

För Batch-arbetsbelastningar är de största fördelarna med att använda tillfälliga OS-diskar minskade kostnader som är associerade med pooler, potentialen för snabbare starttid för noder och förbättrad programprestanda på grund av bättre os-diskprestanda. När du väljer om tillfälliga OS-diskar ska användas för din arbetsbelastning bör du överväga följande effekter:

  • Det finns lägre svarstid för läsning/skrivning till tillfälliga OS-diskar, vilket kan leda till bättre programprestanda.
  • Det finns ingen lagringskostnad för tillfälliga OS-diskar, medan det finns en kostnad för varje hanterad OS-disk.
  • Återimering för beräkningsnoder går snabbare för tillfälliga diskar jämfört med hanterade diskar när det stöds av Batch.
  • Starttiden för noden kan vara något snabbare när tillfälliga OS-diskar används.
  • Tillfälliga OS-diskar är inte mycket hållbara och tillgängliga. När en virtuell dator tas bort av någon anledning går OS-disken förlorad. Eftersom Batch-arbetsbelastningar i sig är tillståndslösa och normalt inte förlitar sig på ändringar av os-disken som sparas, är tillfälliga OS-diskar lämpliga att använda för de flesta Batch-arbetsbelastningar.
  • Tillfälliga OS-diskar stöds för närvarande inte av alla Azure VM-serier. Om en VM-storlek inte stöder en tillfällig OS-disk måste en hanterad OS-disk användas.

Kommentar

Tillfälliga OS-diskkonfigurationer gäller endast för "virtualMachineConfiguration"-pooler och stöds inte av pooler med "cloudServiceConfiguration". Vi rekommenderar att du använder "virtualMachineConfiguration för dina Batch-pooler eftersom "cloudServiceConfiguration"-pooler inte stöder alla funktioner och inga nya funktioner planeras. Du kommer inte att kunna skapa nya cloudServiceConfiguration-pooler eller lägga till nya noder i befintliga pooler efter den 29 februari 2024. Mer information finns i Migrera Konfiguration av Batch-pooler från Cloud Services till Virtuell dator.

Stöd för VM-serien

Om du vill ta reda på om en VM-serie stöder tillfälliga OS-diskar kontrollerar du dokumentationen för varje VM-instans. Till exempel stöder Ddv4- och Ddsv4-serien tillfälliga OS-diskar.

Alternativt kan du programmatiskt fråga för att kontrollera funktionen "EphemeralOSDiskSupported". Ett exempel på PowerShell-cmdlet för att fråga den här funktionen finns i vanliga frågor och svar om den tillfälliga OS-disken.

Skapa en pool som använder tillfälliga OS-diskar

Egenskapen EphemeralOSDiskSettings anges inte som standard. Du måste ange den här egenskapen för att konfigurera tillfälliga operativsystemdiskar på poolnoderna.

Dricks

Tillfälliga OS-diskar kan inte användas tillsammans med virtuella datorer med oanvänd kapacitet i Batch-pooler på grund av principen för tjänsthanterad borttagning.

I följande exempel visas hur du skapar en Batch-pool där noderna använder tillfälliga OS-diskar och inte hanterade diskar.

Kodexempel

Det här kodfragmentet visar hur du skapar en pool med tillfälliga OS-diskar med Azure Batch Python SDK med den tillfälliga OS-disken med hjälp av den tillfälliga disken (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
        )
    )
)

Det här är samma kodfragment, men för att skapa en pool med tillfälliga OS-diskar med hjälp av Azure Batch .NET SDK och C#.

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

Nästa steg