Archiv der Kategorie: VMware Tutorials

Virtualization advanced Workarounds Tutorials Enhancements unblog technical contribution for professionals

Virtualisierung OS X 10.9 Mavericks mit VMware

Mit vorinstallierten Mac OS X – VMware-Images geht es bequem und schnell Virtuelle Installation vorzunehmen, die manuelle Installation mit Patching und Einrichtung der Hardware Anforderungen entfällt. Dieser Artikel soll als Leitfaden zur OS X Desktop-Virtualisierungssoftware auf PCs dienen, es wird die Installation von OS X 10.9 Mavericks VMware-Image auf Windows 8.1 und Intel-Prozessor basierten Computer mit VMware Workstation 11 beschrieben. Grundsätzlich ist das vorgehen ab VMware Workstation 7 und höher möglich.

Anmerkend sei erwähnt das die Anwendung von OS X Virtuelle Maschinen auf Intel-basierten Computer mit VMware immer Hackintosh Versionen sind, diese Arbeiten nicht auf Physikalischen Maschinen sondern kommen nur als Virtuelle Images zum Einsatz. Virtuelle Maschinen auf Mac OS X haben beschränkte Funktionalität in Bezug auf die Hardware Nutzung, für Tests und um zu experimentieren sind diese jedoch mehr als ausreichend.

Als Voraussetzung wird eine Intel CPU mit Virtualisierungstechnik VT-x oder AMD CPU mit AMD-V Unterstützung erforderlich. Die Virtualisierungsfunktionen müssen im BIOS des Rechners aktiviert sein, dies ist beim Bootvorgang meist über F1 oder F10 zu erreichen, je nach Hersteller werden die Optionen unter Advanced CPU Features, oft CPU Multi-Threading, Virtualization Technology oder Intel VT-x (VT-d) genannt, diese gilt es jeweils zu aktivieren.

Das vorinstallierte OS X 10.9 Mavericks VMware Image kann per Google gefunden werden, schnell fündig wird man wenn man mit folgender Eingabe sucht.

os x maverick vmware image 7z

Das 7zip Archive am besten mit dem freien Archivierungs-Tool von 7-zip entpacken.

OS X 10.9 Mavericks VMware unpacking

Es wird der Hackintosh „VMware unlocker“ benötigt, ein Pflicht Dienstprogramm für Mac OS X Gast Instanzen. Das Unlocker Dienstprogramm ersetzt einige VMware Programmdateien um die Installation Ausführung zu können. Der Unlocker erhält man bei www.insanelymac.com, oder sucht bei Google nach:

insanelymac Mac OS X Unlocker VMware V2

Mit Registrierung einer gültigen E-Mail ist man zum Download und zur freien Nutzung berechtigt.

Nach Download der Datei unlocker204.zip das Archive entpacken und die Datei win-install.cmd als Administrator ausführen.

Es werden die VMware Dienste angehalten und die VMware Workstation für Mac OS X erweitert, sowie die VMware Tools bereitgestellt.

Jetzt nur noch die VM-Konfigurationsdatei OS X Mavericks.vmx editieren und den Eintrag smc.version = „0“ hinzufügen (nur ab VMware Workstation 10).

OS X Mavericks.vmx

Mit Doppel-Klick auf OS X Mavericks.vmx öffnen wir die Virtuelle Maschine, je nachdem wie viel Memory dem Host System zur Verfügung steht, kann dem Gast OS das Memory erhöht werden, die Anzahl der CPU und Core sollte nicht verändert werden.

Als Option zur besseren Performance kann man den Upgrade Wizard zur VMware Hardware Kompatibilität auf die Version 10 ausführen.

Change Hardware Compatibility

Nun kann die OS X 10.9 Mavericks VM gestartet werden.

OS X Mavericks VMware Workstation

Als letztes werden noch die WMware Tools installiert, dazu wird die CDROM gemountet mit Verbindung zum darwin.iso welches unter dem entpackten Unlocker Ordner ist. Nach dem nächsten Reboot ist das OS X Gast OS fertig.

OS X Mavericks – Install VMware Tools

