Prozessor und Arbeitsspeicher für virtualisierte Umgebungen wählen

Bei der Auswahl von Hardware für virtuelle Umgebungen gibt es einige Fallstricke. Wir zeigen, was sie bei CPU und RAM beachten sollten.

In diesem Tipp tauchen wir etwas tiefer in die Auswahl von Hardware für virtuelle Umgebungen ein und werfen einen genauerenn Blick auf Prozessoren und Arbeitsspeicher.

So wählen Sie die richtige CPU für den Einsatz in virtuellen Umgebungen

Wenn Sie eine CPU kaufen, ist die erste Entscheidung die Marke: AMD oder Intel? Im Laufe der Jahre gab es bereits viele Studien, die die Performance der beiden verglichen haben. Die Prozessoren-Architekturen ändern sich ständig, daher hat manchmal AMD die Nase vorne und manchmal eben Intel. Sowohl Intel als auch AMD haben Virtualisierungs-Erweiterungen integriert, konkret Intel VT (Intel Virtualization Technology) und AMD V (AMD Virtualization). Mithilfe dieser Technologien sollen die Anweisungen für virtuelle Server schneller ausgeführt werden.

Der hauptsächliche Unterschied zwischen Intel- und AMD-Prozessoren ist die physische Architektur. Intel verwendet ein Front-Side-Bus-Modell (FSB), um die Prozessoren mit dem Speicher-Controller zu verbinden. AMD setzt hingegen auf einen integrierten Speicher-Controller für jeden Prozessor, die mittels Hyper-Transport miteinander verbunden sind. Je nach Prozessor-Familie ist auch das Niveau des Stromverbrauchs unterschiedlich.

Vergleichen Sie die Prozessoren beider Hersteller in Hinblick auf Geschwindigkeit, Funktionen und Anzahl der Kerne, scheint die Performance ziemlich gleich und ausgewogen zu sein. Einige Performance-Studien behaupten allerdings, dass Intel-Prozessoren die Nase vorne haben, während andere wieder das Gegenteil behaupten. AMD- und Intel-Prozessoren funktionieren beide bei VMware ESX-Hosts sehr gut. Deswegen ist es in erster Linie Geschmackssache, für welchen Hersteller Sie sich entscheiden. Da AMD und Intel regelmäßig neue Prozessor-Familien auf den Markt bringen, sollten Sie sich hinsichtlich der neuesten Technologien schlau machen und dann entsprechend eine Entscheidung treffen.

Für welche CPU sollten Sie sich nun also entscheiden? In der Regel ist es eine gute Idee, einen Hersteller zu wählen und dann bei dieser Marke zu bleiben. Das gilt im Speziellen dann, wenn die Mehrheit Ihrer Server bereits CPUs eines bestimmten Anbieters im Einsatz haben. Der Grund dafür ist, dass Sie laufende virtuelle Maschinen (VM) nicht von einem Host auf einen anderen umziehen können, wenn der zweite mit einem unterschiedlichen Prozessor betrieben wird. Allerdings muss man auch erwähnen, dass es Demonstrationen von AMD gibt, die eine Live-Migration von Intel- auf AMD-Prozessoren zeigt. Wollen Sie dennoch verschiedene Anbieter einsetzen, ist es wohl geschickt, die Hosts nach Hersteller zu isolieren und separate Cluster zu bilden. Das kommt der Kompatibilität zu Gute.

Achten Sie auf jeden Fall auf für virtuelle Umgebungen optimierte Prozessoren

Kaufen Sie einen Prozessor, sollte das entsprechende Modell auf jeden Fall für virtuelle Umgebungen optimiert sein. Wie schon angesprochen, handelt es sich dabei um AMD-V- oder Intel-VT-Erweiterung. Um die Wichtigkeit der Erweiterungen zu realisieren, müssen Sie verstehen, wie die sogenannten CPU-Rings funktionieren.

