Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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.
Hlavními výhodami používání dočasných disků s operačním systémem pro úlohy Batch jsou snížení nákladů spojených s fondy, potenciál rychlejšího spuštění uzlu a zvýšení výkonu aplikace z důvodu lepšího výkonu disku s operačním systémem. 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.
Vytvořte fond, který používá dočasné disky s operačním systémem
Vlastnost EphemeralOSDiskSettings není ve výchozím nastavení nastavená. Chcete-li konfigurovat dočasný disk s operačním systémem, který se používá na uzlech fondu, je nutné nastavit tuto vlastnost.
Tip
Dočasné disky s operačním systémem nelze použít ve spojení s spotovými virtuálními počítači ve fondech Batch kvůli zásadám vyřazení spravované službou.
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
Tento fragment kódu ukazuje, jak vytvořit fond s efemérními OS disky pomocí Python SDK azure-mgmt-batch, přičemž efemérní OS disky využívají dočasný disk (mezipaměť).
from azure.identity import DefaultAzureCredential
from azure.mgmt.batch import BatchManagementClient
from azure.mgmt.batch.models import (
BatchAccountPoolData,
DeploymentConfiguration,
VirtualMachineConfiguration,
ImageReference,
OSDisk,
DiffDiskSettings,
DiffDiskPlacement,
)
def create_pool_with_ephemeral_os_disk():
client = BatchManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subscriptionId",
)
pool = client.pool.create(
resource_group_name="resourceGroupName",
account_name="accountName",
pool_name="ephemeralOSDiskPool",
parameters=BatchAccountPoolData(
vm_size="standard_ds1_v2",
deployment_configuration=DeploymentConfiguration(
virtual_machine_configuration=VirtualMachineConfiguration(
image_reference=ImageReference(
publisher="Canonical",
offer="UbuntuServer",
sku="22.04-LTS",
),
node_agent_sku_id="batch.node.ubuntu 22.04",
os_disk=OSDisk(
ephemeral_os_disk_settings=DiffDiskSettings(
placement=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.ResourceManager.Batch SDK a jazyka C#.
using Azure;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Batch;
using Azure.ResourceManager.Batch.Models;
//...
public async Task SetEphemeralOSDisk()
{
ArmClient client = new ArmClient(new DefaultAzureCredential());
ResourceIdentifier batchAccountResourceId =
BatchAccountResource.CreateResourceIdentifier("subscriptionId", "resourceGroupName", "accountName");
BatchAccountResource batchAccount = client.GetBatchAccountResource(batchAccountResourceId);
BatchAccountPoolCollection poolCollection = batchAccount.GetBatchAccountPools();
BatchAccountPoolData poolData = new BatchAccountPoolData()
{
VmSize = "standard_ds1_v2",
DeploymentConfiguration = new BatchDeploymentConfiguration()
{
VmConfiguration = new BatchVmConfiguration(
imageReference: new BatchImageReference()
{
Publisher = "Canonical",
Offer = "UbuntuServer",
Sku = "22.04-LTS"
},
nodeAgentSkuId: "batch.node.ubuntu 22.04")
{
OSDisk = new BatchOSDisk()
{
EphemeralOSDiskSettings = new DiffDiskSettings()
{
Placement = BatchDiffDiskPlacement.CacheDisk
}
}
}
}
};
ArmOperation<BatchAccountPoolResource> pool = await poolCollection.CreateOrUpdateAsync(
WaitUntil.Completed, "ephemeralOSDiskPool", poolData);
}
Další kroky
- Prohlédni si nejčastější dotazy k dočasným diskům s operačním systémem.
- Seznamte se s pracovním postupem služby Batch a primárními prostředky, jako jsou fondy, uzly, joby a úkoly.
- Přečtěte si o nákladech, které můžou být přidružené k úlohám Azure Batch.