Tipp! Die Auswahl der Bildschirmauflösung hat Apple etwas bescheiden ausfallen lassen, drückt man jedoch bei Scaled die ALT-Taste lässt sich eine adäquate Auflösung wählen.

Bildschirmauflösung

 

Das OS X Mavericks VMware Image ist auch für die Installation auf einem VMware Infrastruktur Server, ESXi möglich, in dem das Gast OS aus der VMware Workstation auf ein ESXi Host hochgeladen wird.

Quellen Links:

7zip
WMware

VM sicherung mit ghettoVCB für ESXi

VMware ESXi Backup von virtuellen Maschinen mit ghettoVCB

ghettoVCB von William Lam (@lamw) ist eine freie alternative zur Sicherung von virtuellen Maschinen. Das Skript erstellt Backups von virtuellen Maschinen auf ESX(i)3.5/4.x/5.x/6.x-Server mithilfe einer Methode ähnlich wie des VMware VCB-Tool.

Es werden Snapshots von laufenden virtuellen Maschinen gemacht und sichert diese danach, nach Fertigstellung werden die Snapshots wieder gelöscht bis zur nächsten Sicherung. Der einzige unterschied zu VMware VCB ist dass der Prozess auf dem ESXi-Host selbst ausgeführt wird, dabei werden wenig Ressourcen belegt. Die Backups werden über die Service-Konsole (Busybox Console) des Hypervisor gefahren, im Gegensatz zu der traditionellen Methode bei der die Backups eine virtuelle Maschine als VCB-Proxy nutzt.

Download ghettoVCB

Die ESXi-Shell und TSM-SSH muss aktiviert werden, dies geschieht über die ESXi direkt Console oder aus dem vSphere Client.

Nach dem download und entpacken, die Dateien mit WinSCP oder aus dem vSphere Client auf den ESXi-Host in ein Verzeichnis hochladen, hier ist es der Pfad
/vmfs/volumes/datastore1/ghettoVCB/

Als Backup Speicher wird eine Synology RackStation genutzt, dabei könnte es auch eine DiskStation oder ein QNAP NAS sein, es wird der NFS Datenspeicher gemountet dieser auf dem NAS als NFS Freigabe bereitgestellt wurde.

DSM NFS Berechtigungen

Der NFS Export des NAS wird aus dem vSphere oder vCenter gemountet, hierzu geht man auf: Konfiguration – Speicher – Speicher hinzufügen.

Der NFS Speicher des NAS wird eingebunden.

Im Feld Server wird die IP Adresse des NAS eingetragen, im Feld Ordner der absolute Pfad der NFS Freigabe, bei der Synology RackStation ist dies in der regel /volume1 gefolgt vom Name der Freigabe. Als Datenspeichername wird der Name des NAS eingetragen, dieser Name muss in der Konfigurationsdatei, ghettoVCB.conf bei VM_BACKUP_VOLUME identisch sein.

vSphere NFS Datenspeicher

Der NFS Speicher wird gemountet.

Ab ESXi 6 wird der vSphere Web Client genutzt, im Navigator geht man zu Speicher und Neuer Datenspeicher.

Der Datenspeicher Assistent wird geöffnet.

NFS-Datenspeicher mounten wählen.

Auf weiter gehen und im letzten Fenster den Assistenten beenden.

Das NAS wird als NFS Datenspeicher gemountet und steht bereit.

Nun den crontask anhalten mit

# /bin/kill $(cat /var/run/crond.pid)

Eine Datei anlegen mit den VMs die gesichert werden sollen.
vi /vmfs/volumes/datastore1/ghettoVCB/vms.cfg

homer
barth
marge

und die VM Konfiguration für homer wo die Backup Rotation definiert wird, dies ermöglicht eine unterschiedliche Backup Rotation, wird keine Konfiguration angelegt, gelten die Werte in der ghettoVCB.conf.

vi /vmfs/volumes/datastore1/ghettoVCB/homer

VM_BACKUP_VOLUME=/vmfs/volumes/NAS
DISK_BACKUP_FORMAT=thin
VM_BACKUP_ROTATION_COUNT=5
POWER_VM_DOWN_BEFORE_BACKUP=0
ENABLE_HARD_POWER_OFF=0
ITER_TO_WAIT_SHUTDOWN=4
POWER_DOWN_TIMEOUT=5
SNAPSHOT_TIMEOUT=15
ENABLE_COMPRESSION=0
VM_SNAPSHOT_MEMORY=0
VM_SNAPSHOT_QUIESCE=0
VMDK_FILES_TO_BACKUP="all"