X86-Betriebssysteme verwenden so genannte CPU-Rings, die einen abgestuften Schutzbereich zur Verfügung stellen, in dem nur bestimmte Aufgaben ausgeführt werden können. Diese CPU Rings sind in einer Hierarchie angeordnet. Ring 0 ist dabei am privilegiertesten, Ring 3 am eingeschränktesten. Die CPU erzwingt das entsprechende Niveau und versieht Prozesse mit gewissen Beschränkungen. Auf nicht-virtualisierten Servern residiert das Betriebssystem in Ring 0. Auf virtualisierten Systemen muss ein Hypervisor in Ring 0 laufen, während ein Gast-Betriebssystem in einer virtuellen Maschine gezwungen wird, Ring 1 zu verwenden. Da die meisten Betriebssysteme in Ring 0 laufen müssen, gaukelt der Hypervisor dem Gast-Betriebssystem vor, dass es in Ring 0 ausgeführt wird. Der Hypervisor fängt die entsprechenden Instruktionen ab und emuliert Ring 0 für die Gast-VM.

Leider kann sich dieser Vorgang negativ auf die Performance auswirken. Aus diesem Grund haben Intel und AMD entsprechend die Erweiterungen Intel VT und AMD V entwickelt, um dieses Problem zu adressieren. Die Erweiterungen sind in die CPU integriert. Ein Hypervisor kann nun in einem neuen Ring laufen, der sich Ring -1 nennt. Somit lassen sich Gast-Betriebssysteme nativ in Ring 0 ausführen. Diese Erweiterungen für die CPU ermöglichen eine bessere Performance. Der Hypervisor muss dem virtuellen Gast-Betriebssystem nicht mehr länger vorgaukeln, dass es in Ring 0 läuft, da es dort nativ ausgeführt wird. Um die beste Performance aus Ihren virtuellen Hosts herauszuholen, sollten sie also CPUs auswählen, die mit diesen optimierten Virtualisierungs-Erweiterungen ausgestattet sind.

Halten Sie auch immer die Augen auf, was AMD und Intel für die Zukunft planen. Das gilt speziell für Technologien wie NPT (Nested Page Tables). AMDs Version nennt sich RVI (Rapid Virtualization Indexing) und Intels Variante ist EPT (Extended Page Tables). Diese neue CPU-Technologie hilft bei der Reduzierung des Performance-Overheads, wenn Sie große Applikationen wie zum Beispiel Datenbanken virtualisieren.

Nutzen Sie in virtuellen Umgebungen CPUs mit mehreren Prozessor-Kernen

Eine weitere wichtige Entscheidung ist die Anzahl der physischen CPU-Sockel und die Anzahl der Kerne, die eine CPU haben sollte. Eine Multi-Core CPU kombiniert mehrere unabhängige Kerne in einer einzigen physischen CPU. Oder anders gesagt werden aus einer physischen CPU mehrere virtuelle CPUs. Ein Beispiel wäre ein Server mit zwei Quad-Core-CPUs, der im Endeffekt acht verfügbare Prozessoren hätte. Je nach Anbieter und Modell teilen sich diese Kerne manchmal einen einzigen Cache. Andere wiederum stellen separaten Leve-2-Cache für jeden Kern zur Verfügung. Die meisten Virtualisierungs-Anbieter verkaufen Lizenzen anhand der eingesetzten Sockel und nicht basierend darauf, wie viele Kerne ein einzelner Sockel verwendet. Aus diesem Grund eignen sich Multi-Core CPUs fantastisch zur Virtualisierung. Bei neuen Servern sind Multi-Core CPUs daher in der Zwischenzeit Standard.

Sie müssen sich außerdem zwischen Dual- und Quad-Core CPUs entscheiden. Man ist geneigt, der Quad-Core-Option den Vorzug zu geben, da es einfach mehr Kerne sind. Allerdings gibt es zwischen Dual- und Quad-Core CPUs entscheidende Unterschiede. Steigerungen bei CPU-Kernen sind nicht gleich mit denen der Takt-Frequenz. Eine CPU mit 3,2 GHz ist doppelt so schnell wie eine 1,6 GHz CPU. Allerdings ist eine Quad-Core CPU nicht viermal so schnell wie ein Prozessor mit einem einzelnen Kern. Eine Dual-Core CPU ist ungefähr 50 Prozent schneller als eine mit nur einem Kern und nicht 100 Prozent, wie man annehmen könnte. Eine Quad-Core CPU ist dagegen nur zirka 25 Prozent schneller als eine Dual-Core CPU. Zusätzlich sind Dual-Core CPUs verglichen mit Quad-Core in der Regel mit höheren Takt-Frequenzen versehen. Weiterhin produzieren die Vier-Kerner recht viel Hitze und lassen sich aus diesem Grund nicht so hoch takten wie Dual-Core oder CPUs mit nur einem Kern.

