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 lokala nodddatorns lokala lagring. Standardkonfigurationen för Batch-pool använder Azure-hanterade diskar för nod-OS-disken, där den hanterade disken är som en fysisk disk, men virtualiserad och sparad 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 kopplade till pooler, risken för snabbare starttid för noder och bättre programprestanda på grund av bättre operativsystemdiskprestanda. Tänk på följande när du väljer om tillfälliga OS-diskar ska användas för din arbetsbelastning:

  • 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 kostar varje hanterad OS-disk.
  • Omfånget för beräkningsnoder är snabbare för tillfälliga diskar jämfört med hanterade diskar, när det stöds av Batch.
  • Starttiden för nod 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.

Anteckning

Tillfälliga operativsystemdiskkonfigurationer 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 kan inte skapa nya cloudServiceConfiguration-pooler eller lägga till nya noder i befintliga pooler efter den 29 februari 2024. Mer information finns i Migrera Batch-poolkonfiguration från Cloud Services till virtuell dator.

Stöd för VM-serien

Om du vill avgöra 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ällig os-diskanvändning på poolnoderna.

Tips

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 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