Direkt zum Hauptinhalt

Mehre LVMS Volumes online zu einem Zusammen führen

Beschreibung:

Unglücklicher weise, wurde ien System aus mehreren LVM Volumes a 4GB Größe gebaut.
Das eigentliche root System aht dadurch viel zu wenig Platz.
jetzt wollen wir die anderen LVM Volumes wieder Auflösen und die Daten migrieren auf das root Laufwerk.

Ausgangspunkt:

NAME              MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                 8:0    0   72G  0 disk
├─sda1              8:1    0    1G  0 part /boot
├─sda2              8:2    0    8G  0 part [SWAP]
└─sda3              8:3    0   63G  0 part
  ├─rootvg-lvroot 253:0    0    3G  0 lvm  /
  ├─rootvg-lvusr  253:1    0    6G  0 lvm  /usr
  ├─rootvg-lvhome 253:2    0    1G  0 lvm  /home
  ├─rootvg-lvsrv  253:3    0    1G  0 lvm  /srv
  ├─rootvg-lvopt  253:4    0    1G  0 lvm  /opt
  ├─rootvg-lvvar  253:5    0    4G  0 lvm  /var
  ├─rootvg-lvlog  253:6    0    4G  0 lvm  /var/log
  └─rootvg-lvtmp  253:7    0    4G  0 lvm  /tmp

Wir wollen alle lvs-* loswerden bis auf lvroot und das mit der Gesamtkapazität wachsen lassen.

Durchführung:

Wir starten mit dem TMP Laufwerk.
Dazu erst die Daten in ein Zwischenverzeichnis kopieren.
Hoffentlich ist auf root dann dafür auch noch genug Platz....

rsync -aAXv /tmp/ /home/tmp_backup/

Nun das Laufwerk aushängen. Da es ja benutzt wird mit dem befehl -l für lazy

umount /tmp -l

Nun die Daten aus unserem zwischenverzeichnis in das ursprüngliche Verzeichnis zurückkopieren.

rsync -aAXv /home/tmp_backup/ /tmp/

Falls in der fstab das Laufwerk zum Automount drin steht dieses entfernen und das System neustarten.

nano /etc/fstab

Nun folgendes abändern bzw auskommentieren, hier unser TMP Verzeichnis

/dev/mapper/rootvg-lvopt /opt                    xfs     defaults        0 0
/dev/mapper/rootvg-lvsrv /srv                    xfs     defaults        0 0
/dev/mapper/rootvg-lvtmp /tmp                    xfs     defaults        0 0
/dev/mapper/rootvg-lvusr /usr                    xfs     defaults        0 0
/dev/mapper/rootvg-lvvar /var                    xfs     defaults        0 0
zu 
/dev/mapper/rootvg-lvopt /opt                    xfs     defaults        0 0
/dev/mapper/rootvg-lvsrv /srv                    xfs     defaults        0 0
# /dev/mapper/rootvg-lvtmp /tmp                    xfs     defaults        0 0
/dev/mapper/rootvg-lvusr /usr                    xfs     defaults        0 0
/dev/mapper/rootvg-lvvar /var                    xfs     defaults        0 0
         

Nun das System neustarten.

reboot

Nun kann das LV Volume gelöscht werden.
Vorher aber noch überpüfen, ob es gemountet ist, falls der unmount Befehl nicht gegriffen ahben sollte.
Wenn eine leere Ausgabe zurück kommt.
Wurde das Laufwerk ausgehängt

mount | grep lvtmp

Nun löschen, mit dem Paramter -f nutzen wir die zwingen Methode. Sicher ist sicher

lvremove -f /dev/rootvg/lvtmp

Ausgabe

Logical volume "lvtmp" successfully removed

Nun das lvroot erweitern

lvextend -l +100%FREE /dev/rootvg/lvroot

Nun nun ahben wir auch noch den restlichen freien Speicher der keinem Volume zugefügt  wurde auch noch mit dran gehangen.
Siehe lsblk

