Hallo zusammen,
ich habe auf einem UCS den ich vor einer ganzen Zeit (4.0 oder 4.1) installiert habe das Root-Dateisystem mit btrfs formatiert. Dadurch kann ich das Update auf 4.2 nicht durchführen da Docker ja nicht damit kann …
siehe:
Nun muss ich das Dateisystem entsprechend ändern. Da der UCS eine VM unter KVM ist sollte dies ja machbar sein. Ich wollte wie folgt vorgehen:
Der Ausgangspunkt ist:
UUID=4ae7424b-2790-42da-8991-ac677edbb228 / btrfs defaults 0 1
UUID=3fc78459-9d09-4cc5-b929-8a65acc03bfe /boot ext4 defaults,user_xattr 0 2
UUID=8fe3b11d-b00f-4b07-9f3b-e0d372c17950 /home btrfs defaults 0 2
UUID="05632109-9108-4b8d-b542-3011c188b304" /data btrfs defaults 0 2
UUID=57b9afde-95e7-4e41-b1bb-258fbf0f7107 none swap sw 0 0
Nun bin ich wie folgt vorgegangen:
- Einen Klone des Storage (ist ein LV) anlegen mit dd
- Die UCS-VM beenden
- Eine Neue VM mit SystemRescueCD vom ISO booten und zusätzlich die beiden virtuellen Platten (LV’s) einbinden und noch eine außreichend große Daten-Disk (LV) einbinden
- In der Kopie des Storage die Partition für / mit ext4 formatieren
- Die “alte” / Partition mounten
- Die Datenplatte mounten
- mit tar… ein gepacktes Archiv der alten / auf die Datenplatte erzeigen (wegen Symloinks)
- Alte / aushängen
- Neue / mounten (ist ja nun ext4)
- Archiv darin entpacken
- im gemounteten /mnt/etc/fstab den Eintrag auf ext4 anpassen (auch UUID , vorher auslesen)
Damit ist die VM aber noch nicht startbar. Irgendwo im bootloader muss noch stehen dass / in btrfs formatiert ist oder sonst wo?
Ich habe auch schon vom Rettungssystem aus den Bootloader neu geschrieben … Die Werte natürlich sinngemäß angepasst …
mount /dev/sda6 /mnt/
mount -o bind /dev /mnt/dev
mount -o bind /sys /mnt/sys
mount -t proc /proc /mnt/proc
mount -o bind /run /mnt/run
mount -o bind /dev/pts /mnt/dev/pts
cp /proc/mounts /mnt/etc/mtab
rm /mnt/etc/resolv.conf
cp /etc/resolv.conf /mnt/etc #Nur wenn Netzanbindung vorhanden
chroot /mnt/ /bin/bash
Für Grub2 wird nun:
grub-install /dev/sda
[oder falls Fehler gemeldet werden]
grub-install --recheck /dev/sda
(ggf noch mit --force)
und anschließend:
update-grub2
ausgeführt.
Was habe ich vergessen/übersehen?
Viele Grüße
Sven