Partitionsmagie mit Debian

Heute kommen wir (hoffentlich) zu der Lösung, wie man auf einer Festplatte mit einem verschlüsselten LVM die Partitionen ändern, vorzugsweise ohne Neuinstallation.

Hintergrund bei dem Vorhaben ist Problem, dass der Speicherbedarf der /boot-Partition mit den Jahren nicht kleiner wird und wenn man selbige beim Installieren des Systems zu knapp bemessen hat, hat man irgendwann den Salat: Es gibt beim Update Mecker, weil die Partition volläuft. Ja, man kann alte Kernel löschen (und sollte das sogar), aber ich hebe zum aktuelleb Kernel gern noch den direkten Vorgänger auf. Und wenn nicht genug Platz für 3 inklusive derer initialen Ramdisks ist: doof.

Datensicherung

Bevor man an Speichersystemen rumfummelt: Datensicherung machen. Es gibt kein Mitleid für Leute, die das nicht beherzigen. Wie man die Datensicherung macht: Egal, Hauptsache, sie funktioniert. Ein USB-Stick oder eine Speicherkarte ist übrigens kein Datensicherungsmedium, sondern ein Datentransportmedium. Macht keine Datensicherungen auf solchen Teilen.

Die ersten Herausforderungen

Nach der Sicherung gibt’s die ersten Herausforderungen:

Das System liegt auf einem LVM, welches aus einem LUKS-verschlüsselten Device liegt. Man muss also zunächst Platz schaffen. Da ich mehr als ausreichend Swap-Speicher habe, reduziere ich selbigen um 4 GB:

swapoff /dev/mapper/vg01/swap
lvresize -L -4G /dev/mapper/vg01/swap
mkswap /dev/mapper/vg01/swap
swapon -a

Das eigentliche Problem ergibt sich anschließend:

  • Den nötigen Speicherplatz freimachen mittels pvresize
  • Das verschlüsselte Volume verkleinern
  • Die Volumegroup nach hinten schieben, um für das /boot-Filesystem Platz zu schaffen
  • Das /boot-Filesystem vergrößern

Alles ganz schön viel Kram. Glücklicherweise kann gparted (https://gparted.org/) das fast alles automatisch. Man nehme also ein GRML (https://www.grml.org) oder SystemRescue (https://www.system-rescue.org/) und starte das System von einem damit bestückten Rettungssystem. Um die LVs zu verkleinern, muss man die verschlüsselte Partition entsperren. Danach kann man die LVs und auch die gesamte verschlüsselte Partition verkleinern und anschließend auf der Platte „nach hinten schieben“. Dadurch gewinnt man den nötigen Platz am Ende der /boot-Partition. Dass das Verschieben der Platte eine Zeit dauern, ergibt sich von selbst. Müssen hier doch etwas 450GB umkopiert werden. Hier dauert das auf einer SATA-SSD gut 1 Stunde.

Gparted hat hier hervorragende Dienste geleistet. Auch das Vergrößern der /boot-Partition ging ohne jedes Problem.