Erweitern eines LVM-Datenträgers (ohne Änderung seiner Struktur)¶
Hinweis
Der Logical Volume Manager (LVM) ist ein Subsystem der Betriebssysteme Linux und OS/2, das es ermöglicht, verschiedene Bereiche desselben Datenträgers und/oder Bereiche verschiedener Festplatten als ein einziges logisches Volume zu verwenden. Es wird mit Hilfe des Device-Mapper-Subsystems implementiert. LVM fügt eine Abstraktionsebene zwischen den physischen/logischen Datenträgern (herkömmliche Partitionen, die von fdisk und ähnlichen Programmen verwaltet werden) und dem Dateisystem ein. Dies wird dadurch erreicht, dass die ursprünglichen Partitionen in Blöcke zerlegt werden. Dabei werden entweder einzelne Partitionen oder Blockstrukturen (physisches Volume (pv)) verwendet und diese zu einem einzigen virtuellen Volume oder genauer gesagt einer Volume Group (vg) zusammengefasst, die wiederum in logische Volumes (lv) unterteilt wird. Für das Dateisystem erscheint das logische Volume als eine gewöhnliche Blockstruktur, obwohl die einzelnen pv des Volumes auf einer Reihe von physischen Strukturen liegen können (und sogar das pv selbst kann ähnlich wie bei RAID verteilt sein).
Source data
Operating system | Linux (Ubuntu 16.04.6 LTS) |
File system | ext4 |
Method of allocation of hard disk space | LVM |
Initial size of volume | 5ГБ |
Size of volume after expansion | 10ГБ |
Mit dem Befehl fdisk kann man sehen, dass die Größe des Datenträgers auf der Seite des Betriebssystems (/dev/vda) 10 GB beträgt, die Größe der Partition auf der Seite des LVM (/dev/vda1) jedoch 5 GB.
fdisk -l /dev/vda
Disk /dev/vda: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x71473ce9
Device Boot Start End Sectors Size Id Type
/dev/vda1 * 2048 10483711 10481664 5G 8e Linux LVM
Die nächste Reihe von Aktionen wird dazu führen, dass die Root-Partition den gesamten verfügbaren Datenträger belegt.
1. Schauen Sie sich den aktuellen Zustand der Root-Partition an: Vor der Änderung ist sie 4,8 GB groß.
df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg0-rootfs 4.8G 1.8G 2.8G 40% /
- Erweitern Sie die Partition vda1 mit der Software Parted auf 10 GB.
- Öffnen (‘Open’) Sie den Datenträger mit dem Befehl ‘Parted’.
parted /dev/vda
- Überprüfen des Zustands des Datenträgers insgesamt und der darauf befindlichen Partitionen
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 5368MB 5367MB primary boot, lvm
- Ändern Sie die Größe der Partition Nr. 1 (aktuelle Größe 5367 MB) auf die maximal mögliche Größe. Die Zahl dafür entnehmen Sie der Beschreibung des Datenträgers im vorherigen Punkt (10,7 GB).
(parted) resizepart 1
End? [5368MB]? 10.7GB
- Überprüfen Sie, ob die Partition vda1 nun den gesamten verfügbaren Speicherplatz (10 GB) belegt.
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 10.7GB 10.7GB primary boot, lvm
- Beenden Sie die Software
(parted) quit
- Erweitern Sie den LVM, der die Root-Partition enthält
- Erweitern Sie das physische Volume
pvresize /dev/vda1
Physical volume "/dev/vda1" changed
1 physical volume(s) resized / 0 physical volume(s) not resized
- Erneutes Scannen der logischen Partitionen
lvscan
ACTIVE '/dev/vg0/rootfs' [5.00 GiB] inherit
- Erweitern Sie das logische Volume auf die maximal verfügbare Größe. Nehmen Sie den Namen des Volumes aus dem vorherigen Punkt
lvextend /dev/vg0/rootfs -l +100%FREE
Size of logical volume vg0/rootfs changed from 5.00 GiB (1279 extents) to 9.96 GiB (2550 extents).
Logical volume rootfs successfully resized.
4. Erweitern Sie das Dateisystem auf die maximal verfügbare Größe (nehmen Sie den Namen des Datenträgers aus Punkt 1).
resize2fs /dev/mapper/vg0-rootfs
resize2fs 1.42.13 (17-May-2015)
Filesystem at /dev/mapper/vg0-rootfs is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/mapper/vg0-rootfs is now 2611200 (4k) blocks long.
5. Überprüfen Sie, ob die Änderungen erfolgreich durchgeführt wurden. Sehen Sie sich dazu die aktuelle Größe der Root-Partition an. Sie beträgt jetzt 9,7 GB.
df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg0-rootfs 9.7G 1.9G 7.5G 20% /