Mein Debian-System läuft inzwischen von der SSD. Auf dem HDD-Verbund liegen aber noch die alten System-Volumes: root, var, home und weitere Reste des früheren Aufbaus. Das große /srv soll dort bleiben. Also heißt Aufräumen diesmal nicht, einfach die ganze Volume Group zu löschen.

Ich habe damit eine Weile gewartet. Solange der neue Start von der SSD und alle Dienste nicht wirklich getestet waren, waren die alten Volumes noch meine Rückfallebene. Erst nach mehreren erfolgreichen Starts und Kontrollen gehe ich an lvremove.

Zuerst herausfinden, was noch benutzt wird

Auf der SSD liegt bei mir die Volume Group vgssd, auf dem HDD-Verbund vg0. Bevor ich lösche, kontrolliere ich die Mountpoints, Swap und die fstab:

findmnt | grep vg0
swapon --show
grep vg0 /etc/fstab
sudo lvs
sudo lvs -o lv_name,vg_name,lv_size,devices

Die wichtige Ausgabe muss zeigen, dass /srv weiterhin von /dev/mapper/vg0-srv kommt. Alte Einträge in /etc/fstab entferne oder korrigiere ich vorher. Ein Volume, das noch gemountet ist oder als Swap läuft, wird nicht gelöscht.

Bei mir bleibt also /dev/vg0/srv erhalten. Die anderen Namen prüfe ich einzeln gegen die Ausgabe von lvs. Nicht gegen meine Erinnerung und auch nicht gegen eine alte Notiz.

Alte Logical Volumes einzeln löschen

Wenn feststeht, dass die alten System-Volumes nicht mehr gebraucht werden, entferne ich sie nacheinander. Beispielhaft sieht das so aus:

sudo lvremove /dev/vg0/root
sudo lvremove /dev/vg0/var
sudo lvremove /dev/vg0/varlib
sudo lvremove /dev/vg0/opt
sudo lvremove /dev/vg0/home
sudo lvremove /dev/vg0/www
sudo lvremove /dev/vg0/matrix
sudo lvremove /dev/vg0/swap

Ich verwende hier bewusst kein -y. LVM zeigt vor jedem Löschen noch einmal das Ziel und fragt nach. Diese Pause ist bei einem Produktivserver hilfreich. Taucht ein Name nicht genau so in lvs auf, wird der Befehl nicht passend gemacht, sondern die Situation erneut geprüft.

Wichtig: lvremove löscht das gewählte Logical Volume samt Inhalt. Ohne Backup und sichere Zuordnung gibt es hier nichts auszuprobieren.

Den freien Platz an /srv geben

Nach dem Löschen zeigt vgs, wie viel Platz in vg0 wieder frei ist:

sudo vgs
sudo lvs

Diesen gesamten freien Bereich kann mein Datenvolume bekommen:

sudo lvextend -l +100%FREE -r /dev/vg0/srv

Mit -r wird auch das unterstützte Dateisystem angepasst. Danach kontrolliere ich nicht nur die LVM-Anzeige, sondern auch den tatsächlich nutzbaren Platz:

sudo lvs
sudo vgs
df -h /srv
findmnt /srv

Nun liegen auf dem HDD-Verbund nur noch die großen Daten, für die ich ihn behalten wollte. Das System und die häufiger benutzten Dienste arbeiten von der SSD. Eigentlich genau die Trennung, die ich vor dem Umbau im Kopf hatte.

Warum ich nicht sofort aufgeräumt habe

Freier Speicher ist nett, aber eine funktionierende Rückfallebene war mir wichtiger. Erst als Debian mehrfach von der SSD gestartet war, Docker, Matrix und die anderen Dienste wieder liefen und meine Sicherungen erreichbar waren, konnten die alten Volumes weg.

Habt ihr nach einer Migration ebenfalls erst einmal das alte System liegen lassen oder räumt ihr sofort auf? Ich schlafe mit ein paar Tagen Abstand jedenfalls ruhiger.

LVM unter Linux – die Serie