Photon 3.0 auf ESXi 5.5

Photon 3.0 installieren

Netzwerk einrichten

Das File updaten

Nach dem anschliessend Reboot sollte das Netzwerk erreichbar sein

root-login auf ssh erlauben

Natürlich ist es keine gute Idee, den root-User auf SSH zu erlauben. Damit man aber einigermassen angenehem die Konfigurationen vornehmen kann (über die ssh Konsole), wird dieser aktiviert. Sobald weitere User eingereichtet sind, kann der root-access wieder eingeschränkt werden.

Damit man sich als root per ssh einloggen kann muss man das File

editieren:

Anschliessend den Service restarten

Root Passwort ändern

Beim Installieren von Photon gebe ich ein einfaches Passwort ein, weil die locale (Tastatur-Layout) nicht wirklich für Deutsch funktioniert. Anschliessen, sobald über SSH connected werden kann, setze ich ein stärkeres Passwort:

Upgrade PhotonOS

PhotonOS upgraden

Docker aktivieren

Neuer User erstellen

Nun werden neue User erstellt.

Anschliessend rebooten

Ab sofort kann man sich mit dem neue erstellen User per SSH einloggen.

Root-User Rechter erhält man ab sofort mit

Docker Compose installieren

Nun wird Docker Compose installiert. Bitte darauf achten, dass die neueste Version installiert wird.

Siehe auch https://github.com/docker/compose/releases/

Root wieder deaktivieren

Nun kann das Root-Login über SSH wenn gewünscht wieder deaktiviert werden.

Hot-Backup von ESXi VMs

Um Backups von ESXi VMs im laufenden Zustand machen zu können, braucht es

Exkurs VMWare-Snapshot

Bei einem VMware Snapshot wird eine weitere Festplattendatei erstellt welche ab Zeitpunkt des Snapshots alle geänderten Blöcke aufnimmt. Gleichzeitig wird der Exklusiv Zugriff auf die Basis Festplatte aufgehoben so das andere Prozesse lesen koennen.

Dieses “lesen” kann ein Kopierbefehl einens Backupprogramms sein. Da keine Schreibzugriffe mehr in die Datei erfolgen ist der Zustand also konsistent. Snapshots sind also keine Backups. Ein Snapshot “friert” lediglich einen Zustand ein (Basis Festplatte) und schreibt alle ab diesem Zeitpunkt anfallenden Änderungen in eine neue Snapshot Datei (Delta).

 

  • Die Basisplatte und der bzw. die Snapshots zusammen ergeben den akt. Stand. Fehlt ein Element in der Kette ist kein vollstaendiges Restore mehr moeglich. Beides muss zur gleichen Zeiten fuer den HOST zugaenglich sein.
  • Snapshots wachsen bis zur max. konfigurierten Festplattengroesse heran. Die Groesse des Datastores ist also zu ueberwachen.
  • Beim löeschen von mehr als 2 Snapshots ist zu bedenken das ein Helper angelegt wird und immer die Groesse der zusammen zufuehrenden Snaps benoetigt wird.
  • Laufende Snaps kosten ein wenig Performance. Die Gefahr von Fragmentierierung ignorieren wir da die Snaps immer in 16MB Bloecken wachsen.
  • Grosse Snaps loeschen, hier versteht VMware das einpflegen der Aenderungen, dauert lange

Beispiel:

  • Basisplatte
  • Snapshot1
  • Snapshot2
  • Snapshot3
  • Snapshotx

Löscht man jetzt Snapshotx wird dieser (und damit alle davorigen Snapshots) in die Basisplatte eingepflegt.
Löscht man Snapshot2 wird dessen Zustand und der von Snapshot1 in die Basisplatte eingepflegt und Snapshot3 usw. werden zu Snapshot1 usw,

Die .VMDK-Files (Virtuell Maschine Disk Files) können im laufenden Betrieb nicht kopiert oder verschoben werden, da sie ja in Gebrauch sind. Dies sieht aber nach einem Snapshot anders aus. Bei einem Snapshot werden die .VMDK-Files im Prinzip gekappt und neue Files (VMSN und VMSD) angelegt, in welche die kompletten Änderungen des Snapshots geschrieben werden. Wenn man ein Snapshot der VM macht, wird die Basis-Festplatte in den Read-Only Modus gesetzt, wordurch diese nun, da konsisten, kopiert werden kann. Das Verhalten von Snapshots kann also ausgenutzt werden um Backups im laufenden System erstellen zu können (Hilfsmittel zum Backup):

Komplettbackup 1

  1. Das Konfigurations-File der VM sichern/kopieren (VMX-File)-> nach dem Snaphsot der vituellen Maschine ändern sich die Verweise in der Konfiguration.
  2. Man erstellt einen ersten Snapshot einer VM. Es bestehen anonsten keine Snapshots dieser VM. Der Snapshot wird also gemacht, und die Basis-Festplatte kopiert. Anschliessend den Snapshot wieder loeschen. Dieses Vorgehen benötigt entsprechend viel Platz, wenn mehrere Backups der gleichen VM notwendig sind.

