Inhaltsverzeichnis

The One Thousend Euro qemu/KVM Box

Seit Beginn meiner Arbeiten an dem Projekt Microblaze References suche ich zur Absicherung der Entwicklungsergebnisse nach einer kostengünstigen Lösung für eine virtualisierte Compiler-Farm. Die verschiedenen virtuellen Entwicklungsumgebungen bilden die Grundlage der Kontinuierlichen Integration und sichern diesen Prozess zuverlässig ab. Die Virtualisierung spielt hierbei eine entscheidende Rolle in Bezug auf Flexibilität und Ausbaufähigkeit in noch unbekannter Zukunft. Ferner kann Virtualisierung dabei helfen, sich weitestgehend von realer Hardware zu trennen und die Handhabbarkeit von Softwarequellen definitiv zu garantieren.

Intention

Nach einigen ersten Versuchen auf einem bestehenden ESX Server und einer VirtualBox Umgebung auf dem Desktop habe ich mich nun für den Aufbau eines eigenständigen Servers speziell für die Virtualisierung entschieden. Warum? Das ist ganz einfach:

Im Ergebnis blieben nur zwei ernst zu nehmende Technologien aus der Open Source Gemeinde übrig: Xen und qemu/KVM. Nach dem Studium diverser Fachbeiträge in Zeitschriften, Onlineforen und Blogs habe ich Xen wegen unzureichender Dokumentationslage und einem zu geringen Anwenderkreis nicht mehr weiter betrachtet und einen ersten Gehversuch mit Qemu/KVM auf einem dedizierten Standard PC unternommen – vorweg genommen mit bisher recht erfreulichen Resultaten, denn es funktioniert prinzipiell Out-of-the-Box.

Standard PC

Im ersten Schritt sammelte ich mir Standardkomponenten diverser ausgedienter PCs zusammen, um mit Hilfe der (noch) aktuellen Ubuntu 10.04 LTS Distribution eine KVM Infrastruktur aufzubauen. Das sind im einzelnen:

Hersteller Bezeichnung Kosten
Motherboard Gigabyte GA-965P-DS3 Rev. 3.3 15,00 €
CPU Intel Core 2 Quad mit VT-d (Q9550) 185,00 €
Kühlung Scythe Ninia Mini (evtl.f. Overclock) 15,00 €
Speicher (neu) Geil 4x2GB Kit (GE24GB800C4DC) 140,00 €
Festplatte Samsung Spinpoint F1DT 750GB (HD753LJ) 40,00 €
Gehäuse (neu) MS-Tech ATX mit 400W Natzteil (LC-09B) 35,00 €
DVD Brenner LiteOn mit IDE Anschluss (iHAP122) 25,00 €
gesamt: 455,00 €

Nun mag man sich an dem Preis von nahezu 500 € für ein Auslaufmodell wie den Intel Core2 stören, aber der Zukauf von neuem Speicher bis zum Komplettausbau von maximal 8 GB und der Einbau einer Leistungsstarken 4 Kern-CPU mit geringer Verlustleistung ohne Anschaffung eines neuen Motherboards waren für mich wichtige Kriterien. Nach einem Wochenende Bastelarbeit konnte das System mit Software bestückt werden:

  1. Download und Brennen des Ubuntu 10.04.4 LTS Server ISO Image für 64-bit PC AMD64 .
  2. CD einlegen und Server von Lucid Lynx installieren. Dabei gleich den OpenSSH Server1) für die Remote-Administration installieren.
  3. Nach dem ersten Start des Servers alle weiteren Updates installieren – Server bei Bedarf neu starten:
    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get dist-upgrade
  4. Nun noch die qemu/KVM Umgebung nachinstallieren:
    sudo apt-get install qemu-kvm
  5. Für die Remote-Administration nutze ich den Virtual Machine Manager von Red Hat. Der muss auch noch installiert werden:
    sudo apt-get install virt-manager

Ernüchterung

Alles in allem funktioniert diese KVM Box mit Standard PC Komponenten tadellos. Kenner werden aber schon gemerkt haben, dass dem System eine entscheidende Komponente fehlt. Diese Erkenntnis musste ich im Verlauf der ersten zwei Wochen schmerzlich selber erlangen. Der Weg über die Standardkomponenten führt zwar sehr schnell und preiswert zu einer brauchbaren Hardware, aber eine hochperformante Virtualisierung mehrerer Systeme gleichzeitig geht damit nicht abzubilden.

Ohne Lastverteilung auf mehrere Festplatten mit Hilfe eines RAID ergibt sich wie im vorliegenden Aufbau ein Engpass im Datendurchsatz zur Festplatte. Prinzip bedingt teilen sich alle virtualisierten Maschinen am Ende in der realen Hardware nur eine Festplatte. Das bedeutet, dass sich das gesamte Datenaufkommen aus mehreren Maschinen dort „hindurchquetschen“ muss.

Im hier geschilderten Fall kommt noch hinzu, dass das verwendete Motherboard nicht für einen Serverbetrieb mit hohem Datendurchsatz gedacht ist und dieser somit, bedingt durch den Chipset, nicht üppig ist. Kurzum, nach meinen Messungen erreiche der alte P965 Chipset (ICH8) mit genannter Festplatte gerade mal 40-60 MB/sec – das entspricht in etwa einem unterdurchschnittlichem Ethernet Anschluss, aber nicht einer modernen SATA Festplatte. Bereits ein durch das BIOS gestützter SoftRAID-Verbund des moderneren Intel X58 Chipset (ICH10) schafft bei einer RAID5 Konfiguration mit 4 Platten nahezu 170MB/sec.

RAID Controller

Einzige Lösung des Duschsatzproblems ist die Anschaffung eines richtigen RAID Controllers und der Ausbau auf ein RAID10 oder als Kompromiss RAID5. Nach Sichtung diverser Foren und Veröffentlichung könnte hier ein eigenständiger RAID Controller von 3ware2) zum Einsatz kommen:

Kosten
Hersteller Bezeichnung bei Alternate bei Mindfactory
Controller LSI/3ware 9650SE-4LPML 270,00 € 3)
gesamt: 399,00 € 396,00 €

In Frage kommende Festplatten für RAID Dauerbetrieb (24/7):

64 MB
7200 U/min
Kosten
Hersteller Bezeichnung bei Alternate bei Mindfactory
500 GB Western Digital WD5003ABYX 115,00 €3x 345,00 € 100,00 €3x 300,00 €
1000 GB Western Digital WD1003FBYX 155,00 €3x 465,00 € 140,00 €3x 420,00 €

Kurzupdates

Stephan Linz 2012/03/17 16:04 Ich habe mir für ca. 400,00 € bei eBay einen 3ware RAID Controller samt 4x 2GB Festplatten von Western Digital ersteigert, wie ich denke ein fairer Preis. Genaueres folgt an dieser Stelle …

Stephan Linz 2012/03/23 20:48 Ein erster Test mit dem neuen RAID Controller bestätigt meine Behauptung zum Thema Durchsatz auf die Festplatten. Mit der neuen Errungenschaft komme ich nun auf etwa 170 MB/sec.

Stephan Linz 2012/03/24 00:12 So, Ubuntu 10.04.4 LTS ist installiert – Out-of-the-Box, ohne weitere Treiber von irgendwelchen zusätzlichen Medien nutzen zu müssen. Das Leben kann so schön sein. Nun werde ich mir noch die Administrationswerkzeuge von 3ware aufsetzen. Das hier scheint der richtige Einstieg zu sein …

1) DHCP im Netzwerk setze ich hier voraus
3) nicht mehr im Lieferprogramm