Ubuntu installiert das Physical Volume bei der Erstinstallation in eine separate (zweite) Partition, da die erste Partition ohne LVM für /boot eingerichtet wird:
root@ubuntu1604lts:~/ # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom vda 253:0 0 15G 0 disk ├─vda1 253:1 0 487M 0 part /boot └─vda2 253:2 0 7,5G 0 part ├─vg00-root 252:0 0 1,9G 0 lvm / ├─vg00-swap 252:1 0 1,9G 0 lvm [SWAP] ├─vg00-tmp 252:3 0 488M 0 lvm /tmp ├─vg00-var 252:4 0 1,9G 0 lvm /var └─vg00-home 252:5 0 1,5G 0 lvm /home vdb 253:16 0 20G 0 disk └─vg01-opt 252:2 0 10G 0 lvm /opt |
Hat man bei der Ersteinrichtung zu knapp gedacht, kann es passieren, dass die root-Partition vollläuft:
root@ubuntu1604lts:~/ # df -h Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf udev 981M 0 981M 0% /dev tmpfs 201M 3,2M 197M 2% /run /dev/mapper/vg00-root 1,8G 1,8G 0 100% / tmpfs 1001M 0 1001M 0% /dev/shm tmpfs 5,0M 0 5,0M 0% /run/lock tmpfs 1001M 0 1001M 0% /sys/fs/cgroup /dev/vda1 464M 106M 331M 25% /boot /dev/mapper/vg00-tmp 465M 2,3M 434M 1% /tmp /dev/mapper/vg00-home 1,5G 2,3M 1,4G 1% /home /dev/mapper/vg01-opt 9,8G 23M 9,2G 1% /opt /dev/mapper/vg00-var 1,8G 630M 1,1G 37% /var tmpfs 201M 0 201M 0% /run/user/0 |
Wenn man jetzt für die VM die Festplatte vergrößert, ändert das leider nichts am Dateisystem, da die Partition und damit das LVM Physical Volume gleich groß geblieben ist:
root@ubuntu1604lts:~/ # pvdisplay /dev/vda2 --- Physical volume --- PV Name /dev/vda2 VG Name vg00 PV Size 7,52 GiB / not usable 3,00 MiB Allocatable yes (but full) PE Size 4,00 MiB Total PE 1925 Free PE 0 Allocated PE 1925 PV UUID ubAhLP-Od1g-7U3V-qj7O-dAws-CLuc-ePRnQ9 |
Jetzt also der große Moment, die benutzte Partition online zu vergrößern, ohne dass die vorhandenen Daten Schaden nehmen. Dazu eignet sich hervorragend parted (auch ohne GUI = gparted). Dazu kann man den dialoggesteuerten Modus starten und sich erst mal ein paar Informationen anzeigen lassen:
root@ubuntu1604lts:~/ # parted GNU Parted 3.2 /dev/mapper/vg00-var wird verwendet Willkommen zu GNU Parted! Rufen Sie »help« auf, um eine Liste der verfügbaren Befehle zu erhalten. (parted) select /dev/vda /dev/vda wird verwendet (parted) unit MiB (parted) print free Modell: Virtio Blockorientiertes Gerät (virtblk) Festplatte /dev/vda : 15360MiB Sektorgröße (logisch /physisch ): 512B /512B Partitionstabelle: msdos Disk-Flags: Nummer Anfang Ende Größe Typ Dateisystem Flags 0,03MiB 1,00MiB 0,97MiB Freier Platz 1 1,00MiB 488MiB 487MiB primary ext4 boot 2 488MiB 8191MiB 7703MiB primary LVM 8191MiB 15360MiB 7169MiB Freier Platz |
Wenn standardmäßig ein anderes, als die gewünschte Partition verwendet wird, muss man mit select erst in die entsprechende wechseln. Mit unit kann man mit unterschiedlichen Speichergrößen arbeiten. Wer jetzt versucht die Partition mit resizepart zu vergrößern, wird meistens scheitern, weil die Umrechnungen der Anzeige zu ungenau sind, um sie in den Änderungsangaben zu verwenden:
(parted) resizepart Partitionsnummer? 2 Ende? [8191MiB]? 15360MiB Fehler: Der Ort 15360MiB ist außerhalb des Geräts /dev/vda . |
Also erst einmal die Einheiten auf absolute Werte wie Sektoren einstellen und noch einmal versuchen. Da man sich diese auch so anzeigen lassen kann, kann man sich den Wert prima kopieren:
(parted) unit s (parted) print free Modell: Virtio Blockorientiertes Gerät (virtblk) Festplatte /dev/vda : 31457280s Sektorgröße (logisch /physisch ): 512B /512B Partitionstabelle: msdos Disk-Flags: Nummer Anfang Ende Größe Typ Dateisystem Flags 63s 2047s 1985s Freier Platz 1 2048s 999423s 997376s primary ext4 boot 2 999424s 16775167s 15775744s primary LVM 16775168s 31457279s 14682112s Freier Platz (parted) resizepart Partitionsnummer? 2 Ende? [16775167s]? 31457279s |
Zeigt man sich dann das Ergebnis mit den vorherigen Einheiten an, erkennt man auch die Vergrößerung und kann das Programm verlassen:
(parted) unit MiB (parted) print free Modell: Virtio Blockorientiertes Gerät (virtblk) Festplatte /dev/vda : 15360MiB Sektorgröße (logisch /physisch ): 512B /512B Partitionstabelle: msdos Disk-Flags: Nummer Anfang Ende Größe Typ Dateisystem Flags 0,03MiB 1,00MiB 0,97MiB Freier Platz 1 1,00MiB 488MiB 487MiB primary ext4 boot 2 488MiB 15360MiB 14872MiB primary LVM (parted) quit Informationen: Möglicherweise müssen Sie /etc/fstab anpassen. |
Jetzt nur noch das LVM Physical und Logical Volume und das Dateisystem der gewünschten Partition vergrößern und fertig:
root@ubuntu1604lts:~/ # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom vda 253:0 0 15G 0 disk ├─vda1 253:1 0 487M 0 part /boot └─vda2 253:2 0 14,5G 0 part ├─vg00-root 252:0 0 1,9G 0 lvm / ├─vg00-swap 252:1 0 1,9G 0 lvm [SWAP] ├─vg00-tmp 252:3 0 488M 0 lvm /tmp ├─vg00-var 252:4 0 1,9G 0 lvm /var └─vg00-home 252:5 0 1,5G 0 lvm /home vdb 253:16 0 20G 0 disk └─vg01-opt 252:2 0 10G 0 lvm /opt root@ubuntu1604lts:~/ # pvdisplay /dev/vda2 --- Physical volume --- PV Name /dev/vda2 VG Name vg00 PV Size 7,52 GiB / not usable 2,00 MiB Allocatable yes (but full) PE Size 4,00 MiB Total PE 1925 Free PE 0 Allocated PE 1925 PV UUID ubAhLP-Od1g-7U3V-qj7O-dAws-CLuc-ePRnQ9 root@ubuntu1604lts:~/ # pvresize /dev/vda2 Physical volume "/dev/vda2" changed 1 physical volume(s) resized / 0 physical volume(s) not resized root@ubuntu1604lts:~/ # pvdisplay /dev/vda2 --- Physical volume --- PV Name /dev/vda2 VG Name vg00 PV Size 14,52 GiB / not usable 3,00 MiB Allocatable yes PE Size 4,00 MiB Total PE 3717 Free PE 1792 Allocated PE 1925 PV UUID ubAhLP-Od1g-7U3V-qj7O-dAws-CLuc-ePRnQ9 root@ubuntu1604lts:~/ # lvresize -L +5G /dev/vg00/root Size of logical volume vg00 /root changed from 1,86 GiB (476 extents) to 6,86 GiB (1756 extents). Logical volume root successfully resized. root@ubuntu1604lts:~/ # resize2fs /dev/vg00/root resize2fs 1.42.13 (17-May-2015) Dateisystem bei /dev/vg00/root ist auf / eingehängt; Online-Größenänderung ist erforderlich old_desc_blocks = 1, new_desc_blocks = 1 Das Dateisystem auf /dev/vg00/root is nun 1798144 (4k) Blöcke lang. root@ubuntu1604lts:~/ # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom vda 253:0 0 15G 0 disk ├─vda1 253:1 0 487M 0 part /boot └─vda2 253:2 0 14,5G 0 part ├─vg00-root 252:0 0 6,9G 0 lvm / ├─vg00-swap 252:1 0 1,9G 0 lvm [SWAP] ├─vg00-tmp 252:3 0 488M 0 lvm /tmp ├─vg00-var 252:4 0 1,9G 0 lvm /var └─vg00-home 252:5 0 1,5G 0 lvm /home vdb 253:16 0 20G 0 disk └─vg01-opt 252:2 0 10G 0 lvm /opt root@ubuntu1604lts:~/ # df -h Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf udev 981M 0 981M 0% /dev tmpfs 201M 3,2M 197M 2% /run /dev/mapper/vg00-root 6,8G 1,8G 4,7G 28% / tmpfs 1001M 0 1001M 0% /dev/shm tmpfs 5,0M 0 5,0M 0% /run/lock tmpfs 1001M 0 1001M 0% /sys/fs/cgroup /dev/vda1 464M 106M 331M 25% /boot /dev/mapper/vg00-tmp 465M 2,3M 434M 1% /tmp /dev/mapper/vg00-home 1,5G 2,3M 1,4G 1% /home /dev/mapper/vg01-opt 9,8G 23M 9,2G 1% /opt /dev/mapper/vg00-var 1,8G 630M 1,1G 37% /var tmpfs 201M 0 201M 0% /run/user/0 |
Ergebnis: root-Partition vergrößert, ohne das System offline zu nehmen und ohne Daten zu verlieren.