XEN zu KVM Migration „made easy“

Gestern hatte ich die Ehre beizuwohnen, wie einem abgeschmierten XEN-Server neues Leben eingehaucht wurde.

Warum auch immer der XEN-Server nicht mehr starten wollte – der Server musste schnell wieder Online. Es standen 2 Optionen zur Verfügung:

  • Neuinstallation des XEN-Servers und damit der Versuch eventuelle Fehler die im Laufe der Zeit dazu kamen zu elimieren
  • Neuinstallation als KVM-Server und CentOS-7

Der Besitzer entschied sich für KVM, da er eh schon ab und an liebäugelte mit einer zusätzlichen (er hat ja nichts gegen XEN an sich) Virtualisierung.

Nachdem der CentOS-7 installiert war, ging es darum die ehemaligen virtuellen Maschinen wieder zum Leben erwecken.

Hier eine kleine Randnotiz – die Installationsunterstützung von Anaconda beim Einrichten eines RAID1 ist mehr als Gewöhnungsbedürftig…

Die Installationen lagen allesamt als fertige LV-Images auf dem erkanntem LVM2. Flugs virt-manager aufgerufen und den „“unwichtigsten“ mal konfiguriert. Da erweist es sich wieder mal als gute Idee ein Backup zu haben. Aus dem Backup die alte MAC-Adresse der Netzwerkkarte geholt und in die neue Config eingetragen.

Jetzt kamen unterschiedliche Ergebnisse:

  • CentOS-6 : Booted ohne irgendwas und war sofort wieder da
  • Debian (Vers. ?) : Booted ohne Probleme und war sofort wieder da
  • CentOS-7: Booted nur mit dem Rescue-Kernel richtig hoch. Der unten stehen mkinitrd ist hier Pflicht.
  • Letzte Möglichkeit : mounten des Images am Server und in der chroot-Umgebung das mkinitrd ausführen

Bei allen Images haben wir uns entschieden den aktuellem initramfs bzw. initrd die virtio zu verpassen:

mkinitrd /boot/initramfs-<kernel version>.img <kernel version> –with virtio_blk –with virtio_pci –force

Diejenigen die das Glück hatten dass der aktuelle Kernel startete, können bei <kernel version> mit $(uname -r) ersetzen. Ist ein unterschiedlicher Kernel gebootet (oder chroot) dann muss explizit die richtige Kernelversion gewählt werden. Ob der Kernel vollinhaltlich installiert ist, zeigt ein Blick auf /lib/modules/<kernel vesion>. Ist das Verzeichnis da : Hurra.

Im Unterverzeichnis /lib/modules/<kernel version>/kernel/drivers/virtio ist auch noch virtio_pci.ko zu finden : Sensationell – alles OK.

Alle anderen müssen – entsprechend Ihrer Distribution – die Module für Virtio nachinstallieren.

Geht das nicht – weil zu alt:

  • Upgrade zu einer aktuelleren Version (wir helfen gerne  😉 )
  • Probieren ob der virtuelle Server in den Eigenschaften die Platteneinstellungen mit „SATA“ besser verkraftet.

Schlussendlich waren die virtuellen Installationen allesamt schnell wieder hergestellt und dem ersten vernehmen nach viel schneller als mit der vorigen XEN-Installation (was keine Wertung sein soll – nur eine Anmerkung über die Wahrnehmung  🙂 )

Ein Problem sei hier noch angemerkt : Die in den Images enthaltenen LVM´s und Partitions hatten zwar alle ihre vorige UUID, was einen Problemlosen Start ermöglichte, zusätzlich eingebundene Partitionen/Laufwerke die früher in der /etc/fstab unter /dev/xvdb1 gemountet waren, mussten auf /dev/vdb1 geändert. Das wars – alles gut mit Linux ….

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert