Grenzen der Virtualisierung
Nachfolgend ein paar Gedankenspiele und Erfahrungen zu Grenzen der Virtualisierung, betreffend VMware und Solaris Zonen. Nicht vollständig, noch erhebe ich den Anspruch auf Vollkommenheit. Widerworte, Anregungen und eigene Erfahrung sind ausdrücklich gewünscht.
- Hoher Verbrauch an CPU/Memory Resourcen – die Instanz belegt dadurch überproportional Anteile vom Gesamtsystem und damit auch an den
Gesamtkosten des Virtualisierungssystems, so das es billiger sein kann dieses in eigener Hardware zu betreiben - Hoher Netz- bzw. Disk IO – Beeinträchtigt alle anderen Systeme in Bezug auf Verfügbarkeit dieser Rescourcen. Auch ist die Performance von
von virtualisierten Umgebungen und deren Instanzen nicht vergleichbar mit physikalischen Systemen - Zeitkritische Systeme – Alle Systeme die auf eine Taktgenauigkeit der Systemuhr angewiesen sind können nicht virtualisiert werden, da das Hostsystem diese nicht 1:1 durchreichen kann
- Besondere Hardware wie z.B. ISDN-Karten oder Dongles lassen sich nicht virtualisieren
- Die Applikations-Software ist nicht freigegeben für die Benutzung in virtuellen Umgebungen oder sie verhindert durch bestimmte Eigenschaften eine Virtualisierung. Beispiel: Die Applikations-Software ist an eine Host-ID/Mac gebunden welche sich durch Schwenk der Hardware ändern könnte.
- Betriebssystem lässt sich nicht virtualisieren wie z.B. Solaris 8/9
Man könnte meinen ich wäre Negativ eingestellt gegenüber der Virtualisierung, das Gefühl ich mitunter selbst. Allerdings möchte ich das Thema für mich sozusagen ‘von hinten’ aufrollen.
Vielleicht wird Virtualisierung ein fach nur überbewertet. Die Frage lautet doch eigentlich: Wo ist Virtualisierung sinnvoll?
Persönlich sehe ich nur den nutzen, ein Testsystem zu haben um bsw. ein anderes Betriebssystem mal eben im Einsatz zu testen.
Oder um Applikationen zum laufen zu bringen, welche partout nicht auf dem Hostsystem laufen.
Beispiel: Ich verwende Vmware mit eine WinXP Installation, nur weil ich leider nicht völlig drumherumkomme Publisher benutzen zu müssen, welches ich einfach nicht unter Wine/Cedega zum laufen kriege.
Üblicherweise beschränkt sich dies jedoch primär darauf schnell die notwendigen änderungen vorzunehmen und die Datei ins PDF Format umwandeln, welche ich dann von jedem x-beliebigen System drucken kann.
Ein Resouercenschlucker ist Virtualisierung allemal.
Deine Auflistung ist schön und gut (und sogar gerechtfertigt) – aber jetzt fehlt eine Liste der Vorzüge und Vorteile der Virtualisierung :)
btw: das Patchen bzgl auf aktuellen Stand halten ist noch ein wichtiger Punkt. Man ersetzt ja nicht immer n physikalische Server durch n virtuelle Systeme sondern auch mal einen Server durch m virtuelle Systeme (um beispielsweise Anwendungen sauber(er) zu trennen).
Das Virtualisierung ein Resourcenschlucker (siehe erster Kommentar) ist, würde ich allerdings nicht unterschreiben – es ist meiner Meinung nach viel eher ein Resourcenschoner :)
Wer richtig virtualisiert, begegnet den oben beschriebenen Problemen gar nicht erst:
- Logisches Nachdenken bringt einen an den Punkt, einzusehen dass die HW des Hostsystems etwas leistungsfähiger sein muß als die Summe der erwarteten Einzelleistungen der Gastsysteme. Somit fällt Punkt mit dem Ressourcenhunger schon einmal weg.
- Dies gilt auch für I/O – ordentliche Lösungen für Storage und Netzwerk müssen her – dieser Punkt erübrigt sich damit auch.
- Punkt drei (Zeitpräzision nach Ticks, Timer oder HPET des Hostsystems) ist in der Tat unabweisbar, zumal z.B. VMWare noch kein HPET emulieren kann. Unlösbar sollte es aber nicht sein (wenn es auch z.Z. noch richtig schwierig ist).
- Auf ISDN-Karten könnte zumindest theoretisch zugegriffen werden und zumindest USB-Dongles lassen sich “durchreichen”. Ansonsten gilt das Gleiche wie für Bindungen an eine bestimmte Host-ID (eine Mac-Adresse ließe sich faken): Man meide proprietäres Geraffel, dann treten solche Probleme gar nicht erst auf …
- OSes, welche sich nicht virtualisieren lassen, sollte man umgehen bzw. auf upgraden – es gibt bereits Solaris 10 oder gar OpenSolaris mit einer eigenen Virtualisierungslösung (Zonen).
Es bleibt folgende Aussage übrig:
Virtualisieren sollte man nur, wenn sich im einzelnen Anwendungsfall Vorteile ergeben und das auch wirklich bezahlbar ist.
Virtualisierung im Unternehmen ist eben wesentlich mehr als einfach VMWare auf irgendwelchen Windows-Host ablaufen zu lassen.
Wer es wirklich will, muss sich mit 64bit-Mehrprozessor-Systemen mit eimerweise Speicher und mit vernünftigen Lösungen für Storage und Netzwerk anfreunden. Ansonsten sollte man es bleiben lassen.
Magnar Hirschberger
Dem Magnar kann ich nur zustimmen. Vor allem was die Performance an geht, laufen die Gäste fast mit der gleichen Performance, wie sie nativ hätten. Dadurch das Kerne auch explizit zugewiesen werden können, stehen dem Gast 100% einer Core zur Verfügung. Dies wird zwar nicht unbedingt empfohlen für Gäste (wegen der Live Migration XenMotion/Vmotion), wohl aber für den Wirt um so Engpässe zu vermeiden. ISDN Karten sind derzeit tatsächlich ein Problem, dies dürfte aber nur noch eine Frage der Zeit sein, bis auch dieses gelöst werden kann. Die Xen Entwickler sind optimistisch. Alle anderen PCI Geräte lassen sich wunderbar zum Gast durchreichen und stehen damit ebenfalls 100% dem Gast zur freien Nutzung bereit. Viele nutzen diese Möglichkeit bei Netzwerkkarten und FiberChannel.
Wo es tatsächlich eng werden könnte, ist der Systembus zum Speicher sowie zu den PCI Geräten. Aber mit PCIe sollte das Limit recht weit oben angesiedelt sein.
Wie ich schon in dem anderen Kommentar schrieb, sollte das Unternehmen nicht alles virtualisieren, bloß weil es geht. Mit Sinn und Verstand ist die Virtualisierung ein nützliches Instrument zur effektiveren Nutzung vorhandener Ressourcen.
Schwierigkeiten mit der Zeitpräzision kann ich bestätigen, das fällt mir gerade etwas auf die Füße. Es stimmt aber ebenso, daß es für weniger zeitkritische Systeme dazu Lösungsansätze gibt.
Das Faken der MAC war auch mein sofortiger Gedanke. Der zweite, Apps, die sowas benötigen, in die Tonne zu treten. Darin stimme ich mit Magnar Hirschberger überein.
In meinem Arbeitsbereich hat sich durch Virtualisierung eine deutlich spürbare Entlastung und ein Zugewinn an Flexibilität ergeben. Damit will ich nicht behaupten, daß beides nicht auch durch andere Methoden erzielbar gewesen wäre. Ich kann aber zumindest feststellen, daß die Virtualisierung sich rechnet und im Webhosting-Umfeld erfolgreich ist.
Also sowohl in Xen, als auch in vmware kann ich die MAC der Netzwerkkarte anpassen, das ist kein Argument. Im Gegenteil, ich kann nun Software, die meint, dass eine MAC in einem Computer sich niemals ändern dürfte durchaus problemlos von der einen Hardware auf die andere migrieren, und sei es nur als hot-standby-backup-maschine.
Virtualisierung hat meiner Meinung seinen Hauptnutzen sowieso in der Windows-Welt, denn dort kann ich ohne Virtualisierung nicht einfach so die komplette Hardware tauschen, sondern muss jedesmal komplett neu installieren UND die Konfiguration von Hand wieder zusammenklicken.
Manchmal denke ich das mit der Virtualisierung nicht immer zu 100 % hinhaut und am ende alles ( fast alles Past ) ist wie immer meistens nur das Problem mit den ressourcen.
Und ich persönlich würde lieber auf keine VM setzen. Es ist einfach so das je mehr man auf so was setzt mehr Probleme kommen auf einen zu.
Vielleicht sehe ich das Falsch aber je mehr VM um so mehr Aufwand.
@plasma: Das Gegenteil kann auch zutreffen. Eine Maschine in ein anderes Netzsegment umzuhängen, indem man schlicht das VLAN-Tag ändert oder eine Live-Migration von einer Wirtsmaschine zur anderen durchzuführen, kann deutlich weniger Aufwand sein, als erst zum Housing-Center fahren und dort Kabel umstecken oder gar eine Maschine – mit entsprechender Downtime – aus einem Schrank in einen anderen ummontieren zu müssen.
Auf das jeweilige Einsatzszenario und die Größenordnung kommt es an. Und welche Ressourcen knapp sind bzw. größtenteils brachliegen. Virtualisierung ist kein Allheilmittel; es gibt aber Bereiche, in denen sie durchaus eine Daseinsberechtigung hat. Ich betrachte sie als eine Option unter mehreren.
Hallo allerseits!
Ich finde den Diskurs hier sehr fruchtbar – weil er (zumindest mir) noch ein paar Denkanstöße gibt, auf die ich bisher nicht gekommen bin. Aber das auch, weil bei uns in der Company solche Fälle wie zu Beginn geschildert nicht auftreten.
Wir haben VMWare schlicht und einfach deswegen eingesetzt, weil wir in zwei verschiedenen Rechenzentren (oder besser Rechnerräumen) zwei Server-Büchsen stehen haben und die via Glasfaser miteinader verbunden haben um bei einem Systemcrash oder Feuer rucki zucki auf die andere VMWare-Mühle ausweichen zu können. JA, ein SAN haben wir auch zu diesem Zweck.
In so fern nutzen wir VMWare auch zu Schaffung von Hochverfügbarkeit – und die Hardwareressourcen halten wir aus HA-Gründen doppelt vor.
Grüße von hier in die Welt . . .
Wir haben in einigen Systemen den Virtual Server 2005 von Microsoft im Betrieb. Macht kein schlechtes Bild und läuft ohne Probleme sehr rund und flott. Besonders gefällt mir die Zuteilung der CPU Ressourcen, ein sehr praktisches Feature.
liebe Grüße aus Wien!
Es stimmt schon, die Virtualisierung ist kein Wunderheilmittel und befindet sich noch weit am Anfang des vorstellbaren. Ich denke dieser Markt wird weiter wachsen und neue Techniken einführen.
Es ist aber bereits heute lustig einen alten Server, der nur zum aufbewahren von Daten läuft, zu virtualisieren und den Ausdruck im Gesicht des Kunden zu erleben.