Komplettbackup 2

  1. Man macht täglich einen Snapshot und sicherst den Snapshot des Vortages. Bedeutet weniger Platz da quasi nur Aenderungen dann noch anfallen. Aber ein Restore erfordert Knowhow und dein ESX wird mehr belastet.

Soweit der Exkurs… Um ein Backup zu erstellen, können wir das mit den Snapshots manuell machen oder aber mit dem ghettoVCB-Script arbeiten. Das macht nämlich genau das oben beschriebene.

Installation von ghettoVCB

Die Installation ist simple. Einfach ein Verzeichnis auf dem ESXi-Datastore erstellen und die ghettoVCB-Scripts hineinkopieren. Das wird ganz schön auf Youtube gezeigt: http://www.youtube.com/watch?v=mVrjxzKEEu4

ghettoVCB konfigurieren und Backup durchführen

Die Konfigurationsmölgichkeiten findet man hier: http://communities.vmware.com/docs/DOC-8760

ghettoVCB.conf File

Ich habe mein ghettoVCB.conf File folgendermassen konfiguriert (ist eingentlich alles Standard):

VMs zum Backup

Habe ein File “vms_to_backup” erstellt, welches eine Liste der Namen der VMs beinhaltet. Bei den Namen handelt es sich um die Namen, welche auch im vSphereClient angezeigt werden:

Backup run

Nun kann die VM im laufenden Zustand gebackuped werden (Option -d dryrun führt einen Testlauf durch):

Backup automatisch durchführen (Cron-Tab)

Um das Backup automatisch durchzuführen, kann dies in der Cron-Tab von ESXi konfiguriert werden:

In Crontab registrieren, Job soll jeden Donnerstag um 17:00 Uhr durchgeführt werden

Wenn man dies Ausführt, wird der crontab automatisch an die richtige Datei angehängt.
Nun muss crond neu gestartet werden:

ESXi 4.1

Die Cron-Tab von ESXi wird bei jedem Start wieder neu geschrieben. Um die Zeile deswegen bei jedem Start auszuführen, muss diese noch in die /etc/rc.local eingetragen werden. Meine rc.local sieht anschliessend so aus:

ESXi 5.5

Die Cron-Tab von ESXi wird bei jedem Start wieder neu geschrieben. Um die Zeile deswegen bei jedem Start auszuführen, muss diese noch in die /etc/rc.local eingetragen werden. Meine rc.local sieht anschliessend so aus:

Nun nur noch autobackup durchführen, das ganze in der ESXi Konfuguration zu speichern:

Das wars! Jetzt werden die VMs automatisch regelmässig gesichert.

Restore durchführen

Um einen Restore druchzuführen, habe ich ein file vms_to_restore erstellt, wobei dieses pro Linie einen Restore-Parameter mit folgendem Format enthalten muss:

z.B.:

Anschliessend kann das Restore folgendermassen gestartet werden (Option -d 2 = Dryrun):

Dies stellt das von ghettoVCB erstellte Backup “TestVM32Bit-2013-01-03_13-25-54” unter dem Pfad “/vmfs/volumes/ESXi Raid1/TestVM” her bzw. kopiert diese dahin und registriert die VM neu beim ESXi-Host.

Die Fileformate

zeroedthick (default)

vmdk wird in voller Groesse angelegt – dieser Typ wird bei der Erstellung nicht mit Nullen ueberschrieben – das passiert erst spaeter im Betrieb

eagerzeroedthick

vmdk wird in voller Groesse angelegt – dieser Typ wird bei der Erstellung mit Nullen ueberschrieben

thick

vmdk wird in voller Groesse angelegt – und nie genullt

thin

vmdk waechst nach Bedarf – dies ist ein Feature des VMFS dateisystems – und ist auf den meisten NFS-servern nicht moeglich

2gbsparsed

vmdk wird in maximal 2 Gb grosse Stuecke aufgeteilt – die jeweils nach Bedarf wachsen – dieses Format ist it Workstation kompatibel

Update ESXi Patch-Bundle

  1. ESXi 5.5 in Maintenance-Mode wechseln / alle VMs stoppen
  2. Upload ESXi Patch-File auf ESXi host (zip)
  3. Schauen, welche Profile im Zip-File vorhanden sind:

    Resultat

    “no-tools” ist das Profile ohne die VmWare-Tools, “standard” ist das Update mit allem drum und dran. Es kann auch sein, dass ein Profilname mit “s” endet (z.B. ESXi-5.5.0-20151004001s-standard). Dieser Patch würde dann nur die Security-Updates beinhalten.
  4. Jetzt kann das Upate durchgeführt werden
  5.  Jetzt den ESXi-Host durchstarten.
  6. Wichtig: Beim esxcli-Befehl die update Option, NICHT die install-Option verwenden. Die Update-Option esetzt die bereits vorhandenen Pakete auf dem ESXi-Host mit neuen Versionen aus dem Bundle. Vorhandene Pakete auf dem ESXi-Host, welche nicht im Bundle vorhanden sind werden nicht gelöscht.
    Die Install-Option würde Pakete, des ESXi-Hosts, welche nicht im Bundle vorhanden sind, löschen (komplette “reinstallation”).

