Schneller temporärer Betriebssystemdatenträger benötigt? Konfiguriere einen flüchtigen Betriebssystemdatenträger

Veröffentlicht am:

CloudTrips benötigt einen schnell neu erstellbaren, zustandslosen Worker. Ein Azure ephemeral OS disk speichert Schreibvorgänge des Betriebssystems im lokalen Speicher des VM-Hosts, statt sie dauerhaft in Azure Storage zu speichern. Das bietet niedrige Latenz, schnelles Reimage und keine separate Speichergebühr für den Betriebssystemdatenträger.

Lokaler Betriebssystemzustand kann bei Reimage, Redeploy, Größenänderung, Service-Healing oder Hostwechsel verloren gehen. VMs mit flüchtigem Betriebssystemdatenträger unterstützen weder Stop/Deallocate noch Snapshots, Azure Backup, Site Recovery, Betriebssystemdatenträgertausch oder Image Capture. Speichere Anwendungszustand in einem externen Dienst oder auf einem verwalteten Datenträger.

Vergleiche die Betriebssystemdatenträgertypen

Fähigkeit Dauerhafter verwalteter Betriebssystemdatenträger Flüchtiger Betriebssystemdatenträger
Speicherort Azure Storage Lokaler Speicher auf dem VM-Host
Einfacher Neustart Daten bleiben erhalten Daten bleiben normalerweise erhalten
Stop/Deallocate und späterer Start Unterstützt; Betriebssystemzustand bleibt erhalten Nicht unterstützt
Reimage oder Redeploy Betriebssystemzustand kann abhängig vom Vorgang erhalten bleiben Betriebssystem wird neu erstellt und lokale Änderungen gehen verloren
VM-Größenänderung Betriebssystemdaten bleiben erhalten Betriebssystem wird neu bereitgestellt und lokaler Zustand gelöscht
Snapshot, Backup, Site Recovery Abhängig von Datenträger- und VM-Konfiguration unterstützt Nicht unterstützt
Separate Speichergebühr für Betriebssystemdatenträger Ja Nein
Geeignet für Zustandsbehaftete oder langlebige Server Zustandslose Worker und ersetzbare Instanzen

Beide Typen besitzen normalen Arbeitsspeicher, und RAM ist bei beiden flüchtig. Ephemeral bezeichnet den Betriebssystemdatenträger, nicht den Arbeitsspeicher der VM. Eine flüchtige VM kann weiterhin einen dauerhaften verwalteten Datenträger oder externen Speicher für wichtige Daten verwenden.

Für flüchtige Betriebssystemdatenträger gibt es drei lokale Platzierungstypen:

Platzierung Verwendeter lokaler Speicher Typische VM-Familien
Cache disk VM-Hostcache Ältere Familien mit Cache wie Dsv3
Temp disk / Resource disk Lokaler temporärer Datenträger Familien wie Dadsv5 und Ddsv5
NVMe disk Lokales NVMe-Gerät Neuere unterstützte v6-Familien

Azure bietet nur die von der gewählten VM-Größe unterstützten Platzierungen an. Das Betriebssystem-Image muss in die lokale Speicherkapazität passen.

Erstelle die Ressourcengruppe

Erstelle:

Subscription: CloudTrips TEST
Resource group: rg-cloudtrips-ephemeral-test-weu
Region: West Europe

Konfiguriere die VM

Erstelle eine Azure virtual machine. Konfiguriere unter Basics:

Resource group: rg-cloudtrips-ephemeral-test-weu
Virtual machine name: vm-cloudtrips-ephemeral01-test-weu
Region: West Europe
Availability options: No infrastructure redundancy required
Security type: Trusted launch virtual machines
Image: Ubuntu Server 24.04 LTS - x64 Gen2
Size: Standard_D2s_v3
Authentication type: SSH public key
Username: azureuser
SSH public key source: Generate new key pair
Key pair name: sshkey-cloudtrips-ephemeral-test-weu-01
Public inbound ports: None

Die Unterstützung hängt sowohl von der VM- als auch von der Imagegröße ab. Standard_D2s_v3 verwendet Cache-Disk-Platzierung und besitzt normalerweise genug lokalen Cache für das kleine Ubuntu-Image. Bleibt die Option für einen flüchtigen Datenträger nicht verfügbar, wähle eine andere VM-Größe, die das Portal als unterstützt kennzeichnet.

Konfiguriere den flüchtigen Betriebssystemdatenträger

Konfiguriere unter Disks:

