Automatisches direktes Upgrade von Windows Server 2008 R2 ausführen


Wenn Sie Instanzen virtueller Maschinen (VMs) haben, auf denen Windows Server 2008 R2 ausgeführt wird, können Sie mit der gcloud CLI ein automatisches Upgrade auf Windows Server 2012 R2 durchführen.

Die Verwendung der gcloud CLI zur Durchführung eines direkten Upgrades ist eine Alternative zu einem manuellen Upgrade. Durch die Automatisierung des Upgrade-Prozesses können Sie mit der gcloud CLI den Aufwand für jede VM, die Sie aktualisieren müssen, reduzieren.

Bei einem direkten Upgrade einer VM führt die gcloud CLI die folgenden Schritte aus:

  1. Beendet die VM.
  2. Erstellt einen Standard-Snapshot von Persistent Disk als Sicherung.
  3. Erstellt eine Kopie des Bootlaufwerks und behält das ursprüngliche Bootlaufwerk als Sicherung bei.
  4. Hängt das Installationslaufwerk an, das das Installationsmedium für Windows 2012 R2 enthält
  5. Startet Windows Setup (setup.exe) vom Installationslaufwerk, um ein Upgrade im unbeaufsichtigten Modus durchzuführen
  6. Konfiguration nach dem Upgrade anwenden
  7. Trennt das Installationslaufwerk.
  8. Beendet die VM.

Beschränkungen

Hinweis: Mit der gcloud CLI können Sie Upgrades von Windows Server 2008 R2 auf Windows Server 2012 R2 durchführen. Dieser Ansatz unterstützt nur VM-Instanzen, die auf einem von Google bereitgestellten öffentlichen Betriebssystem-Image beruhen. Informationen zum Upgrade von anderen Windows Server-Konfigurationen oder von VM-Instanzen, für die Sie Ihre eigene Lizenz verwenden, finden Sie unter Direktes Upgrade von Windows Server durchführen.

Kosten

Für direkte Upgrades von Windows Server fallen keine Kosten an. Ihnen werden nur die Ressourcen in Rechnung gestellt, die während des Upgrades genutzt wurden, darunter:

Sie können mithilfe des Preisrechners eine Kostenschätzung für Ihre voraussichtliche Nutzung erstellen.

Vorbereitung

Upgrade starten

