Da Debian Squeeze nun endlich (fast) fertig ist, hab ich heute mal dem ersten halbwegs produktiven Server geupdatet, um schon mal zu kucken, ob auch ein etwas komplexeres Setup (lenny-xen-dom0 mit zwei squeeze-domUs) sauber durchläuft. Tat es natürlich nicht, was aber auch meiner noch etwas unzureichenden Erfahrung mit Xen geschuldet seien dürfte.
Damit nicht andere Leute in die Fallen tappen, die ich mitgenommen habe, hier mal ein kurzer Überblick:
Erster und wichtigster Punkt bei allen upgrades auf squeeze: Achtet auf Meldungen, das Firmware fehlen könnte! Der neue Debian-Kernel ist frei von proprietären Firmware-Blobs, was ich ideologisch gut aber teilweise unpraktikabel finde. Beim upgrade ist es aber ein lösbares Problem. Es müssen eben die entsprechenden Pakete aus non-free installiert werden. Bei einer Neuinstallation ist das erheblich ekliger, da es eben auch Netzwerkkarten betrifft, was es etwas schwierig macht, an die benötigte Firmware zu kommen.
Das zweite potentiell verhängnissvolle Problem ist, dass der neue Kernel nicht mit xen-3.2 kann. Beim normalen upgrade bleiben aber die 3.2er Pakete installiert und das erste boot-setup, das update-grub kreiert hat war natürlich eine Kombi aus Kernel 2.6.32 und Xen 3.2, die beim starten hängen blieb. Da freut man sich dann über das vorhanden sein einer Rescue Disc oder einer seriellen Konsole.
Nach dem das bare metal wieder tat ging es an das Kernel-Upgrade für die domUs. Hier lauert dann die nächste Falle: Der neue Kernel findet kein /dev/sd* mehr. Hier müssen in allen configs für die domUs die /dev/sd’s durch /dev/xvd’s (also z.B. /dev/sda1 durch /dev/xvda1) ersetzt werden und in der domU muss die fstab korrigiert werden.
Ab da gabs nur noch Kleinigkeiten. In den domUs müssen die Module für den neuen Kernel nachinstalliert werden, grub kann nicht installiert werden, weil er mit /dev/xvda nix anfangen kann (bootet aber trotzdem), es gibt kein /dev/rtc mehr (gabs das vorher?), und die Uhr ging gruselig vor. Letzteres lag an dem fix für die noch viel schlimmer falsch gehende Uhr unter Xen 3.2, der unter anderem darin bestand, in der domU.cfg „extra=“clocksource=jiffies““ einzutragen, was jetzt dazu führte, dass die Uhr pro Minute 5 Minuten vor ging.
Alles in allem lösbare Probleme, die allerdings ohne Rescue System mit einer Fahrt ins Rechenzentrum geendet hätten. Aber gut, alle anderen Systeme sind domU oder bare metal. Da wird mir das nicht mehr passieren.
Ich wünsche jedenfalls allen viel Spaß mit Squeeze und herzlichen Dank an alle Beteiligten für das am wenigsten bekloppte Betriebssystem der Welt.