Referenzen:

ESXi Embedded Host-Client

VmWare Host-Client, der den mittlerweile ziemlich veralteten vSphere Client ablösen soll:

https://labs.vmware.com/flings/esxi-embedded-host-client

Einmal auf dem ESXi-Host installiert kann man den HTML5 Host-Client über https://<host:port>/ui/ abrufen.

Einzelne VMs kann man z.B. über vmrc://192.168.2.30/?moid=41 aufrufen. Dazu muss natürlich auch erst “VmWare Remote Client” vmrc auf den lokalen System installiert werden.

Leider funktioniert bei mir der Embedded Host-Client bzw. der HTML5-Client im zusammenspiel mit meinem ESXi 5.5 Host nicht wirklich. Der Host und die VMs können toll eingesehen werden. Aktionen wie Herunterfahren, etc. können aber nicht durchgeführt werden. Geschweige denn kann eine Konsole zu den VMs geöffnet werden.

Fazit: Aktuell bleibt einem ESXi (free) User immer noch nichts anderes übrig als den alten verstaubten vSphere Client zu benutzen.,..

 

VmWare ESXi Command Line Tool

Nachdem man den ESXi-Server mit SSH connecten kann, stellt sich natürlich die Frage wie man über das Terminal ESXi-Befehle absetzen kann. Das geht mit

  • Alle auf dem Host registrierten VMs auflisten
  • VM von der Register-Liste entfernen
  • VM registrieren
  • Power-Status der VM anzeigen
  • VM ausschalten (Power off)
  • VM einschalten (Power on)
  • In Maintenance Mode gehen
  • VM-Ware Tools installieren

Links

http://www.doublecloud.org/2013/11/vmware-esxi-vim-cmd-command-a-quick-tutorial/

 

ESXi Templates

  1. Shutdown der VM, welche kopiert werden soll
  2. Click on the host > Configuration tab
  3. Select Hardware > Storage to display the datastores
  4. Right-click on the datastore with the VM you want to clone > Browse Datastore
  5. Create a new folder in the store
  6. Right click on the VM folder and select Copy (must be done in the right pane of the Datastore Browser)
  7. Paste the VM to a new sub folder (otherwise the VM will overwrite itself)
  8. Once copied, rename and move the folder if desired
  9. Select the .vmx file within the cloned VM and select ‘Add to Inventory’

Es kann vorkommen, dass das Networking der VM nach dem Kopieren nicht funktioniert. Das Problem war, weil der Adapternahme von eth0 auf eth1
gewechselt hatte:

http://blog.inventic.eu/2013/03/ubuntu-eth0-error-while-getting-interface-flags-no-such-device/

VM-Ware Tools auf einem Ubunut-Gastsystem installieren (VM-Ware ESXi 4.1)

Getestet mit “ESXi 4.1 Update 3” Server (4.1.0, 800380) und folgenden Gastsystemen:

  • Ubuntu-Server 10.04.4 LTS
  • Ubuntu-Server 12.04.1 LTS
  • Ubuntu-Server 12.10

Als erstes sicherstellen, dass auf dem Gastsystem alles notwendige installiert ist:

Dann in der vSphere-Client-Konsole: Menü VM->Gast->VMwareTools installieren. Dies hängt das VMWare-Tools .iso ein, das per ESXi-Server-Installation bereits im datastore liegt.

Per SSH zur VM verbinden, oder einfach die Konsole öffnen (ich finde SSH komfortabler, da in der Konsole kein Copy&Paste möglich ist),

  1. iso ins Betriebssystem einhängen

  2. VMware Tools-<version> kopieren und auspacken


  3. Pakete fürs Kompilieren holen/überprüfen, falls diese noch nicht installiert sind
  4. #Installation durchführen


    – Alle Nachfragen mit ENTER bestätigen.
    – Das Script hängt das Image automatisch aus.
    – Ein Reboot des Gast-Systems ist nicht notwendig

VmWare-Tools läuft nun als Service:

Check, welche VmWare-Tools version installiert ist

 

Update Esxi Server

Dieses Howto beschreibt ein Update von ESXi 4.0 nach ESXi 4.1. Für ein Update von ESXi 5.5 siehe hier.

Vorbereitung

  • Kopieren der Update-Datei (z.B. update-from-esxi4.1-4.1_update03.zip) auf den Esxi-Host
  • Per SSH auf den Esxi-Host einloggen
  • Zum Update-File navigieren

Durchführung Update

Das Update-File kann nun mit dem Befehl

angewendet werden

Überprüfen welche Updates in dem File vorhanden sind

Durchführung eines Testlaufs => nichts wird modifiziert

  • Alle VMs sauber stoppen
  • Den Server in den Maintenance-Mode setzen => über den vShpereClient
  • Update installieren
  • Den Host über vSphereClient rebooten
  • Den Host über vSphereClient wieder in den normalen Betriebs-Mode setzen
  • Alle VMs wieder starten
  • Check ob alle Dienste wieder laufen

Beschreibung der Optionen

Siehe File: esxupdate