Klar, Backup ist Pflicht, wenn einem die Daten etwas wert sind :-) Ansonsten geht das im Betrieb, ohne Downtime:
# umount /home
# e2fsck -f /dev/mapper/vgarch-lvhome
# resize2fs /dev/mapper/vgarch-lvhome 880G
# lvresize -L 890G /dev/mapper/vgarch-lvhome
# resize2fs /dev/mapper/vgarch-lvhome
# mount /home
# lvresize -L +20G /dev/mapper/vgarch-lvroot
# resize2fs /dev/mapper/vgarch-lvroot
Das home-FS wird zuerst geschrumpft, kleiner als die Zielgröße, dann das LV verkleinert, dann das home-FS auf die Zielgröße erweitert. Der nun freigewordene Platz wird dem root-FS zugeschlagen und das root-FS erweitert. Ich bin dabei von ext4 ausgegangen.
Falls man den restlichen freien Platz dem root-FS zuschlagen will, dann ist das Argument dafür
-l +100%FREE. Wenn ich LVM verwende, dann vergebe ich nie den kompletten Platz der VG, sondern teile zwar großzügig, aber immer nur einen Teil zu und vergrößere nach Bedarf.