OS disk type: Standard SSD LRS
Use ephemeral OS disk: Enabled
Ephemeral OS disk placement: Cache disk

Die Feldbezeichnungen können leicht abweichen. Azure kann die unterstützte Platzierung automatisch auswählen. Ältere VM-Familien mit Cache wie Dsv3 verwenden Cache disk; neuere Familien können Temp disk oder NVMe disk anbieten. Die Imagegröße muss in den lokalen Cache-, temporären oder NVMe-Speicher der gewählten VM passen.

Registerkarte „Disks“ der VM mit aktiviertem flüchtigem Betriebssystemdatenträger und Cache-Disk-Platzierung

Erstelle unter Networking:

Virtual network: vnet-cloudtrips-ephemeral-test-weu
Address range: 10.87.0.0/16
Subnet: snet-workers
Subnet range: 10.87.1.0/24
Public IP: None
NIC network security group: None

Wähle Review + create > Create.

Überprüfe den Datenträgertyp

Führe in Cloud Shell aus:

az vm show \
  --resource-group rg-cloudtrips-ephemeral-test-weu \
  --name vm-cloudtrips-ephemeral01-test-weu \
  --query "{DiffDiskOption:storageProfile.osDisk.diffDiskSettings.option,Placement:storageProfile.osDisk.diffDiskSettings.placement}" \
  --output yaml

Erwartete Werte:

DiffDiskOption: Local
Placement: CacheDisk

DiffDiskOption: Local ist der entscheidende Nachweis, dass Betriebssystemschreibvorgänge flüchtigen lokalen Speicher verwenden. Azure kann storageProfile.osDisk.managedDisk.id trotzdem mit einer Betriebssystemdatenträger-Referenz befüllen; diese ID macht den Datenträger nicht dauerhaft.

VM-Datenträgereigenschaften oder JSON-Ansicht mit lokalem Diff-Datenträger und CacheDisk-Platzierung

Schreibe flüchtigen Zustand

Öffne die VM > Run command > RunShellScript und führe aus:

printf 'CloudTrips ephemeral marker\nHost: %s\n' "$(hostname)" |
  tee /var/lib/cloudtrips-ephemeral-marker.txt

cat /var/lib/cloudtrips-ephemeral-marker.txt

Run Command führt dieses Linux-Skript als root aus, deshalb ist sudo nicht erforderlich. Die Markierungsdatei existiert nur auf dem lokalen flüchtigen Betriebssystemdatenträger. Sie steht für Zustand, den ein echter zustandsloser Worker extern speichern muss.

Führe ein Reimage aus

Reimage erstellt den Betriebssystemdatenträger der VM aus dem ursprünglichen Ubuntu-Image neu. Der Vorgang ähnelt einer Neuinstallation des Betriebssystems: Anwendungen, Konfiguration, Protokolle und Dateien auf dem Betriebssystemdatenträger werden entfernt. Die Azure-VM-Ressource, VM-Größe, Netzwerkschnittstelle, das virtuelle Netzwerk und verbundene dauerhafte Datenträger bleiben erhalten.

Bei einem flüchtigen Betriebssystemdatenträger ist Reimage ein normaler, schneller Rücksetzvorgang. Er löscht die Markierung absichtlich und zeigt, warum wichtiger Zustand außerhalb des Betriebssystemdatenträgers gespeichert werden muss. Führe in Cloud Shell aus:

az vm reimage \
  --resource-group rg-cloudtrips-ephemeral-test-weu \
  --name vm-cloudtrips-ephemeral01-test-weu

Warte, bis die VM wieder Running und der VM Agent Ready ist. Öffne anschließend erneut RunShellScript und führe aus:

if test -e /var/lib/cloudtrips-ephemeral-marker.txt; then
  echo 'Unexpected: marker still exists'
  exit 1
else
  echo 'Expected: marker was removed by reimage'
fi

Run-Command-Ausgabe mit Bestätigung, dass Reimage die flüchtige Markierung entfernt hat

Das beweist, dass das Betriebssystem flüchtig ist. Es misst nicht die Datenträgerleistung; verwende workload-spezifische I/O-Tests, wenn Performance die eigentliche Anforderung ist.

Bereinige

Versuche nicht, diese VM mit Stop (deallocate) aufzubewahren. Lösche ihre dedizierte Ressourcengruppe:

az group delete --name rg-cloudtrips-ephemeral-test-weu --yes

Bestätige, dass az group exists --name rg-cloudtrips-ephemeral-test-weu den Wert false zurückgibt.