Im Allgemeinen empfiehlt man Quad-Core CPUs bei Virtualisierungs-Hosts aus zwei Gründen. Wie schon erwähnt lizenzieren die meisten Software-Hersteller die Virtualisierung pro Anzahl der Sockel in einem Server. Es geht also nicht darum, wie viele Kerne Sie im Einsatz haben. Das bedeutet, dass Sie mehr CPUs pro Lizenz unterbringen. Der zweite Grund ist der Scheduler. Je mehr Kerne im Host-Server sind, desto flexibler kann der Hypervisor agieren. Je mehr Kerne Sie haben, desto einfacher wird auch die Aufgabe für den CPU Scheduler. Dieser Umstand wiederum verbessert die Performance der virtuellen Maschinen auf einem Host.

In einigen Fällen sind allerdings Dual-Core CPUs zu bevorzugen. Das ist zum Beispiel dann der Fall, wenn Sie nicht mehr als sechs oder acht virtuelle Maschinen auf einem Host laufen lassen wollen. Die höhere Takt-Frequenz erhöht auch die Geschwindigkeit der entsprechenden VM. Wollen Sie dann den virtuellen Maschinen noch einen einzelnen virtuellen Prozessor (vCPU) zuweisen, sind Dual-Core-Prozessoren möglicherweise die besser Wahl. Virtuelle Maschinen mit einzelnen vCPUs kann der Hypervisor im Vergleich zu den mit mehreren einfacher disponieren.

Achten Sie auf genügend Arbeitsspeicher für Ihre virtuelle Umgebung

An Arbeitsspeicher sollten Sie auf gar keinen Fall sparen. Das ist in der Regel die Hardware-Ressource, die am ehesten knapp wird. Stellen Sie genug andere Ressourcen, wie zum Beispiel CPU, Festplatten, Netzwerk und so weiter, zur Verfügung, knausern aber am Arbeitsspeicher, limitiert das die Anzahl der virtuellen Maschinen, die Sie auf einem Host-Server betreiben können. Gewisse Virtualisierungs-Software erlaubt es, den Arbeitsspeicher zu überdimensionieren. Allerdings ist das nicht zu empfehlen. Wenn kein physischer Arbeitsspeicher mehr im Host vorhanden ist und die Software auf Festplatte auslagern muss, leidet die VM-Performance sichtlich darunter.

Die Art des Arbeitsspeichers wird durch die entsprechende Server-Unterstützung diktiert. Überprüfen Sie deswegen die Spezifikationen des Servers oder verwenden entsprechende Kauf-Berater und -Leitfäden. Finden Sie außerdem heraus, wie viele Speicher-Steckplätze im Server verfügbar sind. Weiterhin ist wichtig, ob der Arbeitsspeicher immer paarweise installiert werden muss.

In Servern funktionieren verschiedene DIMMs (Dual In-Line Memory Module). Dazu gehören zum Beispiel 512 Megabyte, ein Gigabyte, zwei Gigabyte und so weiter. Sie sollten in diesem Fall eine DIMM-Größe wählen, die ein Server auch tatsächlich benötigt. Größere Arbeitsspeicher-Module, wie zum Beispiel vier Gigabyte und acht Gigabyte, sind teurer als die kleineren. Allerdings brauchen Sie weniger Steckplätze und lassen somit Platz für künftige Erweiterungen. Idealerweise sollten Sie sich für eine DIMM-Größe entscheiden und bei dieser bleiben. Unterschiedliche DIMM-Größen in einem Server können sich negativ auf die Performance auswirken. Um die besten Resultate zu erzielen sollten Sie die maximal unterstützte Größe nicht überschreiten.

