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
- Se vanliga frågor och svar om tillfälliga OS-diskar.
- Lär dig mer om Batch-tjänstens arbetsflöde och primära resurser , till exempel pooler, noder, jobb och uppgifter.
- Lär dig mer om kostnader som kan associeras med Azure Batch-arbetsbelastningar.