Probleme bei der Virtualisierung mit Ubuntu 14.04 LTS und KVM
Nachdem Ubuntu 14.04 LTS jetzt schon über zwei Monate alt ist, habe ich die ersten Server migriert. Ich hatte gehofft, dass die meisten schlimmen Fehler inzwischen behoben sind und man das System ohne größere Probleme betreiben kann.
Als ich den ersten Server für Virtualisierung migrierte, erwies sich meine Annahme aber leider als falsch. Zunächst liefen die Gast-Betriebsysteme ohne Probleme und dank der Technik Hyper V von Microsoft auch viel schneller als vorher. Je nach Auslastung wurden sie aber zunehmend langsamer und stürzten nach 3 bis 12 Stunden ganz ab. Die Windows-Gäste standen dann im Bluescreen und die Linux-Gäste hatten eine Kernelpanik.
Wie sich zeigte gibt es im Linux-Kernel 3.13 von Ubuntu 14.04 wohl noch einige Bugs, die früher oder später für einen Absturz der Gast-Betriebssysteme sorgen:
Nach diversen erfolglosen Versuchen das Problem in den Griff zu bekommen, stieß ich auf einen Blog-Post von Peter Kieser. Dieser machte den Vorschlag, den erprobten Linux-Kenel 3.10 mit Langzeitsupport für Ubuntu 14.04 zu kompilieren. Dieser Kernel wird auch bei RedHat Enterprise Linux verwendet, ist für Virtualisierung erprobt und er löste alle meine Probleme! Und dies geht wie folgt (ggf. kann man natürlich auch einen neueren Patchlevel des 3.10er Kerbels verwenden):
apt-get -y install build-essential
cd /usr/local/src
wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.10.46.tar.xz
tar -Jxf linux-3.10.46.tar.xz
cd linux-3.10.46
cp /boot/config-`uname -r` .config
make olddefconfig
make -j`nproc` INSTALL_MOD_STRIP=1 deb-pkg
dpkg -i ../*.deb
apt-mark hold linux-libc-dev
Außerdem machte Peter Kieser noch einige Tuning Vorschläge, die er auch durch den Vergleich mit RedHat Enterprise Linux gefunden hatte. Ich habe mir davon die Verwendung des e1000 Netzwerkkartentreibers bei den Windows-Gästen, die Einträge für Hyper V in der Konfig der Windows-Gäste, die Anpassung von Grub und die Einträge in der /etc/sysctl.conf abgeschaut.
Einträge für Hyper V in der Konfig der Windows-Gäste
In die Konfig der Windows-Gäste müssen – sofern noch nicht vorhanden – die folgenden Zeilen in den Abschnitt “features” eingetragen werden:
In die Konfig der Windows-Gäste gelangt man am einfachsten, wenn man in der virsh
edit
eingibt. Man landet dann mit einem vi in der Konfig und wenn man den vi beendet, wird die Konfig auch gleich richtig gespeichert.
Die Datei sollte nach den Änderungen etwa wie folgt aussehen:
In der Datei “/etc/default/grub” sollten für den Linux-Kernel “Headline scheduler”, and “transparent hugepages” eingeschaltet werden. Dies macht macht man in der Variable “GRUB_CMDLINE_LINUX_DEFAULT”. Die Zeile mit der Variable sollte dazu wie folgt aussehen.
Eine sehr gute Frage, die ich mir die letzten Tage auch gestellt habe. Da einige Produktivmaschinen auf dem System laufen, habe ich immer die Funktionierende Lösung verwendet. Da der Absturz der Gäste ja immer erst nach einiger Zeit passiert, ist der Test immer sehr schmerzhaft. Ich wollte voraussichtlich nächsten Wochenende aber noch mal testen. Da arbeite ich eh am Wogenden und kann eine längere Zeit in ruhe testen.
Die Kommentare bei Launchpad sind ja leider nicht so ganz eindeutig. Es gibt zumindest einige die behaupten, dass der Fehler noch nicht gelöst ist. Verantwortlich fühlt sich aber kein Maintrainer mehr.
Habe jetzt noch mal mit dem neusten Kernel von Ubuntu getestet und kann bestätigen, dass der Fehler immer noch auftritt. Ubuntu scheint mit schnellen AMD Prozessoren und Virtualisierung also nicht so zuverlässig zu laufen. Sehr, sehr schade ;-(
Fred
Hatte dieselben Probleme mit Ubuntu 14.04 LTS als Host, bei Virtualisierung mit KVM und Windows Gast-Betriebssystemen. Des Rätsels Lösung war das manuelle Upgraden des Host-Kernels von 3.13 auf 3.16 (laut eines Forums soll 3.14 das Problem auch beheben).
Host: 2x E5-2620V2, Ubuntu 14.04 LTS
Guest: 24 virtual cores, Windows Server 2008 R2
Vor dem Fix:
sudo uname -a
Linux x.contabo.net 3.13.0-44-generic #73-Ubuntu SMP Tue Dec 16 00:22:43 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Bluescreen stop 0x0000005c alle paar Stunden
Nach dem Fix:
sudo uname -a
Linux x.contabo.net 3.16.0-23-generic #31-Ubuntu SMP Tue Oct 21 17:56:17 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Keine Bluescreens oder andere Abstürze seit 7 Tagen unter Volllast.
Schreibe einen Kommentar