KVM: Welchen cpu Parameter verwenden
Die KVM (Kernel Virtual Machine) bietet ja div. Parameter an, was die CPU anbelangt:
scotty ~ $ kvm -cpu ?
x86 qemu64
x86 core2duo
x86 qemu32
x86 coreduo
x86 486
x86 pentium
x86 pentium2
x86 pentium3
x86 athlon
x86 n270
Eine interessante Frage tauchte dazu kürzlich in der KVM Mailing Liste auf. Welchen soll man denn nun verwenden? Insbesondere wenn man Gentoo als Gastsystem am Laufen hat. Da macht es ja doch Sinn, das der Compiler alle Möglichkeiten nutzt, die der Host-Prozesser zur Verfügung stellt (cat /proc/cpuinfo).
Das Ergebnis war schließlich, das man eigentlich nichts angeben muss. -cpu modifiziert nur die CPUID-Flags. Wenn aber die CPU SSE3 z.B. unterstützt, dann profitiert auch der Gast davon.
Posted at 04:52nachm. Feb. 27, 2009 by cetixx in Tipps | Kommentare [0]
K3B und KDE 4.2
Nach dem Upgrade von KDE 3.5 auf 4.2 unter Gentoo tut leider K3B nicht mehr. Das benötigt leider unbedingt die alten kdelibs. Es gibt wohl im kde-testing Overlay (Stichwort Layman) eine Version, die unter KDE 4 läuft, aber das wollte ich mir jetzt nicht antun.
Deshalb habe ich mir jetzt Brasero installiert. Das ist zwar eine Gnome-Applikation, läuft aber auch unter KDE einwandfrei und fällt eigentlich auch nicht auf, das es normalerweise unter Gnome läuft.
Posted at 01:00vorm. Feb. 20, 2009 by cetixx in Tipps | Kommentare [0]
Linux: IOMMU: Setting identity map for device
Falls euch beim Booten vom Linux-Kernel mit einem Intel Quad Core eine Meldung wie diese hier
IOMMU: Setting identity map for device 0000:00:1a.1 [xdefd6000 - 0xdefd7000]
um die Ohren fliegt, sollte man in der /boot/grub/grub.conf (oder menu.lst) folgenden Parameter in der kernel-Zeile setzen:
intel_iommu=off
Das kann man auch temporär tun, wenn Grub das Bootmenü anzeigt, den entsprechenden Eintrag mit e auswählt und dann einfach hinter der Zeile mit kernel ... anhängt
Posted at 02:43nachm. Feb. 10, 2009 by cetixx in Tipps | Kommentare [0]
KDE 4.2
Nach dem nun am 27.1.2009 KDE 4.2 released wurde, war es kurz darauf auch schon im Gentoo Portage. Respekt an die KDE- und Gentoo-Entwickler!
KDE 4.2 ist schon ein tolles Release. Habe jetzt auch meinen eigentlichen Desktoprechner von KDE 3.5 auf 4.2 upgedated. Da Portage 2.2 noch hardmasked ist und nur diese Version Slots unterstützt, habe ich das kde-meta-Paket installiert.
Grundsätzlich ist die KDE-Doku auf der Gentoo-Seite ganz gut. Zusätzlich zu den KDE-4.2-Pakete die in die /etc/portage/package.keywords eingetragen werden müssen, damit man 4.2 überhaupt installiert werden kann (die Liste kann man hier downloaden), musste ich noch
dev-util/cmake
kde-base/qimageblitz
dev-libs/soprano
app-misc/strigi
kde-base/automoc
app-office/akonadi-server
dev-libs/libical
x11-apps/xinit
sci-mathematics/gmm
dev-libs/libzip
unmasken. Weiterhin hatte ich das Problem, das das phonon-xine-Paket ständig verhindert hat, das phonon-4.3.0 installiert werden konnte. Schließlich habe ich kde-base/kdebase (V 3.5), krusader, krename, smplayer und vlc deinstalliert und dann lief auch die Installation von kde-base/kde-meta:4.2 durch. Die genannten Pakete hatten alle Abhängigkeiten zu KDE 3.5 Libs, die wiederum die Installation von 4.2 verhinderten. Die deinstallierten Pakete kann man nach der Installation einfach wieder installiert.
Der Befehl emerge -ptuDN world hilft ganz gut, um zu sehen, welche Pakete von welchen Paketen abhängen und kann so leichter Blocker auflösen.
Nachdem KDE 4 jetzt auch sehr schöne und vor allem auch schnelle Effekte schon mit bringt u.a. auch den berühmten Cube, habe ich Compiz-Fusion auch gleich deinstalliert. Ebenso habe ich auch alles Mögliche deinstalliert, was noch nach KDE 3.5 aussah. Allerdings spielen die o.g. Paket und auch z.B. das CD Brennprogramm k3b wieder einige KDE 3.5 Pakete ein. Das ist aber kein Problem.
Nach der ganzen Deinstallstionsorgie funktionierten dann nach einem Restart von KDE die Effekte nicht mehr. Hier hat dann eine Neuinstallation der Nvidia-Treiber geholfen. Dieser Installer meckerte dann auch gleich, das einige Pakete seit der letzten Installation geändert wurden. Nach der Neuinstallation der Treiber liefen dann auch die Effekte wieder.
Fall es jemand hilft: Konkret deinstalliert habe ich (Pakete werden dann teilweise später wieder reingezogen, wenn sich KDE 4.2 installiert) folgende Pakete:
libkexiv2 libkipi libkdcraw kde-base/kde-3.5.9 kde-base/arts-3.5.9 kde-base/kdewebdev-3.5.9 kde-base/kdetoys-3.5.9 de-base/kdepim-3.5.9-r1 kde-base/kdemultimedia-3.5.9 kde-base/kdeedu-3.5.9 kde-base/kdeaddons-3.5.9 kde-base/kdeadmin-3.5.9 kde-base/kdeartwork-3.5.9 kde-base/kdegames-3.5.9 kde-base/kdegraphics-3.5.9 kde-base/kdelibs-3.5.9-r4 kde-base/kdenetwork-3.5.9 kde-base/kdepim-3.5.9-r1 kde-base/kdeutils-3.5.9-r1 kde-base/kdeadmin-3.5.9 kde-base/kdeartwork-3.5.9 kde-base/kdegames-3.5.9 kde-base/kdegraphics-3.5.9 kde-base/kdelibs-3.5.9-r4 kde-base/kdenetwork-3.5.9 kde-base/kdepim-3.5.9-r1 kde-base/kdeutils-3.5.9-r1 x11-wm/compiz-0.6.2-r1 x11-wm/compiz-fusion-0.6.0 x11-plugins/compiz-fusion-plugins-unsupported-0.6.0 dev-python/compizconfig-python-0.6.0.1 11-libs/compiz-bcop-0.6.0 x11-libs/compizconfig-backend-gconf-0.6.0 x11-libs/compizconfig-backend-kconfig-0.6.0 x11-libs/libcompizconfig-0.6.0 x11-plugins/compiz-fusion-plugins-extra-0.6.0 x11-plugins/compiz-fusion-plugins-main-0.6.0 x11-themes/emerald-themes x11-wm/emerald ktorrent x11-themes/domino-0.4-r1 tork krusader krename x11-apps/ccsm-0.6.0 media-libs/libkdcraw
Posted at 07:00vorm. Feb. 06, 2009 by cetixx in Tipps | Kommentare [0]
Oracle 10g Client und Gentoo 2008.0
Falls mal jemand auf die Idee kommt, den Oracle 10g Client zu installieren und Gentoo 2008.0 (x86_64 bzw. amd64) zu verwenden, dem könnte folgende Meldung um die Ohren fliegen nach der Installation und beim Aufruf von oemapp dbastudio:
Exception java.lang.UnsatisfiedLinkError: /tmp/OraInstall2009-02-05_11-28-04AM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: wrong ELF class: ELFCLASS64 occurred..
java.lang.UnsatisfiedLinkError: /tmp/OraInstall2009-02-05_11-28-04AM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: wrong ELF class: ELFCLASS64
Bei mir hat dann Folgendes weitergeholfen:
emerge -av glibc binutils app-emulation/emul-linux-x86-baselibs app-emulation/emul-linux-x86-xlibs
Zusätzlich habe ich noch
emerge -av ksk rpm
installiert.
Posted at 02:03nachm. Feb. 05, 2009 by cetixx in Tipps | Kommentare [0]
KVM, Qemu und XFS Filesystem
So sehr ich ja XFS als Filesystem schätze, muss ich doch ziemlich davon abraten, es in einer KVM (Kernel Virtual Maschine) zu verwenden. Normalerweise richte ich das Root-FS (also /) immer als ext3-Filesystem ein und /boot als ext2. /var, /tmp, /usr, /opt, /home, usw. immer als XFS. Das war all die Jahre auch eine gute und einwandfrei funktionierende Kombination. Falls was ist, kann man mit den Standardtools Root-FS und /boot eventl. reparieren. Solange / und /boot noch tun, hat man ja ohnehin alle Tools drauf, um eventl. die XFS-Partitionen zu reparieren. Den Bedarf hatte ich aber noch nie - bis auf 3 mal in den letzten Monaten in Zusammenhang mit einer KVM.
Da XFS ja ziemlich aggressives Write-Caching betreibt, ist die allgemeine Empfehlung XFS hauptsächlich dann zu verwenden, wenn man eine USV vor dem Rechner hat oder einen Contoller, dessen Cache und Festplatte mit einer Batterie gegen plötzlichen Stromausfall gesichert ist.
So betrachtet, gelten beide Bedingungen nicht für die KVM. Ich kann die KVM ja jeder Zeit mit einem kill vom Host aus abschießen. Oder eine Kernel-Panic des Hosts würde auch die KVM killen. Das ist dann, als ob ich den Stecker für die KVM ziehen würde. Obwohl ich damit auf einem physikalischen Rechner noch nie Probleme hatte, scheint das in einer KVM gravierendere Auswirkungen zu haben. Das Ganze gilt insbesondere dann, wenn man das Virtio Block Device (VIRTIO_BLK) verwendet (das ist der Virtio Plattentreiber, der nicht emuliert werden muss, sondern soz. näher am Host-IO-Treiber sitzt und dadurch schneller arbeiten kann - fällt u.a. dadurch auf, das man ein /dev/vda Device hat).
Ich kann aufgrund meiner Erfahrungen aktuell nur empfehlen, ext3 in einer KVM zu verwenden. Die Probleme mit XFS traten dann und wann auf, wenn die KVM (aus welchen Gründen auch immer), unerwarteter Weise beendet wurde. I.d.R. konnte man das Filesystem wieder herstellen, aber mir hat es auch schon Zwei komplett zerlegt. Mit ext3 ist mir das noch auf keinem KVM-System passiert. Komisch... Normalerweise kenne ich das immer umgekehrt ;-)
Ich vermute mal, das einer der Gründe für die Probleme die fehlende Unterstützung in VIRT_BLK für Barriers ist. Das sieht dann mit dmesg z.B. so aus:
Filesystem "vda7": Disabling barriers, trial barrier write failed
XFS mounting filesystem vda7
Wenn ich die Sache mit den Barriers richtig verstanden habe, dann sind die dafür zuständig, das das Filesystem das darunterliegende Device informieren kann, wenn es Daten flushen, d.h. also wegschreiben soll. Wenn das nicht passiert und die Kiste säuft ab, dann kann das ziemliche Folgen für das Filesystem haben. Oft wird empfohlen, bei XFS die Option nobarrier zu setzen, um die Performance zu steigern. Das sollte man sich aber genau überlegen...
Update 20090206:
Zu dem Thema u.a. qcow2 vs. raw Format für KVM Images siehe auch hier:
Poor Write I/O Performance on KVM-79
Use writeback caching by default with qcow2
Re: Use writeback caching by default with qcow2
XFS FAQ
Interessant finde ich auch die Möglichkeit, LVM direkt als Laufwerk für eine KVM zu nutzen, wie in einem der Postings erwähnt wird (-drive file=/dev/vg/volume). War mir noch gar nicht bekannt...
Update 20090329:
Die XFS FAQ empfiehlt bei Qemu/KVM bei der -drive Option cache=none anzugeben, da hier anscheinend nicht mal auf einen fsync Verlass ist. Ich werde trotzdem bei ext3 als Filesystem in einer KVM bleiben.
Posted at 09:41nachm. Feb. 04, 2009 by cetixx in Tipps | Kommentare [0]