Marco Burmeister

  private Homepage



VMWare ESXi 6.7 auf ESXi 7 upgraden



Nach der erfolgreichen Installation von ESXi 6.7 muss das System auch mal aktualisiert werden. An dieser Stelle soll erläutert werden, wie ESXi 6.7 auf ESXi 7 upgegradet werden kann.

Die Seite ist in die folgenden Bereiche eingeteilt:

Hinweis:
Die Nutzung der hier geschilderten Anleitung geschieht auf eigene Gefahr!




top Erklärung

Der Upgrade von ESXi 6.7 auf ESXi 7 (Version 7.0U2e) wird in diesem Text anhand des Upgrades mit direktem Webzugriff gezeigt werden.
Hierbei ist es bei mir zu einigen Komplikationen gekommen.


Ich hatte vor dem Upgrade eine Platte mit einer Partition mit viel Platz als neues Boot-Medium genommen. Hintergedanke war die Ermöglichung des neuen Paritionierungsschemas in ESX 7. (siehe ESXi 7 Neuerungen)
Außerdem war mein ESX vor dem Upgrade schon auf SSD installiert. Früher hatte ich mal USB-Sticks verwendet.

top Voraussetzungen

Funktionierende ESXi 6.7 Installation auf einer SSD Disk und Platz auf der Disk für das neue Partitionierungsschema. Zugriff vom ESX Server in das Internet ist möglich.

top Ablauf

