VMWare Upgrade: [Errno 28] No space left on device

Ich wollte einen ESXi von 6.5 auf 6.7 upgraden – aber das Upgrade lief auf folgenden Fehler:

[InstallationError]
[Errno 28] No space left on device
vibs = VMware_locker_tools-light_10.2.0.7253323-8169922
Please refer to the log file for more details.

Gelöst hab ich das Problem in dem ich das angezeigte Paket einzeln vor dem eigentlichen Upgrade installiert habe. Gemacht hab ich das folgendermaßen:

cd /tmp

wget http://hostupdate.vmware.com/software/VUM/PRODUCTION/main/esx/vmw/vib20/tools-light/VMware_locker_tools-light_10.2.0.7253323-8169922.vib

esxcli software vib install -f -v /tmp/VMware_locker_tools-light_10.2.0.7253323-8169922.vib

danach lief das Upgrade durch 🙂

Quelle: vivithemage.com

VMware: Exportieren einer VM als OVA

In den Web-Interfaces der ESXi und vCenter fehlt die Funktion eine VM als OVA zu exportieren – es geht nur der Export als OVF (2 Dateien) – und eine OVA ist da doch deutlich schöner.

Früher konnte man das mit dem alten Windows-vSphere-Client sehr einfach machen – aber seit 6.5 ist das ja keine Alternative mehr 😉

Ein super einfacher und – wie ich finde – schöner Weg ist der Export mittels dem OFV-Tool von VMWare.

Das VMware Open Virtualization Format Tool kann hier runtergeladen werden:

https://my.vmware.com/group/vmware/details?downloadGroup=OVFTOOL420&productId=676

Nach der Installation führen wir das Tool aus (hier am Beispiel von Windows – unter Linux und MacOS ähnlich):

ovftool.exe --noSSLVerify vi://root@ip.des.esxi.host/name-der-vm c:\export\vm-name.ova

Also z.B.:

ovftool.exe --noSSLVerify vi://root@192.168.178.220/sv-reverse c:\Users\schaloml\Downloads\sv-revese.ova

Kurze Erklärung:
–noSSLVerifiy -> Keine Prüfung des SSL-Zetifikats
vi://root@ip.des.esxi.host/name-der-vm -> hier wird die Verbindung zum ESXi bzw. vCenter mit dem angegebenen User hergestellt
c:\Users\schaloml\Downloads\sv-revese.ova -> Export-Pfad und Name der Datei

Insgesamt also super einfach zu bedienen und erfüllt seinen Zweck 🙂

VMware: Systemprotokolle auf dem Host abc.xyz werden in einem nicht beständigen Speicher gespeichert

Bei Installationen des ESXi auf einem USB-Stick oder einer SD-Karte wird die Warnung „Systemprotokolle auf dem host abc.xyz werden in einem nicht beständigen Speicher gespeichert„ angezeigt. VMware logt nämlich nicht auf USB-Speicher und Sd-Karten – den die sind nach VMWare-denke „volatil“. Nur Festplatten (respektive Datastores) sind beständig.

Einen Lösungsweg hab ich schon hier beschrieben – hier will ich aber meine aktuelle und bevorzugte Lösung beschreiben – der dazu noch ohne Neustart auskommt 🙂

Um das Problem der Protokolle zu lösen, lasse ich die ESXi-Hosts ihre Protokolle auf den Syslog-Server des vCenters ablegen.

Dazu wird auf dem jeweiligen Host unter

Verwaltung – Erweiterte Einstellungen

in dem Eintrag

„Syslog.global.loghost“

die Adresse des Syslog-Server des vCenter-Servers eintragen.

Das Format lautet: udp://ip.des.vCenter.Server:514

fertig 🙂

Hinweis: Der Syslog-Server (Syslog Collector) ist ab der Version 6 standardmäßig an – bei älteren Version muss er noch aktiviert werden: Eine Anleitung hirzu gibts hier

Quelle: thomas-krenn.com

ESXi 6.5 U1: Upgrade schlägt fehl

Ich wollte einen ESXi auf 6.5 U1 upgraden – doch das Upgrade auf einem USB-Stick installierten Server ist mit folgender Fehlermeldung abgebrochen:

