Virtualisierung ist inzwischen auch für kleinere und mittlere IT-Hoster leistbar geworden und bietet vor allem durch die Abstrahierung von der eigentlichen Hardware und den Lastausgleich unschätzbare Vorteile. Normalerweise verwenden wir zwar so weit möglich nur open source-Produkte, was in diesem Fall am ehesten für Xen sprechen würde, aber nachdem ich dort immer noch kein vernünftiges USB-passtrough für die paar leider immer noch vorhandenen USB-Geräte hingekriegt habe arbeiten wir immer noch mit dem doch deutlich mächtigeren VMWare ESXi-Hypervisor, der zwar nicht open source, aber unter bestimmten Voraussetzungen zumindest kostenlos ist.
Systemarchitektur
Die virtuellen Maschinen (VMs) liegen dabei nicht lokal auf den vier ESXi-Servern sondern auf zwei (redundanten) NAS-Servern unter FreeNAS, die über ein eigenes physikalisches Netzwerk mittels iSCSI an die ESXi-Server angebunden sind; dadurch ist es sehr einfach die VMs zum Lastausgleich oder auch bei event. Ausfällen zwischen den ESXi-Server zu verschieben.
Zusätzlich verwenden wir auf den Entwickler-Workstations VMWare Workstation, um auf einfache Art und Weise mit unterschiedlichsten Betriebssystemen Tests durchführen zu können und den dabei das eigentliche Arbeitsgerät “sauber” zu halten - vor allem bei sicherheitsrelevanten Tests (Forensik, Viren…) extrem wichtig.
VMWare vCenter Converter
Immer wieder stellt sich dabei die Aufgabe virtuelle Maschinen:
- innerhalb eines NAS zu kopieren um beispielsweise eine zweite Instanz auf der gleichen Software-Basis zu installieren
- von einem NAS auf das andere zu kopieren
- von einem NAS auf eine Workstation oder zurück zu konvertieren
- aus einer physikalische PC-Installation oder Festplatten-Images (dd, dcfldd) zu konvertieren
Dafür gibt es eine auf den ersten Blick unscheinbare, aber sehr mächtige Anwendung names VMWare vCenter Converter, die von VMWare ebenfalls kostenlos (nach Registrierung) zur Verfügung gestellt wird:
Hier ein einfaches Beispiel der Konvertierung von einem ESXi-Server und einem NAS auf ein anderes. Einen neuen Konvertiervorgang startet man (welch Überraschung :-)) über “Convert machine”; als erstes wählen wir den Typ der Quelle aus, in unserem Fall eine “Infrastructure virtual machine” vulgo ESXi-Server:
Benutzername und Kennwort des ESXi-Servers:
Auswahl der zu konvertierenden VM, diese sollte dazu ausgeschaltet sein:
Login auf den Zielserver:
Wie soll die virtuelle Maschine dort heißen:
Auswahl des zu verwendenden “datastores” (= NAS):
Beliebte Stolperfalle: unbedingt bei der “Virtual machine version” den default “Version 10” auf “Version 9” ändern, anonsten können die Parameter der Maschine nur mehr im kostenpflichtigen VSphere-Webclient geändert werden!
Jetzt können die Parameter der zu erzeugenden Maschine, die von der Quellmaschine übernommen wurden, noch angepaßt werden (mehr/weniger Speicher, Prozessoren, Netzwerkkarten etc.):
Beispielsweise bei der/den Festplatten…
…von thick auf thin provisioning wechseln:
Hier http://de.wikipedia.org/wiki/Thin_Provisioning und hier http://blogs.vmware.com/vsphere/2012/03/thin-provisioning-whats-the-scoop.html sind die Vorteile der beiden Varianten ausführlich erläutert - wir wählen “thin”:
Zum Abschluss zur Kontrolle noch einmal eine Übersicht über alle Parameter:
Und mit Finish startet die Konvertierung, die je nach Größe der Festplatten auch mehrere Stunden dauern kann - da werden schließlich viele GB herumkopiert:
Ebenfalls eine Rolle spielt der Inhalt der Festplatten: sind diese tatsächlich über große Strecken leer (= mit Null-Bytes gefüllt) so brauchen diese Teile nicht kopiert werden.
Bei thin provisioning auch ein praktischer side effect: sind die Festplatten durch häufiges Schreiben mit nachfolgendem Löschen schon deutlich größer geworden als ihr tatsächlicher Inhalt so erfolgt durch das Konvertieren auch ein “shrink”, d.h., die erzeugten VMD-Dateien (virtual disks) sind meist deutlich kleiner als bei der Quell-Maschine.