Die Installation ist dieses Mal eher für Erfahrende Nutzer im Bereich ESXi geeignet.

  1. ESXi 6.7 starten
  2. SSH Console aktivieren
  3. via Putty anmelden an ESXi 6.7 oder Console verwenden
  4. anmelden als User
    root
  5. ESXi 6.7 in Maintenance-Mode wechseln / alle VMs stoppen.
    Das geht entweder via Weboberfläche oder mit dem ESXi-Shell Befehl:

    (Anmerkung: \ = Zeilenumbruch)
    esxcli system maintenanceMode set --enable true
    
    esxcli system \
    maintenanceMode set \
    --enable true			
    		
  6. Das eigentliche Update wird Online mittels http-Zugriff in das Internet stattfinden. Daher muss http erlaubt werden:

    (Anmerkung: \ = Zeilenumbruch)
    esxcli network firewall ruleset set -e true -r httpClient
    
    esxcli network firewall ruleset \
    set -e true -r httpClient			
    		
  7. Prüfen der aktuelle Version
    Befehl:
    vmware -vl
    Ausgabe:
    
    VMware ESXi 6.7.0 build-10302608
    VMware ESXi 6.7.0 Update 1
    		
  8. Werden spezielle Netzwerkkarten-Treiber benötigt, so sollten diese jetzt bereits auf einen Datastore abgelegt weren. Alternativ kann nach einem Upgrade mittels USB-Stick der Treiber auf das System gebracht werden. Eine Beschreibung hierfür findet sich auf ESXi meine Tipps.
  9. Verfügbare Profile / Depots ermitteln:

    (Anmerkung: \ = Zeilenumbruch)
    esxcli software sources profile list -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml | grep -i ESXi-7
    
    esxcli software sources profile \
    list -d \
    https://hostupdate.vmware.com/\
    software/VUM/\
    PRODUCTION/main/vmw-depot-index.xml\
    | grep -i ESXi-7
    		
    Der String hinter dem
    grep -i
    schränkt die Ausgabe ein. Alternativ kann noch ein
    | sort
    angehängt werden, um die Ausgabe zu sortieren.

    Als Ausgabe sollte erscheinen:
    
    Name                              Vendor        Acceptance Level
    --------------------------------  ------------  ----------------
    ESXi-7.0U2c-18426014-no-tools     VMware, Inc.  PartnerSupported 
    ESXi-7.0U2c-18426014-standard     VMware, Inc.  PartnerSupported
    ESXi-7.0U2d-18538813-no-tools     VMware, Inc.  PartnerSupported
    ESXi-7.0U2d-18538813-standard     VMware, Inc.  PartnerSupported
    ESXi-7.0U2e-19290878-no-tools     VMware, Inc.  PartnerSupported
    ESXi-7.0U2e-19290878-standard     VMware, Inc.  PartnerSupported
    ESXi-7.0U2sc-18295176-no-tools    VMware, Inc.  PartnerSupported
    ESXi-7.0U2sc-18295176-standard    VMware, Inc.  PartnerSupported
    		
    
    Name 
    --------------------------------
    ESXi-7.0U2c-18426014-no-tools
    ESXi-7.0U2c-18426014-standard
    ESXi-7.0U2d-18538813-no-tools
    ESXi-7.0U2d-18538813-standard
    ESXi-7.0U2e-19290878-no-tools
    ESXi-7.0U2e-19290878-standard
    ESXi-7.0U2sc-18295176-no-tools
    ESXi-7.0U2sc-18295176-standard
    		
    Es gibt nun unterschiedliche Image Profile. Die mit dem angehängtem "s" enthalten nur Sicherheits-Patche. Nachzulesen ist das alles bei VMware im Artikel Patch and Update classification schemes for VMware ESX/ESXi 4.x, ESXi 5.x and, ESXi 6.0 (2014447).
  10. Zunächst den Befehl zum Upgraden im DRY-RUN Modus ausführen. Damit wird das Einspielen simuliert, aber nichts wirklich geändert - Beispiel:

    (Anmerkung: \ = Zeilenumbruch)
    esxcli software profile update -p ESXi-7.0U2e-19290878-standard  -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml --dry-run
    
    esxcli software profile update \
    -p ESXi-7.0U2e-19290878-standard \  
    -d https://hostupdate.vmware.com/ \
    software/VUM/PRODUCTION/main/ \
    vmw-depot-index.xml --dry-run			
    		

    Als Ausgabe erschien bei mir eine Fehlermeldung wegen eines Netzwerkkarten-Treibers, der zuküftig nicht mehr kompatibel wäre:
    
     [DependencyError]
     VIB Realtek_bootbank_net55-r8168_8.045a-napi requires vmkapi_2_2_0_0, but the requirement cannot be satisfied within the ImageProfile.
     VIB Realtek_bootbank_net55-r8168_8.045a-napi requires com.vmware.driverAPI-9.2.2.0, but the requirement cannot be satisfied within the ImageProfile.
     Please refer to the log file for more details.
     		
    
    [DependencyError]
     VIB Realtek_bootbank_net55-r8168_\
     8.045a-napi requires \
     vmkapi_2_2_0_0, but the requirement \
      cannot be satisfied within \
      the ImageProfile.
     VIB Realtek_bootbank_net55-r8168_\
     8.045a-napi requires \
     com.vmware.driverAPI-9.2.2.0, \
     but the requirement cannot be \
     satisfied within the ImageProfile.
     Please refer to the log file for \
     more details.
    		
  11. Also muss ersteinmal der Treiber entfernt werden.
    Genaueres kann auf meiner ESXi-Tipps Seite nachgelesen werden. Hier beschreibe ich die Kurzversion.

    Anlisten Netzwerkkarten
    esxcli network nic list

    Wir schauen uns den Treiber nochmals genauer an:

    (Anmerkung: \ = Zeilenumbruch)
    esxcli software vib get -n net55-r8168
    
    esxcli software vib \
    get -n net55-r8168
    		

    Treiber entfernen:

    (Anmerkung: \ = Zeilenumbruch)
    esxcli software vib remove -n net55-r8168
    
    esxcli software vib \
    remove -n net55-r8168
    		

    Installation kann fortgesetzt werden.
  12. Nun nochmals den DRY-RUN (siehe oben) ausführen. Der hat dieses Mal keine Fehler mehr angezeigt.
  13. Nun kann der Upgrade ohne DRY-RUN Modus ausgeführt werden, um den Echt-Upgrade zu starten - Beispiel:

    (Anmerkung: \ = Zeilenumbruch)
    esxcli software profile update -p ESXi-7.0U2e-19290878-standard  -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml 
    
    esxcli software profile update \
    -p ESXi-7.0U2e-19290878-standard \  
    -d https://hostupdate.vmware.com/ \
    software/VUM/PRODUCTION/main/ \
    vmw-depot-index.xml 			
    		

    Sollte hier ein Fehlermeldung
    <CPU_SUPPORT WARNING:..
    (siehe unten in diesem Punkt) erscheinen, so kann die durch die Angabe des Parameters
    --no-hardware-warning
    übergangen werden.
    Für das aktuelle Release wird die CPU noch unterstützt. Aber das sollte bei VMWare geprüft werden. (siehe ESXi unsupported CPU)
    Fehlermeldung:

    (Anmerkung: \ = Zeilenumbruch)
    <CPU_SUPPORT WARNING: The CPU in this host may not be supported in future ESXi releases. Please plan accordingly.></CPU_SUPPORT> 
    
    \
     			
    		
  14. Wurde der Upgrade ausgeführt, so muss im Anschluss der Server gebootet werden.
    Vorher stellen wir aber noch den Maintenance Mode und den HTTP-Zugrff wieder ab.
  15. ESXi Maintenance-Mode deaktivieren.
    Das geht entweder via Weboberfläche oder mit dem ESXi-Shell Befehl:

    (Anmerkung: \ = Zeilenumbruch)
    esxcli system maintenanceMode set --enable false
    
    esxcli system \
    maintenanceMode set \
    --enable false
    		
  16. HTTP wieder verbieten:

    (Anmerkung: \ = Zeilenumbruch)
    esxcli network firewall ruleset set -e false -r httpClient
    
    esxcli network firewall ruleset \
    set -e false -r httpClient			
    		
  17. Rechner rebooten
  18. Prüfen der aktuelle Version
    Befehl:
    vmware -vl
    Ausgabe:
    
    VMware ESXi 7.0.2 build-19290878
    VMware ESXi 7.0 Update 2
    		
  19. Mein Homelab Rechner hatte leider eine Netzwerkkarten Kombination, die ab ESXi 7 nicht mehr unterstützt wird.
    Ich habe daher einen USB 3.0 Ethernet-Adapter erworben und angeschlossen, der vom Projekt VMWare Flings unterstützt wird. Nach dem Einspielen der notwendigen Treiber, wurde die USB-Netzwerkkarte erkannt und ich konnte das System wieder nutzen.
  20. Lizenz aktivieren.
    Der Key kann auf der VMWare Seite zum Downloaden von ESXi ermittelt werden.
    Nach der Installation bzw. dem Upgrade von ESXi 7. Dann im Menü vom vSphere Web Client wie folgt entlang hangeln:
    1. Bereich "Navigator"
    2. Menüpunkt "Verwalten" auswählen
    3. Hier den Tab "Lizensierung" aktivieren
    4. Button "Lizenz zuweisen" drücken
    5. Lizenzschlüssel eingeben und bestätigen
    6. fertig
  21. Upgrade abgeschlossen
Ich nutze beim esxcli-Befehl immer die update Option statt der Option install, die ebenfalls möglich wäre, weil dann nur die Pakete, aus dem Bundle, die bereits vorhanden waren, durch neue Versionen ersetzt und nicht enthaltene Pakete nicht gelöscht werden (siehe auch Hetzner Wiki oder VMWare Dokumentation).

top Links zum Thema

Hinweis:
Für die Richtigkeit der Daten übernehme ich keine Gewähr!
Für den Inhalt von Internet-Seiten, auf die von dieser Seite verwiesen wird, übernehme ich keine Verantwortung!