Zur Zeit stehen Upgrades von Debian Lenny auf Debian Squeeze an…
Da ich auf meinem Debian Lenny Server virtuelle Maschinen unter Xen laufen habe und auf einen fast unterbruchsfreien Upgrade angewiesen bin, habe ich den ersten Teil des Upgrades ausgiebig getestet. Es wäre gelogen, wenn mir das Ganze nicht etwas Kopfzerbrechen bereitet hätte…
Wo will ich hin:
- Debian Lenny VMs (DomU) auf Debian Squeeze aktualisieren
- Debian Lenny Xen Hypervisor (Dom0) auf Debian Squeeze aktualisieren
Der erste Teil befasst sich mit dem Upgrade der VMs. Nach einem finalen apt-get update && apt-get -u upgrade
von Debian Lenny wird die sources.list für Squeeze angepasst. Anschliessend wird apt-get update && apt-get -u dist-upgrade
ausgeführt. Hier kann man mehr oder weniger bestätigen, was vorgeschlagen wird (je nach installierten Applikationen kann es einige Anpassungen geben). Der Upgrade sah dann auch ziemlich gut aus. Leider kam nach einem erneuten Start der VM folgende Fehlermeldung:
dom0:~# xm create -c /etc/xen/guests/domU1.cfg Using config file "/etc/xen/guests/domU1.cfg". Error: Boot loader didn't return any data!
Na toll… Anzahl funktionierende VMs: -1
Nach unzähligen weiteren Versuchen (man arbeitet ja zum Glück mit LVM Snapshots und fängt mit einer Test VM an) und stundenlanger Recherche habe ich die Lösung herausgefunden.
Das Problem wird durch pygrub
und grub2
verursacht. grub2
arbeitet neu mit „named partitions“ und damit kommt pygrub
nicht klar. Aus diesem Grund verzichten wir (vorübergehend) auf grub2
und installieren den alten grub
wieder. Mehr Infos hier, hier und hier.
Die Lösung:
Nach dem Upgrade auf Debian Squeeze und vor dem Reboot muss grub-legacy
installiert werden. Dabei wird auch gleich grub2
deinstalliert (ich habe die Config ebenfalls gelöscht (--purge
)). Anschliessend habe ich zur Sicherheit das alte Kernel Image von Debian Lenny nochmals installiert. Dieses sollte man unbedingt zur Hand haben.
Anschliessend kann man rebooten. In meinem Fall hat das geklappt und die VM kommt wieder hoch.
Nun stellt sich die Frage was passiert, wenn nun Dom0 auf Squeeze aktualisiert wird. Ich gehe davon aus, dass man vorgängig auf allen VMs grub2
installieren muss, damit die VM auch mit Xen 4 wieder hochfährt. Das werde ich ebenfalls ausgiebig testen, um dann auf dem produktiven System keine Überraschungen erleben zu müssen.
Update: Wenn grub2 beibehalten werden möchte, dann muss die Datei /boot/grub/menu.lst und /boot/grub/menu.lst~ gelöscht und anschliessend update-grub2 ausgeführt werden. Anschliessend kann das System neu gestartet werden.
« Mac OS X Lion kommt im Juli / iCloud / iOS5 Mac OS X Lion ist da… »