Archives For Xen

Wir sind gerade dabei unsere virtuelle Umgebung von XEN auf KVM umzustellen. Eigentlich keine große Sache, bis auf die Tatsache das auf unseren Windows Servern überall die XEN PV Treiber installiert sind und somit die Windows VMs unter KVM immer in einen Blue Screen booten.

Windows Fehlermeldung: 0x00007b

Damit die Server unter KVM booten, müssen also diese XEN PV Treiber richtig entfernt werden. Das benötigte etwas mehr Aufwand als nur “Treiber deinstallieren”:

  • Im Geräte Manager / Laufwerke die XEN PV Treiber deinstallieren und keinen Reboot durchgeführt.
  •  Unter Systemsteurung / Programme die XEN PV Treiber deinstallieren.
  • Die Verzeichnise der XEN PV Treiber löschen: “%ProgramFiles%\Xen PV Drivers” und  ”%SystemRoot%\system32\drivers\xen*
  • Und in der Registry alle Einträge entfernen:

HKLM\SYSTEM\CurrentControlSet\Services\XenConfig
HKLM\SYSTEM\CurrentControlSet\Services\XenHide
HKLM\SYSTEM\CurrentControlSet\Services\XenNet
HKLM\SYSTEM\CurrentControlSet\Services\XenPCI
HKLM\SYSTEM\CurrentControlSet\Services\XenStub
HKLM\SYSTEM\CurrentControlSet\Services\XenVbd
HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}
HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}
HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E97B-E325-11CE-BFC1-08002BE10318}
HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E97D-E325-11CE-BFC1-08002BE10318}

Danach den Server unter XEN neu starten, damit Windows wieder seine QEMU Treiber installiert. Danach bootet die VM unter KVM ohne Probleme.

11.thumbnail Entfernung der XEN PV Treiber unter Windows

Autor: Martin Schuster

Martin gehört zu den Urgesteinen bei NETWAYS und leitet zusammen mit Sebastian das Managed Services Team. Vorher war er bei 100world als Systems Engineer angestellt. Während er früher Nürnbergs Partykönig war, verbringt der frischgebackene Papa nun seine Freizeit damit das Haus zu renovieren.

Heutzutage wird alles virtualisiert – und das ist auch gut so. Als großer Freund der Virtualisierung stecke ich am liebsten jeden Dienst in seinen eigenen Container. In einen Container, aber nicht in eine ausgewachsene VM. Hypervisor wie KVM, XEN und VMware sind für viele Anforderungen ein enormer Oberhead. Um in die meisten Vorzüge der Virtualisierung zu kommen, man braucht keinen virtualisierten Kernel mit virtualisierter Hardware – es gibt auch weitaus schlankere Werkzeuge hierzu.

BSD nennt das Konzept Jails, unter Solaris sind es Zones – und auch unter Linux existiert Vergleichbares schon lange. Wegbereiter waren das von mir über Jahre intensiv genutzte Linux-vServer, sowie OpenVZ und andere. Allen gemein war, dass sie einen entsprechend gepatchten Kernel benötigten – eine Voraussetzung, die sich aufgrund entsprechender Policies nicht überall umsetzen lässt.

Capabilities, Namespaces, CGroups und andere Mechanismen im Kernel ebneten den Weg zum offiziellen Ersatz für genannte Kernel-Patches: die Linux-Container , kurz LXC genannt. Seit 2.6.29 Bestandteil des Upstream-Kernels wird LXC so langsam erwachsen, die anfängliche Lernkurve ist aber immer noch recht steil.

Container haben keinen direkten Hardware-Zugriff: nicht auf Blockdevices, nicht aufs Netzwerk und auch nicht auf den Arbeitsspeicher. Auch haben entsprechende Gäste keinen eigenen Kernel, man kann sie vereinfacht als bessere chroot-Umgebung mit voneinander isolierten Prozessen betrachten. Genau darin liegt aber der Charm dieser Lösung: virtuelle Server zeigen kaum Performance-Unterschiede zu auf dem Host selbst laufenden Prozessen, und ein einziger Kernel kümmert sich um den virtuellen Speicher. Dadurch lassen sich weit mehr virtuelle Server als z.B. mit einem ausgewachsenen VMware betreiben.

Die Beschränkung auf einen Kernel ist gar nicht so schwerwiegend wie es vielleicht klingen mag: man kann z.B. problemlos ein 32bit RHEL als Gast auf einem aktuellen 64bit Debian betreiben. Nicht möglicht ist natürlich der virtualisierte Einsatz von anderen Betriebssystemen wie Windows in so einem Container. Solange man aber nur Linux-Systeme virtualisiert ist LXC allemal einen Versuch wert. Noch viel mehr Freude macht es, wenn man dazu schon mal ein paar erste Gehversuche mit BTRFS wagt.

Da aktuelle Distributionen LXC meist schon mitbringen, bleibt mir nur noch, gutes Gelingen und viel Spaß zu wünschen!

33.thumbnail Nein, ich will keine ausgewachsenen VMs. Meistens.

Autor: Thomas Gelf