crontab beschreibbar machen und Backup um 22:01 Täglich ausführen.

chmod +w /var/spool/cron/crontabs/root

vi /var/spool/cron/crontabs/root

/bin/echo "01   22   *   *   *   /vmfs/volumes/datastore1/ghettoVCB/ghettoVCB.sh -f /vmfs/volumes/datastore1/ghettoVCB/vms.cfg > /vmfs/volumes/datastore1/ghettoVCB/ghettoVCB-backup-$(date +\%s).log" >> /var/spool/cron/crontabs/root

crontab wieder starten

crond

bei ESXi5.0

/bin/busybox crond

Testen ob der Script tut was er soll.

cd /vmfs/volumes/datastore1/ghettoVCB/
./ghettoVCB.sh -f vms.cfg -d dryrun

cronjob persistent machen, damit nach dem nächsten Reboot wieder alles läuft.

chmod +w /etc/rc.local

Die Datei rc.local editieren, vi /etc/rc.local

... (unten anhängen)
/bin/kill $(cat /var/run/crond.pid)
/bin/echo "01  22  *   *   *   /vmfs/volumes/datastore1/ghettoVCB/ghettoVCB.sh -f /vmfs/volumes/datastore1/ghettoVCB/vms.cfg > /vmfs/volumes/datastore1/ghettoVCB/ghettoVCB-backup-$(date +\%s).log" >> /var/spool/cron/crontabs/root
/bin/busybox crond
/sbin/auto-backup.sh

ab ESXi 5.1 und höher wird /etc/rc.local.d/local.sh genutzt.

#!/bin/sh

# local configuration options

# Note: modify at your own risk!  If you do/use anything in this
# script that is not part of a stable API (relying on files to be in
# specific places, specific tools, specific output, etc) there is a
# possibility you will end up with a broken system after patching or
# upgrading.  Changes are not supported unless under direction of
# VMware support.

/bin/kill $(cat /var/run/crond.pid)
/bin/echo "01 22 * * * /vmfs/volumes/datastore1/ghettoVCB/ghettoVCB.sh -f /vmfs/volumes/datastore1/ghettoVCB/vms.cfg > /vmfs/volumes/datastore1/ghettoVCB/ghettoVCB-backup-$(date +\%s).log" >> /var/spool/cron/crontabs/root
crond

exit 0

Die Sicherung der konfigurierten VMs wird nun zur definierten Zeit starten, dabei wird nicht die Zeit der Konsole berücksichtigt, sondern die die Zeit die im vSphere Client angezeigt wird.

VMware esxi 5.5 support for ghettovcb.sh
Fixed the script by changing

case "${ESX_VERSION}" in
    5.0.0|5.1.0) VER=5; break;;
    4.0.0|4.1.0) VER=4; break;;
    3.5.0|3i) VER=3; break;;
to
case "${ESX_VERSION}" in
   5.0.0|5.1.0|5.5.0) VER=5; break;;
   4.0.0|4.1.0) VER=4; break;;
   3.5.0|3i) VER=3; break;;

in both the backup and restore scripts.

Troubleshooting

Wird ein ERROR protokolliert, liegt es oft daran das vor der ersten Snapshot Sicherung keine Konsolidierung gemacht wurde.

info: ERROR: error in backing up of "/vmfs/volumes/datastore1/guestvm/guestvm.vmdk"

info: ERROR: Unable to backup guestvm due to error in VMDK backup!

info: ###### Final status: ERROR: No VMs backed up! ######

Snapshot Konsolidieren aus dem vSphere oder vCenter, dies vor der ersten ghettoVCB Sicherung ausführen.

Snapshot Konsolidieren
Tip!

Zur Wiederherstellung einzelner Dateien oder Verzeichnisse aus einer virtuellen Festplatte, VMDK eines Snapshots, kann 7-Zip nützlich sein, das vorgehen wird hier beschrieben.