[InstallationError]
Failed updating the bootloader: Execution of command /usr/lib/vmware/bootloader-installer/install-bootloader failed: non-zero code returned
return code: 1
output: ERROR: ld.so: object ‚/lib/libMallocArenaFix.so‘ from LD_PRELOAD cannot be preloaded: ignored.
Traceback (most recent call last):
File „/usr/lib/vmware/bootloader-installer/install-bootloader“, line 238, in
main()
File „/usr/lib/vmware/bootloader-installer/install-bootloader“, line 223, in main
partType, diskGeom, parts = getDiskInfo(diskPath)
File „/usr/lib/vmware/bootloader-installer/install-bootloader“, line 151, in getDiskInfo
rc, out, err = execCommand(command)
File „/usr/lib/vmware/bootloader-installer/install-bootloader“, line 94, in execCommand
raise Exception(„%s failed to execute: status(%d)“ % (command, process.returncode))
Exception: /sbin/partedUtil getptbl /vmfs/devices/disks/naa.200049454505080f failed to execute: status(255)
vibs = VMware_bootbank_esx-base_6.5.0-1.26.5969303
Please refer to the log file for more details.

Ich habe das Problem mit dem deaktivieren des neuen USB-Treibers gelöst:

esxcli system module set -m=vmkusb -e=FALSE

danach reboot und dann nochmal das Upgrade versucht -> funktioniert.

Nach dem erfolgreichen Upgrade sollte man den Treiber wieder mit

esxcli system module set -m=vmkusb -e=TRUE

aktivieren.

Nach einem weiteren Reboot ist man dann wieder up-to-date 🙂

Quellen: VMWare und VMWare-Forum

Upgrade VMWare ESXi über die CLI

Will man einen ESXi-Host updaten oder z.B. von 6.0 auf 6.5 upgraden, kann man das ganz einfach wie folgt über die CLI erledigen:

1) SSH-Dienst auf dem Host starten

Entweder im Web Client unter Aktionen – Dienste – Secure Shell (SSH) aktivieren

ssh-aktivieren-webclient

oder im vSphere Client wie hier beschrieben

2) Anmeldung über SSH

3) Firewall für HTTP freischalten

esxcli network firewall ruleset set -e true -r httpClient

4) Upgrade-Paket suchen – hier als Beispiel die Version 6.5

esxcli software sources profile list -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml | grep -i ESXi-6.5

(Für andere Versionen einfach bei dem grep die entsprechende Version abändern)

Dann bekommt man folgende Anzeige

ssh-upgrade-paket-finden

5) Upgrade ausführen

esxcli software profile update -p ESXi-6.5.0-4564106-standard -d http://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml

(Für andere Versionen einfach die entsprechende Version abändern)

Nach dem erfolgreichen update sieht man folgendes

ssh-upgrade-beendet

6) Nestarten

reboot

fertig 🙂

VMWare: Backup beschädigt Datenbanken (Exchange, SQL, ActiveDirectory)

Ich hatte bei einem Kunden das Problem, dass in schöner Regelmäßigkeit die Exchange-Datenbanken, SQL-Datenbanken und auch die Datenbanken des ActiveDirectorys auf den Domain-Controllern, die in VMs unter VMWare liefen, nach der Sicherungen (in meinem Fall mit Veeam) Fehler aufwiesen – oder teilweise sogar ganz defekt waren.

Nach ewiger Sucherei stellt sich heraus: Die eingesetzte VMWare-Version (vSphere 6.0) hatte ein schwerwiegendes Problems mit dem CBT Treibern – betroffen waren Oracle, SQL, AD und Exchange Datenbanken. Hier auch ein Thread zu dem Thema.

Die Lösung ist hier ganz simpel: Update der VMWare-Umgebung (mindestens) auf das Update 1b – den dort ist der Bug behoben.

Seitdem keine Problem mehr 🙂

VMware: Systemprotokolle auf dem host werden in einem nicht beständigen Speicher gespeichert

Bei Installationen des ESXi auf einem USB-Stick oder einer SD-Karte wird die Warnung „Systemprotokolle auf dem host abc.xyz werden in einem nicht beständigen Speicher gespeichert„. VMware logt nämlich nicht auf USB-Speicher und Sd-Karten – den die sind nach VMWare-denke „volatil“. Nur Festplatten (respektive Datastores) sind beständig.

vmwarelogfehler

Das Problem löst man wie folgt in zwei einfachen Schritten:

1. Einen Speicherort für die Scratch-Files für jeden betroffenen ESX(i)-Host auf einem Datastore erstellen. Das geht direkt im vSphere Client und im laufenden Betrieb – die Änderung wird nur erst bei einem Neustart des Hosts aktiv.