Neben den Größen gibt es auch viele verschiedene Arbeitsspeicher-Typen, wie zum Beispiel PC2100, PC5300 und so weiter. Das sagt etwas über die Transfer-Raten der Daten aus. Ursprünglich hat die Zahl nach „PC“ die Takt-Rate der Arbeitsspeicher-Module angegeben. Ein Beispiel hierfür wäre PC133. Später wurde das geändert und die maximale Transfer-Rate wurde in Mbps ausgezeichnet. Ein DIMM-Modul mit der Aufschrift PC5300 hat also eine Spitzen-Übertragungs-Rate von 5300 Mbps. Die meisten Server können mit diversen Arbeitsspeicher-Typen umgehen. Wenn Sie es sich leisten können, verwenden Sie den schnellsten Arbeitsspeicher, den der Server unterstützt.

Die letzte Entscheidung bezüglich des Arbeitsspeichers liegt darin, ob Sie Single-, Dual- oder Quad-Rank-DIMMs verwenden wollen. Ein so genannter Memory Rank wird als Block definiert. Es gibt zum Beispiel 64-Bit, 72-Bit oder Arbeitsspeicher mit EEC (Error-Correcting Code). Hier kommt es darauf an, welche DRAM-Chips auf einem DIMM Einsatz finden. Zum Beispiel kombinieren Single-Rank-DIMMs alle Chips auf einem einzigen Block. Bei Dual-Rank sind diese auf zwei Blöcke aufgeteilt. Dual-Rank-DIMMs verbessern die Dichte des Arbeitsspeichers, indem die die Komponenten von zwei Single-Rank-DIMMs auf ein Modul gepackt werden. Somit sind diese unterm Strich günstiger als Single-Rank-DIMMs.

In einigen Fällen kann es leider vorkommen, dass ein Server-Chipsatz nur eine gewisse Anzahl an Ranks unterstützt. Stellt der Speicher-Bus auf einem Server vier DIMM-Steckplätze zur Verfügung, kann er vielleicht nur zwei Dual-Rank-DIMMs oder vier Single-Rank-DIMMs unterstützen. Installieren Sie zwei Dual-Rank-DIMMs, sollten die beiden letzten Steckplätze nicht bestückt sein. Ist die totale Anzahl der Ranks höher als vom Chipsatz unterstützt, arbeitet der Server möglicherweise nicht zuverlässig.

Für welche Art von DIMM sollten Sie sich also nun entscheiden? Single-Rank-DIMMs erlauben es einem Server, die maximale Arbeitsspeicher-Kapazität zu erreichen. Weiterhin ist in diesem Fall die Performance auf höchstem Niveau. Allerdings sind sie auf Grund der höheren Dichte teurer. Dual-Rank-DIMMs sind günstiger, können aber Einfluss auf die maximale System-Kapazität haben und künftige Upgrade-Optionen limitieren. Wenn Sie das Budget für die teureren Single-Rank-DIMMS haben, wählen sie diese. Wenn nicht, funktionieren natürlich auch Dual-Rank-DIMMs. Auf einigen Servern können Sie Single- und Dual-Rank-DIMMs mischen, wenn diese nicht auf derselben Bank betrieben werden. Dieser Ansatz ist allerdings nicht empfohlen. Die besten Ergebnisse erzielen Sie, wenn Sie die gleichen DIMM-Typen in allen Speicher-Steckplätzen verwenden.

Es gibt verschiedene Arbeitsspeicher-Hersteller auf dem Markt. An dieser Stelle sollten Sie vermeiden, RAM von unterschiedlichen Anbietern zu vermischen. Kaufen Sie OEM-Arbeitsspeicher, wenn dieser in einem Server sowieso vorhanden ist. Alternativ können Sie alle Arbeitsspeicher-Module ersetzen und sich dann für einen alternativen Anbieter entscheiden. Die Konfiguration und die Auswahl von Arbeitsspeicher sind mitunter nicht trivial. Kontaktieren Sie am besten den Hersteller der Server-Hardware und finden heraus, ob Sie die richtigen Entscheidungen getroffen haben.

Über den Autor:

Eric Siebert ist IT-Profi mit mehr als 25 Jahren Erfahrung bei Programmierung, Netzwerke, Telekommunikation und System-Administration. Er hat einen Guru-Status im VMware-Community-Forum VMTN und betreibt die VI3-Informations-Seite VMware-land.com.

Erfahren Sie mehr über Containervirtualisierung