Entfernen computerspezifischer Informationen durch Aufheben der Bereitstellung oder Generalisieren einer VM vor dem Erstellen eines Images

Achtung

Dieser Artikel bezieht sich auf CentOS, eine Linux-Distribution, deren Dienstende (End-of-Life, EOL) ansteht. Sie sollten Ihre Nutzung entsprechend planen.

Das Generalisieren oder Aufheben der Bereitstellung einer VM ist zum Erstellen eines Images in einer Azure Compute Gallery nicht erforderlich, es sei denn, Sie möchten ausdrücklich ein Image erstellen, das keine computerspezifischen Informationen wie Benutzerkonten enthält. Beim Erstellen eines verwalteten Images außerhalb eines Katalogs ist eine Generalisierung weiterhin erforderlich.

Bei der Generalisierung werden VM-spezifische Informationen entfernt, sodass das Image zum Erstellen mehrerer VMs verwendet werden kann. Sobald die VM generalisiert oder ihre Bereitstellung aufgehoben wurde, müssen Sie dies der Plattform mitteilen, sodass die Startsequenz ordnungsgemäß festgelegt werden kann.

Wichtig

Nachdem Sie eine VM als generalized in Azure markiert haben, können Sie die VM nicht mehr neu starten.

Voraussetzungen

Keine

Linux

Distributionsspezifische Anweisungen zur Vorbereitung von Linux-Images für Azure sind hier verfügbar:

Die folgenden Anweisungen behandeln nur das Festlegen der VM auf „generalisiert“. Es wird empfohlen, die distributionsspezifischen Anweisungen für Produktionsworkloads zu befolgen.

Zuerst heben Sie die Bereitstellung des virtuellen Computers mithilfe des Azure-VM-Agents auf, um computerspezifische Dateien und Daten zu löschen. Verwenden Sie auf dem virtuellen Linux-Quellcomputer den Befehl waagent mit dem Parameter -deprovision+user. Weitere Informationen erhalten Sie im Benutzerhandbuch für Azure Linux-Agent. Dieser Vorgang kann nicht rückgängig gemacht werden.

  1. Stellen Sie mit einem SSH-Client eine Verbindung mit Ihrem virtuellen Linux-Computer her.

  2. Geben Sie im SSH-Fenster den folgenden Befehl ein:

       sudo waagent -deprovision+user
    

    Hinweis

    Führen Sie diesen Befehl nur auf einem virtuellen Computer aus, den Sie als Image erfassen möchten. Die Ausführung dieses Befehls garantiert nicht, dass alle vertraulichen Informationen aus dem Image gelöscht werden oder dass es für eine erneute Verteilung geeignet ist. Der Parameter +user entfernt auch das zuletzt bereitgestellte Benutzerkonto. Wenn die Anmeldeinformationen des Benutzerkontos auf dem virtuellen Computer verbleiben sollen, verwenden Sie nur -deprovision.

  3. Geben Sie y ein, um fortzufahren. Sie können den Parameter -force hinzufügen, um diesen Bestätigungsschritt zu vermeiden.

  4. Geben Sie nach der Ausführung dieses Befehls den Befehl exit ein, um den SSH-Client zu schließen. Der virtuelle Computer wird zu diesem Zeitpunkt immer noch ausgeführt.

    Geben Sie den VM, dessen Bestellung Sie mit az vm deallocate aufgehoben haben, wieder frei, damit er generalisiert werden kann.

    az vm deallocate \
       --resource-group myResourceGroup \
       --name myVM
    

    Anschließend muss die VM auf der Plattform als „Generalisiert“ gekennzeichnet werden.

    az vm generalize \
       --resource-group myResourceGroup \
       --name myVM
    

Windows

Sysprep entfernt alle persönlichen Konto- und Sicherheitsinformationen und bereitet den Computer darauf vor, als Image verwendet zu werden. Ausführliche Informationen zu Sysprep finden Sie unter Sysprep (System Preparation) Overview (Sysprep (Systemvorbereitung): Übersicht).

Stellen Sie sicher, dass die auf dem Computer ausgeführten Serverrollen von Sysprep unterstützt werden. Weitere Informationen finden Sie unter Sysprep-Unterstützung für Serverrollen und Nicht unterstützte Szenarien.

Wichtig

Nachdem Sie Sysprep auf einem virtuellen Computer ausgeführt haben, gilt dieser als generalisiert und kann nicht neu gestartet werden. Der Generalisierungsprozess eines virtuellen Computers kann nicht rückgängig gemacht werden. Wenn die ursprüngliche VM funktionsfähig bleiben muss, sollten Sie eine Momentaufnahme des Betriebssystemdatenträgers erstellen, aus der Momentaufnahme eine VM erstellen und dann diese Kopie der VM generalisieren.

Sysprep erfordert, dass die Laufwerke vollständig entschlüsselt werden. Wenn Sie die Verschlüsselung auf Ihrer VM aktiviert haben, deaktivieren Sie diese, bevor Sie Sysprep ausführen.

Wenn Sie Sysprep vor dem Hochladen der virtuellen Festplatte in Azure zum ersten Mal ausführen möchten, stellen Sie sicher, dass Sie Ihren virtuellen Computer vorbereitet haben.

Die benutzerdefinierte Antwortdatei wird im Sysprep-Schritt nicht unterstützt. Daher sollten Sie den Schalter „/unattend:answerfile“ nicht mit Ihrem sysprep-Befehl verwenden.

Die Azure-Plattform stellt eine ISO-Datei auf der DVD-ROM bereit, wenn eine Windows-VM aus einem generalisierten Image erstellt wird. Aus diesem Grund muss die DVD-ROM im Betriebssystem im generalisierten Image aktiviert werden. Wenn sie deaktiviert ist, bleibt die Windows-VM auf der Windows-Willkommenseite (OOBE) hängen.

Führen Sie zum Generalisieren Ihres virtuellen Windows-Computers die folgenden Schritte aus:

  1. Melden Sie sich beim virtuellen Windows-Computer an.

  2. Öffnen Sie ein Eingabeaufforderungsfenster als ein Administrator.

  3. Löschen Sie das Verzeichnis „Panther“ (c:\Windows\Panther).

  4. Überprüfen Sie, ob CD/DVD-ROM aktiviert ist. Wenn sie deaktiviert ist, bleibt die Windows-VM auf der Windows-Willkommenseite (OOBE) hängen.

    REM Enable CD/DVD-ROM
    reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\cdrom /v start /t REG_DWORD /d 1 /f
    

    Hinweis

    Überprüfen Sie, ob Richtlinien angewendet wurden, die den Zugriff auf Wechselmedien einschränken (Beispiel: Computerkonfiguration\Administrative Vorlagen\System\Wechselmedienzugriff\Alle Wechselmedienklassen: Jeglichen Zugriff verweigern).

  5. Wechseln Sie dann in das Verzeichnis „%windir%\system32\sysprep“, und führen Sie anschließend Folgendes aus:

    sysprep.exe /generalize /shutdown
    
  6. Die VM wird heruntergefahren, wenn Sysprep die Generalisierung des virtuellen Computers abgeschlossen hat. Starten Sie den virtuellen Computer nicht neu.

    Legen Sie nach Abschluss von Sysprep den Status der VM auf Generalisiert fest.

    Set-AzVm -ResourceGroupName $rgName -Name $vmName -Generalized