Der gebürtige Südtiroler Tom arbeitet als Consultant für Systems Management bei NETWAYS und ist in der Regel immer auf Achse: Entweder vor Ort bei Kunden, als Trainer in unseren Schulungen oder privat beim Skifahren in seiner Heimatstadt Bozen. Neben Icinga und Nagios beschäftigt sich Tom vor allem mit Puppet.

Virtualisierung soll viele Probleme lösen. Es soll die Server besser auslasten und bei einem Ausfall der Hardware dafür sorgen, dass man ohne große Probleme die Maschine wieder ans laufen bekommt. Solange man bei einer Virtualisierungslösung bleibt, gibt es auch relativ wenig Probleme. Sollte man sich aber dazu entschließen zu wechseln, muss man einiges beachten.

Diese Woche haben wir die Migration von vmWare Server 2.0.2 nach XEN 4.0 durchgeführt. Dabei sind mehrere Dinge zu beachten. Zuerst muss man auf der vmWare Seite einiges Vorbereiten:

vmWare

Das erste, was man kontrollieren muss, ist ob das .vmdk Image aus einem monolithischen Block besteht, oder ob es in mehrere sparse files aufgeteilt ist. Dies sind in der Regel 2GB große Dateien mit Zahlen hinter der .vmdk Endung. Im ersten Fall muss man nichts weiter tun, im zweiten Fall bringt vmWare Server ein tool namens vmware-vdiskmanager mit, mit dem man diese konviertieren kann. Der Befehl hierfür lautet

vmware-vdiskmanager -r image.vmdk -t 0 image-flat.vmdk

Anschließend kann man das Image auf den Xen Server kopieren.

XEN

Da Xen mit .vmdk images nicht direkt umgehen kann, muss man es erst einmal ins raw Format konvertieren.

qemu-img convert -f vmdk image-flat.vmdk -O raw image.img

Nun muss man sich entscheiden ob man die Maschine vollvirtualisiert betreiben möchte, was für Windows die einzige Möglichkeit ist, oder ob man auch einen für Xen Angepassten Kernel zur Verfügung hat und damit auch Paravirtualisierung nutzen kann, was deutlich performanter ist. Am einfachsten ist es, wenn man diesen schon installiert hat, als die Maschine noch unter vmWare lief, es geht aber auch noch im Nachhinein. Hierzu muss man das image mounten, per chroot in das Verzeichnis wechseln und den Kernel hinzufügen.

fdisk -lu image.img   //zeigt die Partitionen des Images an.
 
kpartx -a image.img   //mapt die Partitionen des images nach /dev/mapper/loop . . .
 
mount /dev/mapper/loop2p1 /mnt // mountet die erste Partition des images nach /mnt
 
mount -t proc proc /mnt/proc/         //proc dazu mounten
 
mount -t sysfs sys /mnt/sys         // sys dazu mounten
 
mount --bind /dev /mnt/dev          // /dev dazu mounten
 
chroot /mnt           // nach/mnt als root Verzeichnis wechseln

Ab hier kann man mit den Mitteln des Betriebsystems (je nachdem ob die virtuelle Maschine Debian, RedHat, Suse oder sonst etwas ist) einen neuen kernel nachinstallieren. Am Beispiel Debian:

apt-get install linux-image-2.6.32-5-xen-amd64 linux-modules-2.6.32-5-xen-amd64

Den Kernel und die ramdisk braucht man später auch außerhalb des Images, daher sollte man ihn sich z.B. nach /boot/xen kopieren

exit // beendet chroot
 
cp /mnt/boot/vmlinuz-2.6.32-5-xen-amd64 /boot/xen
 
cp /mnt/boot/initrd.img-2.6.32-5-xen-amd64 /boot/xen

Anschließend noch alles wieder unmounten und die kpartx mappings löschen

umount /mnt/proc
 
umount /mnt/sys
 
umount /mnt/dev
 
umount /mnt
 
kpartx -d image.img

Xen Konfiguration

Jetzt ist das image vorbereitet und man muss bloß noch eine funktionierende Konfiguration anlegen. Das hier abgebildete Beispiel könnte dabei als Vorlage dienen.

# image.cfg
 
memory = 1024
 
vcpus = 1
 
name = 'image'
 
vif = [ 'bridge=xenbr1,vifname=image' ]
 
disk = [ 'file:/xen/image.img,sda,w']
 
on_poweroff = 'destroy'
 
on_reboot   = 'restart'
 
on_crash    = 'destroy'
 
kernel = '/boot/xen/vmlinuz-2.6.26-2-xen-amd64'
 
ramdisk = '/boot/xen/initrd.img-2.6.26-2-xen-amd64'
 
root= '/dev/sda1'
 
extra = "xencons=tty "

Achtung: ohne den letzten Eintrag hat man keine Konsole unter XEN

Eine Alternative zum booten unter Angabe von kernel und ramdisk ist die Benutzung von pygrub als bootmanager. Hierbei zieht sich pygrub den Kernel und die Ramdisk vor dem booten aus dem image und benutzt ihn einfach. Man bekommt am Anfang ein Auswahlmenü ähnlich wie bei grub. Um pygrub zu benutzen ersetzt man die Einträge kernel, ramdisk und root durch

