Sdílet prostřednictvím


Use ephemeral OS disk nodes for Azure Batch pools

Některé řady virtuálních počítačů Azure podporují použití dočasných disků s operačním systémem, které vytvoří disk s operačním systémem v místním úložišti virtuálního počítače uzlu. Výchozí konfigurace fondu Batch používá spravované disky Azure pro disk operačního systému uzlu, kde se spravovaný disk podobá fyzickému disku, ale virtualizovaný a trvalý ve vzdáleném úložišti Azure.

For Batch workloads, the main benefits of using ephemeral OS disks are reduced costs associated with pools, the potential for faster node start time, and improved application performance due to better OS disk performance. Při volbě, jestli se mají pro vaši úlohu používat dočasné disky s operačním systémem, zvažte následující dopady:

  • Dočasné disky s operačním systémem mají nižší latenci čtení a zápisu, což může vést ke zlepšení výkonu aplikace.
  • U dočasných disků s operačním systémem nejsou žádné náklady na úložiště, zatímco na každý spravovaný disk s operačním systémem jsou náklady.
  • Opětovné vytvoření image pro výpočetní uzly je rychlejší pro dočasné disky v porovnání se spravovanými disky, pokud je služba Batch podporovaná.
  • Čas spuštění uzlu může být při použití dočasných disků s operačním systémem o něco rychlejší.
  • Dočasné disky s operačním systémem nejsou vysoce odolné a dostupné; při odebrání virtuálního počítače z jakéhokoli důvodu dojde ke ztrátě disku s operačním systémem. Vzhledem k tomu, že úlohy služby Batch jsou ze své podstaty bezstavové a obvykle nespoléhají na změny trvalého disku s operačním systémem, jsou dočasné disky s operačním systémem vhodné pro většinu úloh batch.
  • Dočasné disky s operačním systémem v současné době nepodporují všechny řady virtuálních počítačů Azure. Pokud velikost virtuálního počítače nepodporuje dočasný disk s operačním systémem, musí se použít spravovaný disk s operačním systémem.

Poznámka:

Konfigurace dočasného disku s operačním systémem je použitelná pouze pro fondy typu 'virtualMachineConfiguration' a není podporována pro fondy typu 'cloudServiceConfiguration'. Pro fondy Batch doporučujeme použít virtualMachineConfiguration, protože fondy cloudServiceConfiguration nepodporují všechny funkce a neplánují se žádné nové funkce.

Podpora sérií virtuálních počítačů

Pokud chcete zjistit, jestli řada virtuálních počítačů podporuje dočasné disky s operačním systémem, projděte si dokumentaci pro každou instanci virtuálního počítače. Například řada Ddv4 a Ddsv4 podporuje dočasné disky s operačním systémem.

Alternativně můžete programově ověřit podporu funkce 'EphemeralOSDiskSupported'. Ukázková rutina PowerShellu pro dotazování na tuto funkci je k dispozici v často kladených dotazech ohledně dočasného disku OS.

Create a pool that uses ephemeral OS disks

Vlastnost EphemeralOSDiskSettings není ve výchozím nastavení nastavená. You must set this property in order to configure ephemeral OS disk use on the pool nodes.

Tip

Ephemeral OS disks cannot be used in conjunction with Spot VMs in Batch pools due to the service managed eviction policy.

Následující příklad ukazuje, jak vytvořit fond batch, ve kterém uzly používají dočasné disky s operačním systémem, nikoli spravované disky.

Příklady kódu

This code snippet shows how to create a pool with ephemeral OS disks using Azure Batch Python SDK with the Ephemeral OS disk using the temporary disk (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
        )
    )
)

Jedná se o stejný fragment kódu, ale pro vytvoření fondu s dočasnými disky s operačním systémem pomocí sady Azure Batch .NET SDK a jazyka C#.

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

Další kroky