Wenn man wissen will, ob ein bestimmtes Microsoft Produkt in einer virtuellen Maschine supported ist, dann kann man dies im Windows Server Catalog nachschauen. Dort gibt es einen speziellen Support Policy Wizard, der auch Virtualisierungsumgebungen von Drittanbietern überprüfen kann (VMWare, SuSe, Citrix, Cisco)
Als zusätzliches Goodie: M0n0wall kann auch zwischen den Interfacen einTraffic Shapping durchführen. Dabei geht es nicht nur um ein Quality of Service (QoS), sondern es ist auch möglich Paketverluste und eine geringe Bandbreite zu simulieren. Wer also immer mal Replikation über WAN-Strecken oder ähnliches simulieren wollte, hat damit gleich ein kostenloses Tool zu Hand.
Dazu wird eine Pipe zwischen LAN und LAN2 eingerichtet. Auf diese wirkt eine Traffic Shape Regel:
z.B.
Bandwidth: 10 KBit/s
Delay: 100ms
PLR 0.1 (also ca. jedes 10 Paket geht verloren)
Daraus ergibt sich folgender Ping (man kann ziemlich genau erkennen, wann ich die Regel aktiviert habe):
Antwort von 192.168.58.3: Bytes=1000 Zeit<1ms TTL=127
Antwort von 192.168.58.3: Bytes=1000 Zeit=910ms TTL=127
Antwort von 192.168.58.3: Bytes=1000 Zeit=930ms TTL=127
Zeitüberschreitung der Anforderung.
Antwort von 192.168.58.3: Bytes=1000 Zeit=922ms TTL=127
Antwort von 192.168.58.3: Bytes=1000 Zeit=922ms TTL=127
Antwort von 192.168.58.3: Bytes=1000 Zeit=921ms TTL=127
Antwort von 192.168.58.3: Bytes=1000 Zeit=927ms TTL=127
Antwort von 192.168.58.3: Bytes=1000 Zeit=924ms TTL=127
Um genaue Portangaben bei einer AD Replikation machen zu können, habe ich innerhalb eines VMWare Servers 2.0 eine Testumgebung mit zwei Domänencontroller und einer Firewall dazwischen aufgebaut. Leider ermöglicht VMWare dort nur sehr eingeschränkte Netzwerkeinstellungen (im ESX wäre es einfacher).
Als einfache Firewall nutzte ich M0n0wall: Eine sehr kleiner Linuxfirewall mit vielen netten Features. Bei VMWare existiert eine fertige Appliance zum herunterladen.
Da ich nur eine interne Netzwerkkarte zur Verfügung hatte, habe ich Monowall drei Netzwerkkarten ins gleiche “Host-Only” Netz gegeben. Eine davon wurde als externes Interface definiert und nicht weiter verwendet – die nächste als internes Interface (LAN) und die letzte als optionales Interface.
Über die Weboberfläche habe ich dann das optionale Interface als LAN2 umbenannt.
LAN hat eine Adresse im Subnetz 192.168.58.0/24 erhalten. LAN2 eine Adresse im Netzwerk 192.168.59.0/24. Die DCs wurden ebenfalls jeweils in unterschiedliche Subnetze gepackt und als Gateway die jeweilige Adresse der Netzwerkkarte von M0n0wall angegeben.
Um die beiden Netzwerkkarten zu verbinden müssen statische Routen in der Firewall hinterlegt werden:
Statische Routen:
Interface Network Gateway Description
LAN2 192.168.58.0/24 192.168.58.15
LAN 192.168.59.0/24 192.168.59.1
Normalerweise gehen Pakete auf diesen internen Routen nicht über die Firewall. Um diese doch zu filtern, ist ein Einstellung zu ändern:
Filtering bridge Enable filtering bridge This will cause bridged packets to pass through the packet filter in the same way as routed packets do (by default bridged packets are always passed). If you enable this option, you’ll have to add filter rules to selectively permit traffic from bridged interfaces.
Danach gelten auch die Firewallregeln für den Verkehr zwischen LAN und LAN2.
Mit diesem Setup konnte ich dann genau die notwendigen Ports für die Replikation inklusive der festgelegten dynamischen RPC Ports für die AD Replikation und dem FRS ermitteln.
Darin wird ein Update vorgestellt, dass eine Sicherheitslücke schließt, die es ermöglicht aus einer Virtuellen Maschine (VM) Code auf dem Host System (in diesem Fall ESX 3.5) auszuführen. Leider stehen auch im CVE Eintrag keine Details.
Viele Virtualisierungsgegner haben immer genau davor gewarnt. Aber es hieß immer, dass VMWare ESX so sicher ist, dass so was nicht vorkommen kann. Der Artikel zeigt jetzt etwas anderes. Wie riskant die Lücke ist, kann ich nicht einschätzen. Aber allein die Existenz ist natürlich Wasser auf die Mühlen der Virtualisierungsskeptiker.
Jetzt wurde im NetApp Forum ein Tool bereitgestellt mit dem man dies automatisiert durchführen kann. Darüber hinaus ist es möglich bestehende Header Dateien zu überprüfen. Zu finden ist das Skript unter http://communities.netapp.com/docs/DOC-2735.
Gestern war es mal wieder so weit: Durch Storage VMotion wollte ich alte SAN Disks leeren. Daei blieb auf einer SAN-Disk Dateien einer VM zurück, die eindeutig schon verschoben war. In der Annahme, dass es sich dabei um Altlasten handelte, löschte ich diese spontan. Leider handelte es sich dabei um einen Clone der anderen Machine, die im Dateisystem leider den gleichen Namen behalten hat.
Die meisten Dateien waren gesperrt und konnten zum Glück nicht gelöscht werden. Was aber erst später auffiel: Es wurde erfolgreich die Description Datei der Platten gelöscht:
Nebenbei: Die virtuelle Disk bei VMWare besteht bei Standarddisks (also ohne Snapshot, keine RAW Files) aus zwei Dateien: eine Beschreibungsdatei mit Namen diskname.vmdk und den eigentlichen Daten in diskname-flat.vmdk. Die Beschreibungsdatei ist eine reine Textdatei mit Unix Zeilenumbrüchen (natürlich).
Solange die Maschine auf einem Host läuft, ist es noch kein Problem und fällt leider nicht auf, wenn die erste Datei fehlt. Sobald aber ein vMotion auf einen anderen Host stattfindet, dann tritt ein Fehler auf, die VM stürzt ab und kann nicht mehr gestartet werden. Im Storage Browser erkennt man den Fehler daran, dass bei derVMDK Datei kein passendes Icon davor steht bzw. nur die Datei mit -flat.vmdk zu sehen ist.
Noch kein Grund zur Panik: Zuerst: Sicherung erstellen. Besonders wichtig sind die Log Dateien. In diesen Dateien sind die später notwendigen Parametern enthalten, mit denen man die Description Datei vollständig wiederherstellen kann.
Dann: Der Anleitung unter http://sanbarrow.com/vmdk/extracting-vmdk-from-log.html folgen. Dabei ist es wichtig, einen Editor zu verwenden, der auch mit Unix Zeilenumbrüchen speichern kann (Wordpad kann es anzeigen, aber wandelt die Datei beim Anspeichern wieder um). Sobald man die Beschreibungsdatei wieder erstellt hat, kann man sie über den Storagebrowser wieder hochladen. Verschwindet die -flat.vmdk Datei nach einem Refresh und taucht das Icon vor der diskname.vmdk wieder auf, dann stehen die Chancen sehr gut, dass die Maschine wieder startet. (In meinem Fall war es zum Glück so…)
Gerade Windows Installation für Templates werden häufig mit kleinen Platten (ich verwende 10GB für das System) installiert. Dies reicht für den Großteil der Installationen aus, wenn man versucht größere Datenmengen auf extra Disks zu legen. Trotzdem kommt es immer wieder vor, dass der Platz nicht reicht. Seit ESX 3.5 (Update 2?) kann man Disks im laufenden Betrieb vergrößern.
Windows erkennt dies auch automatisch. Leider kann Windows 2003 nur NIcht-Systemplatten mit Boardmitteln vergrößern. Bevor jetzt ein ein Neustart mit einem Festplattenpartitionierungsprogramm gemacht wird möchte ich auf ein kleines aber sehr mächtiges Tools hinweisen: DriveSnapshot (www.drivesnapshot.de): Dieser Imagebackuptool kann viel mehr als die meisten wissen.
Mit der grade einmal 150KByte ausführbaren Datei kann man auch im laufenden Betrieb die Systemplatte vergrößern. Dafür gibt es versteckte Kommandos, die man sich mit -!? anzeigen lassen kann.
In diesem Fall gibt ein snapshot -!resizepart c: die maximal mögliche Vergrößerung an. Ein snapshot -!resize c: 30000 vergrößert dann die c Partition auf 30000 MByte. Vorher wird ein Chkdisk (read only) durchgeführt, um sicherzugehen, dass der Datenträger in einem korrekten Zustand ist.
Diesen Weg habe ich bereits dutzende Male auf virtuellen Maschinen angewandt. Die Betreiber waren immer wieder begeistert, wie schnell ich die Systeme vergrößern konnte!
Merke: VMWare ESX und DriveSnapshot sind ein gutes Team