Von CPU bis Storage: Hardware-Ressourcen für Virtualisierung richtig bemessen
Server-Hosts für Virtualisierung müssen richtig bestückt sein. Vor allem CPU, Arbeitsspeicher, Storage und Netzwerk sind wichtige Komponenten.
Wie viele virtuelle Maschinen (VM) können Sie auf einem Host-Server betreiben? Das ist eine häufig gestellte Frage von System-Administratoren und IT-Profis, wenn es um den Kauf von Server-Hardware für virtueller Hosts geht. In diesem Tipp spreche ich aus eigener Erfahrung über die richtige Server-Wahl für die unterschiedlichen Arten virtueller Maschinen. Das gilt sowohl für die momentane Situation als auch für die Zukunftsplanung der virtuellen Umgebung.
Möglicherweise können Sie bis zu 100 virtuelle Maschinen auf einem einzigen Host betreiben. Manchmal sind es aber auch nur zwei. In erster Linie kommt es auf die Applikationen an, die sich in den virtuellen Maschinen befinden. Sie bestimmen, wie viele virtuelle Maschinen Sie auf einem einzigen Host angenehm laufen lassen können. Zum Beispiel sind Web-, Datei- und Druck-Server eher weniger ressourcenhungrig. SQL- und Exchange-Server hingegen sind da schon anspruchsvoller. Sie sollten also die Performance der momentanen Umgebung analysieren, da Sie so ein besseres Verständnis für die virtualisierte Umgebung bekommen.
Vier Kriterien für die richtige Hardware-Bemessung eines Host-Servers
Mit den Server-Ressourcen Arbeitsspeicher, CPU, Netzwerk und Storage gibt es vier hauptsächliche Kriterien, die entscheidend sind. Fangen wir mit dem Arbeitsspeicher an, da diese Ressource auf einem Server am ehesten knapp wird.
Arbeitsspeicher
Wollen Sie herausfinden, wie viel RAM Sie in einen Server stecken müssen, empfehle ich folgendes: Installieren Sie den maximal möglichen Arbeitsspeicher.
Genau die gegensätzliche Mentalität sollten Sie an den Tag legen, wenn Sie virtuellen Servern Arbeitsspeicher zuweisen. Weisen Sie einer VM nur genau so viel RAM zu, wie diese auch braucht. Genau wie bei physischen Servern gilt auch hier, dass mehr als der notwendige Arbeitsspeicher eine Verschwendung ist. Bei einer virtuellen Maschine können Sie RAM jederzeit sehr einfach erhöhen. Fangen Sie aus diesem Grund mit dem Minimum an und erhöhen später je nach Bedarf. Es ist auch möglich, dass Sie einer virtuellen Maschine mehr RAM zuweisen, als der physische Server tatsächlich hat. Mit dieser Maßnahme riskieren Sie aber, dass die virtuellen Maschinen Arbeitsspeicher auf die Festplatte auslagern, sollte der Arbeitsspeicher auf dem Host erschöpft sein. Das wiederum wirkt sich mit hoher Wahrscheinlichkeit negativ auf die Performance aus.
CPU-Leistung
Durch Multi-Core-CPUs, also Prozessoren mit mehreren Kernen, ist es im Vergleich zu früher heutzutage wesentlich einfacher und günstiger, die Anzahl der CPUs in einem Host-Server zu erhöhen. Moderne Server beinhalten heute eigentlich immer vier Kerne pro physischer CPU. Eine gute Faustregel lautet, dass vier virtuelle Maschinen mit einer einzigen CPU pro Prozessor-Kern getragen werden können. Das variiert unter Umständen aber auch. Möglicherweise können Sie nur ein bis zwei virtuelle Maschinen betreiben und in anderen Fällen acht bis zehn pro Kern. An dieser Stelle müssen Sie einfach die durchschnittliche CPU-Auslastung in Bezug auf die Applikationen beobachten, die auf den virtuellen Maschinen laufen.
Ein gängiger Irrglaube lautet, dass eine virtuelle Maschine so viel Taktfrequenz wie die Kombination aller verfügbaren CPUs verwenden kann. Zum Beispiel würden vier Quad-Core-CPUs mit 2,6 GHz kombiniert insgesamt 20.800 MHz ausmachen (8x2,6 GHz). Eine virtuelle Maschine mit einer einzelnen vCPU kann niemals mehr MHz nutzen als das Maximum eines CPU-Kerns. Hat eine VM zwei vCPUs kann sie niemals mehr MHz nutzen als das Maximum der individuellen CPU oder des Kerns. Wie viele Kerne Sie brauchen hängt auch davon ab, ob Sie virtuelle Maschinen mit mehreren vCPUs einsetzen.
Sie sollten immer mindestens einen Kern mehr im Host-Server haben, als die maximale Anzahl der vCPUs, die einer einzelnen virtuellen Maschine zugewiesen werden. Kaufen Sie zum Beispiel keinen Server mit zwei Dual-Core-Prozessoren, also insgesamt vier Kernen, und versuchen dann, eine virtuelle Maschine mit vier vCPUs darauf laufen zu lassen. Der Grund ist einfach der, dass der CPU-Scheduler des Hypervisors immer vier freie Kerne gleichzeitig finden muss, wenn die virtuelle Maschine eine Anfrage stellt. Sind also nur vier Kerne insgesamt verfügbar, wirkt sich das negativ auf die Performance aus. Meine Empfehlung lautet also, so viele Kerne wie möglich zu benutzen. Mehr Kerne liefern dem CPU-Scheduler mehr Flexibilität, um Anfragen zu verarbeiten.
Netzwerk-Ressourcen
Die Anzahl der in einem virtuellen Server benötigten Netzwerkkarten (NIC) hängt von der benötigten Redundanz ab. Weitere Faktoren sind zum Beispiel, ob Sie Netzwerk-Storage nutzen und welche Funktionen Sie im Einsatz haben. Verwenden Sie 802.1Q VLAN, stellt das die notwendige Flexibilität zur Verfügung, mehrere VLANs auf einer einzelnen NIC benutzen zu können. Somit eliminieren Sie die Notwendigkeit, eine separate Netzwerkkarte für jedes VLAN auf dem Host Server haben zu müssen. Ist Netzwerk-Storage wie zum Beispiel iSCSI im Einsatz, ist der Einsatz von mehr als vier NICs ratsam. Das gilt vor allem dann, wenn Sie Funktionen wie VMware vMotion benutzen. Bei der Erstellung von vSwitchen ist es empfehlenswert, diesen mehrere Netzwerkkarten zuzuweisen. Damit bringen Sie Redundanz ins Spiel und die verfügbare Kapazität aus Sicht der virtuellen Maschinen erhöht sich.
Festplattenspeicher
Zu guter Letzt müssen Sie sich um die Festplatten- oder Massenspeicher-Ressourcen kümmern. Es gibt an dieser Stelle mehrere Möglichkeiten. Welche Option Sie im Endeffekt wählen, hängt auch zum Großteil vom verfügbaren Budget ab. Weiterhin ist entscheidend, ob sich ein SAN (Storage-area Network) in Ihrer Umgebung befindet. Lokal installierte Festplatten sind die günstigste Lösung. Allerdings können Sie hier keine fortschrittlichen Funktionen nutzen, die gemeinsam genutztes (Shared) Storage zwischen den Host-Servern voraussetzen. Gemeint ist an dieser Stelle zum Beispiel vMotion. SAN-Massenspeicher (Fibre Channel) ist in der Regel die Festplatten-Lösung, die am meisten Performance mit sich bringt. Allerdings ist das auch die kostspieligste. Netzwerk-Festplatten stellen eine gute Alternative dar und sind nicht weit von der SAN-Performance entfernt. Noch besser ist aber natürlich der Einsatz von SSDs (Solid-State Drive). Die Technologie ist in der Zwischenzeit durchaus erschwinglich, wenn auch immer noch teuer. Zudem ist es wichtig, dass Sie größere RAID-Gruppen bilden. Damit verteilen Sie den I/O auf so viele Festplatten wie möglich.
Beim Kauf von Festplatten sollten Sie auf jeden Fall sicherstellen, dass Sie genug Massenspeicher für alle Ihre virtuellen Maschinen besorgen. Zusätzliche sollten Sie zehn bis 20 Prozent für VM-Dateien und Snapshots mit einrechnen. Haben Sie vor, häufig Snapshot zu erstellen, sollten Sie noch mehr Festplatten-Platz einkalkulieren. In vielen Fällen setzt man auf eine Kombination aus Festplatten-Ressourcen im Server-Host. Zum Beispiel könnten Sie virtuelle Maschinen für Entwicklung und Tests auf lokalen Festplatten speichern, die produktiven virtuellen Maschinen dagegen auf gemeinsam genutztem Storage betreiben.
Im Idealfall sollten die virtuellen Maschinen mindestens 80 Prozent der Kapazität auf dem Server nutzen. Planen Sie aber auch genug Reservekapazitäten für die Zukunft ein. Stellen Sie außerdem sicher, dass genug Ressourcen verfügbar sind, sollte ein Host-Server ausfallen und Sie zusätzliche virtuelle Maschinen unterstützen müssen. Es ist immer besser, zu viel Kapazität zu haben, als zu wenig. Somit vermeiden Sie, dass Ressourcen knapp werden. Außerdem verhindern Sie mit diesem Ansatz, eventuell zusätzliche Host-Server kaufen zu müssen.
Über den Autor:
Eric Siebert ist IT-Profi mit mehr als 25 Jahren Erfahrung bei Programmierung, Netzwerken, Telekommunikation und System-Administration. Er hat einen Guru-Status im VMware-Community-Forum VMTN und betreibt die VI3-Informations-Seite VMware-land.com.
Folgen Sie SearchDataCenter.de auch auf Facebook, Twitter und Google+!