bootloader="/usr/bin/pygrub"

Achtung: pygrub funktioniert nicht mit grub2!

Xen virtuelle Maschine starten

xm create -c image.cfg // startet die Maschine
 
xm list // zeigt laufende Maschinen
 
xm shutdown image // fährt die Maschine herunter
 
xm destroy image // beendet die Maschine hart (als würde man den Strom ziehen)
 
xm help // zeigt die übrigen Kommandos
38.thumbnail Migration von vmWare Server nach Xen

Autor: Christoph Niemann

Christoph hat bei uns im Bereich Managed Service begonnen und sich dort intensiv mit dem internen Monitoring auseinander gesetzt. Seit 2011 ist er nun im Consulting aktiv und unterstützt unsere Kunden vor Ort bei größeren Monitoring-Projekten und PERL-Developer-Hells.

admin 05 2010 Monitoring virtualisierter UmgebungenIn der aktuellen Ausgabe des Admin-Magazins ist dieses mal ein Beitrag von uns zu finden. Unter dem Titel “Monitoring virtualisierter Umgebungen” geht der Artikel auf die Überwachung der gebräuchlichsten Virtualisierungslösungen ein. Neben den Klassikern wie VMware, XEN und KVM werden auch Lösungen für Containersysteme wie OpenVZ oder Solaris Zones betrachtet.

Nagios und Icinga bietet hier aufgrund der großartigen Community eine Vielzahl an Plugins und Überwachungsmöglichkeiten. Der Artikel hilft bei Auswahl und Einsatz und gibt einen Einblick über die zugrundeliegenden Mechanismen. Das Magazin sei, unabhängig von diesem Artikel, all denjenigen ans Herz gelegt, die im heterogenen Rechenzentrumsumfeld aktiv sind.

Edit: Habe gerade gesehen, dass man den Artikel hier sogar kostenlos lesen kann.

14.thumbnail Monitoring virtualisierter Umgebungen

Autor: Bernd Erk

Bernd ist einer der Geschäftsführer der NETWAYS Gruppe und verantwortet das Tagesgeschäft. Da er in einem früheren Leben mit Java und Oracle Datenbanken gearbeitet hat, kümmert er sich immer noch gerne um das Thema Reporting - sowohl bei NETWAYS, als auch im Icinga Team. In seiner knappen Freizeit streitet er sich mit seinem Sohn, wer das iPad gerade benutzen darf und widmet sich der Weiterverbreitung der gehobenen Schaschlik-Kultur.

This entry is part 4 of 9 in the series Becky + Schorsch erzählen

Auch dieses mal gibt’s wieder was zu erzählen. So melde ich mich nach erfolgreich bestandener KMK-Englisch-Zertifikatsprüfung zurück. Die Prüfung ging übrigens mit einem ziemlich guten Ergebnis vonstatten.

Aber kommen wir doch zum Sponsoring. Letzte Woche habe ich zur Unterstützung die Linux-Usergruppe von Bernd Stroessenreuther eine neue XEN-VM bei uns erstellt und zwar mit allem was dazu gehört.

gmimietz5 Schorsch erzählt: Sponsoring bei NETWAYSXEN Maschine aufsetzen, Volumes einrichten, FAI Installation, Netzwerkeinrichtung inkl. VLANS und DNS, sowie natürlich dem Monitoring in unserem Nagios-System. Die Bereitstellung des Systems konnte durch den Einsatz von XEN, sowie Verwendung von FAI und Puppet sehr schnell erfolgen. So konnte ich Bernd und seiner Linux-Usergruppe ein bisschen unter die Arme greifen und hoffentlich eine Freude bereiten.

Im Moment erlebe ich einen richtigen Aufschwung in meiner Lernphase bei NETWAYS, so kommen jeden Tag etliche Kenntnisse und einiges an Wissen neu hinzu. Das umfasst so in etwa alle Bereiche in denen ich arbeite; ob das einfach nur ein Linux ist, mit XEN zu arbeiten, oder komplexere Aufgaben im Bereich DNS – es gibt jeden Tag immer wieder neue spannende Sachen zu tun.
Nun steht in ca. einem Monat das 3 Ausbildungsjahr vor der Tür, so wird es dann in die letzte der 3 Runden gehen.

Schorsch erzählt, wird es hier also noch mindestens 1 Jahr geben icon wink Schorsch erzählt: Sponsoring bei NETWAYS

Bis dahin

der Schorsch

25.thumbnail Schorsch erzählt: Sponsoring bei NETWAYS

Autor: Georg Mimietz

Georg hat bei NETWAYS seine Ausbildung zum Fachinformatiker Systemintegration beendet, nachdem er vorher bei einer anderen Ausbildungsstelle wegen Langeweile beinahe berufsunfähig geworden wäre. Noch während der Ausbildung haben wir sein hervorragendes Verkaufstalent erkannt und ihn sofort nach Ausbildungsabschluss in das Sales Team zwangsversetzt. Neben der Kundenberatung im Presales kümmert er sich vor allem um unseren Online-Shop.

Page 1 of 51234...>>