Auf dem jeweiligen ESX(i)-Host unter Konfiguration/Speicher den passenden Datastore Durchsuchen und einen Ordner erstellen. VMWare schlägt einen Namen wie .locker-ESXHOSTNAME vor, denn Ordner die mit einem „.“ beginnen werden im Browser nicht angezeigt. Jeder Host braucht einen eigenen Scratch-Ordner.

2. Diesen neuen Ort dann in die ESX(i) Konfiguration der Hosts eintragen:

Unter

Konfiguration
– Software
– Erweiterte Einstellungen
– ScratchConfig
– ScratchConfig.ConfiguredScratchLocation
auf den neuen Pfad setzen, z.B. /vmfs/volumes/DATASTORENAME/.locker-ESXHOSTNAME

Der Defaultwert ist /tmp/scratch, was in einer Standartinstallation auf der Ramdisk liegt. Danach muss wie gesagt noch neu gestartet werden – danach ist die Meldung verschwunden!

Quelle: ugg.li

Hyper-V und VMware Workstation bzw. Player auf gleichen Rechner betreiben

Wann man – wie ich – auf einem Rechner VMware Workstation bzw. Player und den integrierten Hypervisor Hyper-V unter Windows verwenden will muss man ein wenig tricksen.
Denn wenn einr der beiden installiert / aktiviert ist, kann man den anderen Hypervisor nicht verwenden.
Um dieses Problem zu lösen muss man den Hyper-V beim booten aktivieren um Hyper-V zu verwenden – bzw. deaktivieren um VMware zu verwenden.

Das funktioniert am einfachsten wenn man eine Powershell als Administrator öffnet und mit

bcdedit /set hypervisorlaunchtype off

Hyper-V beim nächsten booten zu deaktivieren (um mit VMware zu arbeiten), bzw.

bcdedit /set hypervisorlaunchtype auto

um Hyper-V beim nächsten starten zu aktivieren um eben mit Hyper-V zu arbeiten.

Update von VMWare ESXi mit Offline Bundle

Wenn man einen ESXi-Host updaten will und den Update Manager von VMWare nicht verwenden kann oder will, empfehle ich immer das Update mittels dem Offline Bundle.

Das Update mit dem Offline Bundle ist wirklich super einfach und funktioniert eigentlich immer. Ich zeige die Vorgehensweise an einem Upgrade von ESXi 5.1 auf 5.5:

1) Als erstes muss das zu installierende Offline Bundle heruntergeladen werden. Entweder direkt bei VMWare

OfflineBundleDownload

oder beim Hersteller des Servers. Alle großen Hersteller bieten hier auch Offline Bundles an. Wenn der Server mit vorinstalliertem ESXi vom Hersteller läuft, wäre der Hersteller-Download die bevorzugte Wahl.

2) Das Offline Bundle auf den Datastore des ESXi hochladen. Wenn man mehrere ESXi zu upgraden hat, empfiehlt sich da natürlich ein Datastore zu wählen auf den alle ESXi Zugriff haben..

BundleHochladen

BundleHochgeladen

3) Den ESXi-Host in den Wartungsmodus versetzen

Wartungsmodus

4) Mit SSH auf den Host verbinden (falls nötig muss der Dienst noch gestartet werden -> Anleitung wie dies einfach funktioniert)

5) Jetzt geben wir uns alle Profile des Offline Bundle aus

esxcli software sources profile list -d /vmfs/volumes/datastore1/update-from-esxi5.5-5.5_update02-2068190.zip

ShowProfilesBundle

Meistens wird hier das einfache Standard-Profil benötigt – kommt darauf an welches Profil der Host jetzt hat – das sieht man am einfachsten im VMWare Client

ProfileESXi-Host-1

6) Das entsprechende Profil installieren

esxcli software profile update -d /vmfs/volumes/datastore1/update-from-esxi5.5-5.5_update02-2068190.zip -p ESXi-5.5.0-20140902001-standard

Nach kurzer Wartezeit kommt dann folgende Ausgabe

UpdateResultOfflineBundle

Danach den Host rebooten

reboot now

7) Mit dem VMWare-Client anmelden und die Version überprüfen

ProfileESXi-Host-2

8) Wartungsmodus beenden

Jetzt noch den Wartungsmodus beenden

WartungsmodusBeenden

und schon sind wir fertig 🙂