In den folgenden Abschnitten wird das Upgrade der VM-Instanz beschrieben.

  1. Öffnen Sie Cloud Shell in der Google Cloud Console. Klicken Sie hierzu auf die Schaltfläche Cloud Shell aktivieren Aktivieren Sie Cloud Shell..

    Weiter zur Google Cloud Console

  2. Legen Sie die Standardprojekt-ID fest. Ersetzen Sie dabei PROJECT_ID durch den Namen Ihres Compute Engine-Projekts:

    gcloud config set project PROJECT_ID
    
  3. Führen Sie den folgenden Befehl aus, um das Upgrade zu starten:

    gcloud beta compute os-config os-upgrade VM_NAME \
      --zone=ZONE \
      --source-os=windows-2008r2 \
      --target-os=windows-2012r2 \
      --async \
      --auto-rollback
    

    Ersetzen Sie dabei Folgendes:

    • VM_NAME: Der Name der zu aktualisierenden VM-Instanz.
    • ZONE: Die Zone, in der die VM-Instanz ausgeführt wird.

    Das Flag --async weist die gcloud CLI an, das Upgrade mit Cloud Build im Hintergrund auszuführen. Wenn Sie das Upgrade im Hintergrund ausführen, können Sie mehrere VM-Instanzen parallel aktualisieren. Außerdem wird der Prozess auch dann fortgesetzt, wenn Sie Ihre Cloud Shell-Sitzung schließen. Einen Link zum Cloud Build-Job finden Sie in der Befehlsausgabe:

    Created [https://cloudbuild.googleapis.com/v1/projects/...].
    ...
    logUrl: https://console.cloud.google.com/build/builds/...
    ...
    status: QUEUED
    ...
    
    

Upgrade-Prozess beobachten

Je nach Konfiguration der VM-Instanz kann das Upgrade zwischen 40 und 90 Minuten dauern. Sie können den Status des Upgrade-Prozesses prüfen. Öffnen Sie dazu das Cloud Build-Log:

  1. Klicken Sie in der Befehlsausgabe der gcloud CLI auf die URL, die neben logUrl angezeigt wird.
  2. Unter Build-Log sehen Sie den aktuellen Status des Upgrade-Prozesses.

Wenn das Upgrade erfolgreich abgeschlossen wurde, wird der Build als Erfolgreich markiert und im Build-Log wird folgende Ausgabe angezeigt:

Successfully upgraded instance 'projects/...!'

Wenn die gcloud CLI während des Upgrades auf ein Problem stößt, markiert sie den Build als Fehlgeschlagen. Wenn die Option --auto-rollback angegeben ist, initiiert die gcloud CLI auch ein automatisches Rollback. Weitere Informationen zu dem Problem finden Sie im Build-Log.

Wenn das Upgrade nach 90 Minuten immer noch ausgeführt wird und Sie den Verdacht haben, dass das Upgrade nicht voranschreitet, verwenden Sie einen der unter Fehlerbehebung beim direkten Upgrade beschriebenen Ansätze, um herauszufinden, ob das Upgrade fehlgeschlagen ist oder unterbrochen wurde.

Upgrade abschließen

Starten Sie nach dem Abschluss des Upgrades die VM-Instanz und führen Sie Windows Update aus, um die neuesten Sicherheitsupdates herunterzuladen und zu installieren:

  1. Starten Sie die VM-Instanz:

    gcloud compute instances start VM_NAME --zone=ZONE
    

    Ersetzen Sie dabei Folgendes:

    • VM_NAME: Der Name der VM-Instanz.
    • ZONE: Die Zone, in der die VM-Instanz ausgeführt wird.
  2. Stellen Sie über einen RDP-Client eine Verbindung zur Maschine her. Weitere Informationen finden Sie unter Verbindung zu Instanzen herstellen.

  3. Verwenden Sie Windows Update, um die neuesten Windows-Updates zu installieren. Möglicherweise müssen Sie die VM-Instanz während dieses Vorgangs mehrmals neu starten.

  4. Prüfen Sie, ob alle Ihre Anwendungen wie erwartet funktionieren.

Rollback für Upgrade durchführen

Wenn das Upgrade fehlschlägt, initiiert die gcloud CLI automatisch ein Rollback. Wenn das Upgrade erfolgreich ist, kann es trotzdem vorkommen, dass eine Ihrer Anwendungen nicht wie erwartet funktioniert. Führen Sie in diesem Fall ein Rollback des Upgrades durch, indem Sie die VM-Instanz so ändern, dass wieder das ursprüngliche Bootlaufwerk verwendet wird:

  1. Halten Sie die VM-Instanz an:

    gcloud compute instances stop VM_NAME --zone=ZONE
    

    Ersetzen Sie dabei Folgendes:

    • VM_NAME: Der Name der VM-Instanz.
    • ZONE: Die Zone, in der die VM-Instanz ausgeführt wird.
  2. Suchen Sie im Build-Log nach den Zeilen, die den Namen des ursprünglichen Bootlaufwerks und den Namen des Anhangs angeben:

    4. Original boot disk: ORIGINAL_DISK_NAME
        - Device name of the attachment: DEVICE_NAME
    
  3. Trennen Sie das Laufwerk mit dem fehlerhaften Betriebssystem von der Instanz:

    gcloud compute instances detach-disk VM_NAME \
      --device-name=DEVICE_NAME \
      --zone=ZONE
    

    Ersetzen Sie dabei Folgendes:

    • VM_NAME: Der Name der VM-Instanz.
    • DEVICE_NAME: Der Gerätename, wie im Build-Log angegeben.
    • ZONE: Die Zone, in der die VM-Instanz ausgeführt wird.
  4. Hängen Sie das ursprüngliche Bootlaufwerk wieder an:

    gcloud compute instances attach-disk VM_NAME \
      --disk=ORIGINAL_DISK_NAME \
      --device-name=DEVICE_NAME \
      --zone=ZONE
    

    Ersetzen Sie dabei Folgendes:

    • VM_NAME: Der Name der VM-Instanz.
    • ORIGINAL_DISK_NAME: Der Name des ursprünglichen Bootlaufwerks, wie im Build-Log angegeben.
    • DEVICE_NAME: Der Gerätename, wie im Build-Log angegeben.
    • ZONE: Die Zone, in der die VM-Instanz ausgeführt wird.
  5. Starten Sie die VM-Instanz:

    gcloud compute instances start VM_NAME --zone=ZONE
    

    Ersetzen Sie dabei Folgendes:

    • VM_NAME: Der Name der VM-Instanz.
    • ZONE: Die Zone, in der die VM-Instanz ausgeführt wird.

Bereinigen

Entfernen Sie die Sicherungen, die die gcloud CLI vor dem Upgrade automatisch erstellt hat, um zusätzliche Kosten zu vermeiden:

  1. Suchen Sie im Build-Log nach der Zeile, die den Namen des Laufwerk-Snapshots und des ursprünglichen Bootlaufwerks angibt:

    3. Snapshot for original boot disk: SNAPSHOT_NAME
    4. Original boot disk: DISK_NAME
       - Device name of the attachment: ...
       - AutoDelete setting of the attachment: true
    5. Name of the new boot disk: ...
    
  2. Kehren Sie zu Cloud Shell zurück und löschen Sie den Snapshot des Laufwerks:

    gcloud compute snapshots delete SNAPSHOT_NAME
    
  3. Löschen Sie das ursprüngliche Bootlaufwerk und ersetzen Sie ZONE durch die Zone, in der die VM bereitgestellt wird:

    gcloud compute disks delete DISK_NAME --zone=ZONE
    

Nächste Schritte