NAME              MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                 8:0    0   72G  0 disk
├─sda1              8:1    0    1G  0 part /boot
├─sda2              8:2    0    8G  0 part [SWAP]
└─sda3              8:3    0   63G  0 part
  ├─rootvg-lvroot 253:0    0 45.8G  0 lvm  /
  ├─rootvg-lvusr  253:1    0    6G  0 lvm  /usr
  ├─rootvg-lvhome 253:2    0    1G  0 lvm  /home
  ├─rootvg-lvsrv  253:3    0    1G  0 lvm  /srv
  ├─rootvg-lvopt  253:4    0    1G  0 lvm  /opt
  ├─rootvg-lvvar  253:5    0    4G  0 lvm  /var
  └─rootvg-lvlog  253:6    0    4G  0 lvm  /var/log

Nun noch das Dateisystem vergößern.
mit df -h sehen wir die Zuordnung

[root@catl02v406 tmp]# df -h
Filesystem                 Size  Used Avail Use% Mounted on
devtmpfs                   3.9G     0  3.9G   0% /dev
tmpfs                      3.9G  8.0K  3.9G   1% /dev/shm
tmpfs                      3.9G  8.7M  3.9G   1% /run
tmpfs                      3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/mapper/rootvg-lvroot  3.0G  2.0G  1.1G  67% /
/dev/mapper/rootvg-lvusr   6.0G  6.0G   20K 100% /usr
/dev/mapper/rootvg-lvopt  1014M   40M  975M   4% /opt
/dev/mapper/rootvg-lvhome 1014M  927M   88M  92% /home
/dev/sda1                  976M  202M  708M  23% /boot
/dev/mapper/rootvg-lvvar   4.0G  3.7G  354M  92% /var
/dev/mapper/rootvg-lvsrv  1014M   40M  975M   4% /srv
/dev/mapper/rootvg-lvlog   4.0G  345M  3.7G   9% /var/log

Dateisystem erweitern:

Überprüfen welches Dateisystem vorhanden ist:

file -sL /dev/rootvg/lvroot

Ausgabe, wie wir sehen XFS:

/dev/rootvg/lvroot: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)

Asugabe: Wie wir sehen EXT2,EXT3,EXT4

/dev/rootvg/lvroot: Linux rev 1.0 ext4 filesystem data, UUID=[unique-UUID], volume name "lvroot" (needs journal recovery) (extents) (64bit) (large files) (huge files)

bei EXT2,EXt3,EXT4 benutzen wir e2fsck zum vergrößern

e2fsck -f /dev/rootvg/lvroot

Und bei XFS benutzen wir

xfs_growfs /dev/rootvg/lvroot

Nun sehen wir wieder mit df- h das, das Volume vergößert wurde.

[root@catl02v406 dev]# df -h
Filesystem                 Size  Used Avail Use% Mounted on
devtmpfs                   3.9G     0  3.9G   0% /dev
tmpfs                      3.9G  8.0K  3.9G   1% /dev/shm
tmpfs                      3.9G  8.7M  3.9G   1% /run
tmpfs                      3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/mapper/rootvg-lvroot   46G  2.3G   44G   6% /
/dev/mapper/rootvg-lvusr   6.0G  6.0G   20K 100% /usr
/dev/mapper/rootvg-lvopt  1014M   40M  975M   4% /opt
/dev/mapper/rootvg-lvhome 1014M  927M   88M  92% /home
/dev/sda1                  976M  202M  708M  23% /boot
/dev/mapper/rootvg-lvvar   4.0G  3.7G  364M  92% /var
/dev/mapper/rootvg-lvsrv  1014M   40M  975M   4% /srv
/dev/mapper/rootvg-lvlog   4.0G  345M  3.7G   9% /var/log

Das ganze wiederholen wir für die anderen Volumes auch.