Tijdelijke besturingssysteemschijfknooppunten gebruiken voor Azure Batch-pools
Sommige virtuele Azure-machines (VM's) ondersteunen het gebruik van tijdelijke besturingssysteemschijven, waarmee de besturingssysteemschijf op de lokale opslag van de virtuele knooppuntmachine wordt gemaakt. De standaardconfiguratie van batchgroepen maakt gebruik van door Azure beheerde schijven voor de besturingssysteemschijf van het knooppunt, waarbij de beheerde schijf lijkt op een fysieke schijf, maar gevirtualiseerd en persistent is in externe Azure Storage.
Voor Batch-workloads zijn de belangrijkste voordelen van het gebruik van tijdelijke besturingssysteemschijven lagere kosten in verband met pools, het potentieel voor snellere starttijd van knooppunten en verbeterde toepassingsprestaties vanwege betere prestaties van de besturingssysteemschijf. Wanneer u kiest of tijdelijke besturingssysteemschijven moeten worden gebruikt voor uw workload, moet u rekening houden met de volgende gevolgen:
- Er is een lagere lees-/schrijflatentie voor tijdelijke besturingssysteemschijven, wat kan leiden tot verbeterde toepassingsprestaties.
- Er zijn geen opslagkosten voor tijdelijke besturingssysteemschijven, terwijl er kosten zijn voor elke beheerde besturingssysteemschijf.
- Reimage voor rekenknooppunten is sneller voor tijdelijke schijven in vergelijking met beheerde schijven, wanneer deze worden ondersteund door Batch.
- De begintijd van het knooppunt kan iets sneller zijn wanneer tijdelijke besturingssysteemschijven worden gebruikt.
- Kortstondige besturingssysteemschijven zijn niet zeer duurzaam en beschikbaar; wanneer een VIRTUELE machine om welke reden dan ook wordt verwijderd, gaat de besturingssysteemschijf verloren. Omdat Batch-workloads inherent staatloos zijn en normaal gesproken niet afhankelijk zijn van wijzigingen in de besturingssysteemschijf die worden bewaard, zijn tijdelijke besturingssysteemschijven geschikt voor gebruik voor de meeste Batch-workloads.
- Tijdelijke besturingssysteemschijven worden momenteel niet ondersteund door alle Azure VM-serie. Als een VM-grootte geen tijdelijke besturingssysteemschijf ondersteunt, moet een beheerde besturingssysteemschijf worden gebruikt.
Notitie
Tijdelijke besturingssysteemschijfconfiguratie is alleen van toepassing op 'virtualMachineConfiguration'-pools en worden niet ondersteund door cloudServiceConfiguration-pools. We raden u aan 'virtualMachineConfiguration voor uw Batch-pools' te gebruiken, omdat 'cloudServiceConfiguration'-pools niet alle functies ondersteunen en er geen nieuwe mogelijkheden zijn gepland. U kunt geen nieuwe cloudServiceConfiguration-pools maken of nieuwe knooppunten toevoegen aan bestaande pools na 29 februari 2024. Zie Batch-poolconfiguratie migreren van Cloud Services naar virtuele machine voor meer informatie.
Ondersteuning voor VM-serie
Als u wilt bepalen of een VM-serie tijdelijke besturingssysteemschijven ondersteunt, raadpleegt u de documentatie voor elk VM-exemplaar. De Ddv4- en Ddsv4-serie ondersteunen bijvoorbeeld tijdelijke besturingssysteemschijven.
U kunt ook programmatisch query's uitvoeren om de mogelijkheid 'KortstondigeOSDiskSupported' te controleren. Een voorbeeld van een PowerShell-cmdlet voor het uitvoeren van query's op deze mogelijkheid vindt u in de veelgestelde vragen over de tijdelijke besturingssysteemschijf.
Een pool maken die tijdelijke besturingssysteemschijven gebruikt
De EphemeralOSDiskSettings
eigenschap is niet standaard ingesteld. U moet deze eigenschap instellen om tijdelijke besturingssysteemschijf te configureren op de poolknooppunten.
Tip
Tijdelijke besturingssysteemschijven kunnen niet worden gebruikt in combinatie met spot-VM's in Batch-pools vanwege het door de service beheerde verwijderingsbeleid.
In het volgende voorbeeld ziet u hoe u een Batch-pool maakt waarin de knooppunten tijdelijke besturingssysteemschijven en niet beheerde schijven gebruiken.
Codevoorbeelden
Dit codefragment laat zien hoe u een pool maakt met tijdelijke besturingssysteemschijven met behulp van Azure Batch Python SDK met de tijdelijke besturingssysteemschijf met behulp van de tijdelijke schijf (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
)
)
)
Dit is hetzelfde codefragment, maar voor het maken van een pool met tijdelijke besturingssysteemschijven met behulp van de Azure Batch .NET SDK en C#.
VirtualMachineConfiguration virtualMachineConfiguration = new VirtualMachineConfiguration(
imageReference: imageReference,
nodeAgentSkuId: nodeAgentSku
);
virtualMachineConfiguration.OSDisk = new OSDisk();
virtualMachineConfiguration.OSDisk.EphemeralOSDiskSettings = new DiffDiskSettings();
virtualMachineConfiguration.OSDisk.EphemeralOSDiskSettings.Placement = DiffDiskPlacement.CacheDisk;
Volgende stappen
- Zie de veelgestelde vragen over tijdelijke besturingssysteemschijven.
- Meer informatie over de Werkstroom van de batch-service en primaire resources als pools, knooppunten, jobs en taken.
- Meer informatie over de kosten die kunnen worden gekoppeld aan Azure Batch-workloads.