251 lines
No EOL
9.9 KiB
Markdown
251 lines
No EOL
9.9 KiB
Markdown
---
|
||
title: Vergrößerung des Festplattenspeichers einer VM
|
||
description:
|
||
published: true
|
||
date: 2024-02-10T23:03:06.260Z
|
||
tags:
|
||
editor: markdown
|
||
dateCreated: 2024-02-10T23:03:06.260Z
|
||
---
|
||
|
||
## Vergrößerung des Festplattenspeichers einer VM
|
||
|
||
Der nachfolgende Abschnitt zeigt anhand einer Schritt-für-Schritt Anleitung, wie Sie das LVM nun vergrößern.
|
||
|
||
### Vergrößern des Festplattenspeichers auf VMware Ebene
|
||
|
||
Durch Rechtsklick auf die VM im vSphere Client und durch Klick auf "Edit Settings" erhält man den Dialog zum Konfigurieren der Einstellungen der VM.
|
||
|
||
- Hier wählt man die Festplatte aus und vergrößert diese um die gewünschte Größe. In unserem Beispiel von 20GB auf 25 GB.
|
||
|
||
![120px-hdd-vergroessern_5a555dc2be9b4c07ae9b7780ffc.png](/_ressorces_expand-space/120px-hdd-vergroessern_5a555dc2be9b4c07ae9b7780ffc.png)
|
||
|
||
- Nach einem Reboot der VM ergibt sich nun dieses Bild.
|
||
|
||
![120px-cfdisk2_7efc57f0aec44b2eb9e36ea767f5dda2.png](/_ressorces_expand-space/120px-cfdisk2_7efc57f0aec44b2eb9e36ea767f5dda2.png)
|
||
|
||
### Möglichkeit 1: Erstellen einer weiteren Partition
|
||
|
||
Um nun diesen zusätzlichen Festplattenspeicher nutzen zu können, muss zunächst eine weitere Partition (z. B. mittels dem Tool cfdisk) erstellt werden. Dazu hebt man den freien Speicher mittels Cursortasten hervor und wählt New > Primary > komplett verfügbaren Speicher (falls gewünscht). Abschließend sieht die Partitionierung wie in folgendem Screenshot aus.
|
||
|
||
- [![Abschließend muss die neue Partitionstabelle noch per "Write" geschrieben werden und das Partitionstool per "Quit" verlassen werden.](:/9bbf690293b4481fba3b0aafbfc8676d)](https://www.thomas-krenn.com/de/wiki/Datei:Cfdisk3.png "Abschließend muss die neue Partitionstabelle noch per "Write" geschrieben werden und das Partitionstool per "Quit" verlassen werden.")
|
||
|
||
Abschließend muss die neue Partitionstabelle noch per "Write" geschrieben werden und das Partitionstool per "Quit" verlassen werden.
|
||
|
||
|
||
Damit man die Vergrößerung fortsetzen kann, muss die Partitionstabelle neu eingelesen werden. Um einen weiteren Reboot zu vermeiden, kann man die Partitionstabelle mit dem Kommando "partprobe" (Bestandteil des Paketes "parted") neu einlesen.
|
||
|
||
### Initialisieren der neuen Partition als PV (Physical Volume)
|
||
|
||
Damit diese zusätzliche Partition nun für LVM genutzt werden kann und einer VG zugewiesen werden kann, muss sie zunächst als PV initialisiert werden:
|
||
|
||
```
|
||
vm208:~# pvs oder pvdisplay
|
||
PV VG Fmt Attr PSize PFree
|
||
/dev/sda2 vm208 lvm2 a- 19,75G 0
|
||
vm208:~# pvcreate /dev/sda3
|
||
Physical volume "/dev/sda3" successfully created
|
||
vm208:~# pvs
|
||
PV VG Fmt Attr PSize PFree
|
||
/dev/sda2 vm208 lvm2 a- 19,75G 0
|
||
/dev/sda3 lvm2 -- 5,00G 5,00G
|
||
vm208:~#
|
||
```
|
||
|
||
### Vergrößern der VG
|
||
|
||
Damit man wie gewünscht das LV "root" vergrößern kann, muss zuvor noch die entsprechende VG vergrößert werden:
|
||
|
||
```
|
||
vm208:~# vgs oder vgdisplay
|
||
VG #PV #LV #SN Attr VSize VFree
|
||
vm208 1 6 0 wz--n- 19,75G 0
|
||
vm208:~# vgextend vm208 /dev/sda3
|
||
Volume group "vm208" successfully extended
|
||
vm208:~# vgs
|
||
VG #PV #LV #SN Attr VSize VFree
|
||
vm208 2 6 0 wz--n- 24,75G 5,00G
|
||
vm208:~#
|
||
```
|
||
|
||
### Möglichkeit 2: Partition mit growpart vergrößern
|
||
|
||
Installation von Growpart mit:
|
||
|
||
```
|
||
apt install cloud-initramfs-growroot
|
||
```
|
||
|
||
bzw. für AlmaLinux, CentOS und RedHat Systeme:
|
||
|
||
```
|
||
dnf install cloud-utils-growpart
|
||
```
|
||
|
||
Verwenden Sie folgenden growpart-Befehl, um die Partition zu vergrößern:
|
||
|
||
```
|
||
[root@localhost ~]# growpart /dev/gerätename
|
||
Beispiel:
|
||
|
||
[root@localhost ~]# growpart /dev/sda 2
|
||
```
|
||
|
||
Beachten Sie, dass zwischen dem Gerätenamen und der Partitionsnummer ein Leerzeichen ist.
|
||
|
||
### Logical Volume manuell vergrößern
|
||
|
||
Um Detailinformationen zu den Physical Volumes anzuzeigen, geben Sie den folgenden Befehl ein:
|
||
|
||
```
|
||
[root@localhost ~]# pvs oder pvdisplay
|
||
--- Physical volume ---
|
||
PV Name /dev/sda2
|
||
VG Name centos
|
||
PV Size <79.50 GiB / not usable 30.00 MiB
|
||
Allocatable yes (but full)
|
||
PE Size 32.00 MiB
|
||
Total PE 2543
|
||
Free PE 0
|
||
Allocated PE 2543
|
||
PV UUID 6FKWEG-OnkG-QxZt-m7TB-wiDb-K9P6-I403lP
|
||
```
|
||
|
||
Um das Physical Volume zu vergrößern, geben Sie den folgenden Befehl ein:
|
||
|
||
```
|
||
[root@localhost ~]# pvresize /dev/sda2
|
||
```
|
||
|
||
Nach der Eingabe des Befehls wird die folgende Information angezeigt:
|
||
|
||
```
|
||
[root@localhost ~]# pvresize /dev/sda2
|
||
Physical volume "/dev/sda2" changed
|
||
1 physical volume(s) resized or updated / 0 physical volume(s) not resize
|
||
```
|
||
|
||
### Vergrößern des LV
|
||
|
||
Als nächstes kann nun das LV "root" vergrößert werden:
|
||
|
||
~~~
|
||
vm208:~# lvs oder lvdisplay
|
||
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
|
||
home vm208 -wi-ao 10,54G
|
||
root vm208 -wi-ao 332,00M
|
||
swap\_1 vm208 -wi-ao 1,07G
|
||
tmp vm208 -wi-ao 380,00M
|
||
usr vm208 -wi-ao 4,66G
|
||
var vm208 -wi-ao 2,79G
|
||
~~~
|
||
|
||
~~~
|
||
vm208:~# lvextend -L 1G /dev/mapper/vm208-root
|
||
Extending logical volume root to 1,00 GB
|
||
Logical volume root successfully resized
|
||
~~~
|
||
|
||
~~~
|
||
vm208:~# lvs oder lvdisplay
|
||
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
|
||
home vm208 -wi-ao 10,54G
|
||
root vm208 -wi-ao 1,00G
|
||
swap\_1 vm208 -wi-ao 1,07G
|
||
tmp vm208 -wi-ao 380,00M
|
||
usr vm208 -wi-ao 4,66G
|
||
var vm208 -wi-ao 2,79G
|
||
~~~
|
||
|
||
In diesem Beispiel vergrößern wir das LV root nur auf ca. 1GB. Den restlichen freie Speicher für die VG vm208 heben wir uns für eine spätere Verwendung für z. B. andere LV auf.
|
||
|
||
**Hinweis:** Bei dem lvextend Kommando wird nicht angegeben um wieviel das LV vergrößert werden soll, sondern auf welche Endgröße es vergrößert werden soll. Alternativ kann man auch ein + vor die Größe setzen, dann wird das LV um die angegebene Größe vergrößert.
|
||
|
||
### Vergrößern des LV auf die maximale Größe
|
||
|
||
Um den sämtlichen nicht zugeordneten Speicherplatz für das logical Volume zu verwenden, ist folgendes Kommando erforderlich:
|
||
|
||
`lvextend -l +100%FREE /dev/mapper/vm208-root`
|
||
|
||
### Vergrößern des Dateisystems
|
||
|
||
Um den zusätzlichen Speicherplatz auch nutzen zu können, muss abschließend noch das Dateisystem vergrößert werden. In unserem Beispiel wird **ext3** als Dateisystem verwendet, welches diese Vergrößerung (auch im eingehängten Zustand) problemlos unterstützt:
|
||
|
||
~~~
|
||
vm208:~# df -h
|
||
Dateisystem Größe Benut Verf Ben% Eingehängt auf
|
||
/dev/mapper/vm208-root
|
||
322M 175M 131M 58% /
|
||
tmpfs 187M 0 187M 0% /lib/init/rw
|
||
udev 10M 616K 9,4M 7% /dev
|
||
tmpfs 187M 0 187M 0% /dev/shm
|
||
/dev/sda1 228M 28M 189M 13% /boot
|
||
/dev/mapper/vm208-home
|
||
11G 155M 9,7G 2% /home
|
||
/dev/mapper/vm208-tmp
|
||
368M 11M 339M 3% /tmp
|
||
/dev/mapper/vm208-usr
|
||
4,6G 332M 4,1G 8% /usr
|
||
/dev/mapper/vm208-var
|
||
2,8G 281M 2,4G 11% /var
|
||
|
||
~~~
|
||
|
||
Anschließend das Dateisystem auf der Partition mit folgendem Befehl vergrößern (falls es eine ext4 Partition ist):
|
||
|
||
~~~
|
||
resize2fs -p /dev/mapper/vm208-root
|
||
~~~
|
||
|
||
~~~
|
||
|
||
resize2fs 1.41.3 (12-Oct-2008)
|
||
Das Dateisystem auf /dev/mapper/vm208-root ist auf / eingehängt; Online-Grössenveränderung nötig
|
||
old desc\_blocks = 2, new\_desc\_blocks = 4
|
||
Führe eine Online-Grössenänderung von /dev/mapper/vm208-root auf 1048576 (1k) Blöcke durch.
|
||
Das Dateisystem auf /dev/mapper/vm208-root ist nun 1048576 Blöcke groß.
|
||
|
||
vm208:~# df -h
|
||
Dateisystem Größe Benut Verf Ben% Eingehängt auf
|
||
/dev/mapper/vm208-root
|
||
993M 176M 766M 19% /
|
||
tmpfs 187M 0 187M 0% /lib/init/rw
|
||
udev 10M 616K 9,4M 7% /dev
|
||
tmpfs 187M 0 187M 0% /dev/shm
|
||
/dev/sda1 228M 28M 189M 13% /boot
|
||
/dev/mapper/vm208-home
|
||
11G 155M 9,7G 2% /home
|
||
/dev/mapper/vm208-tmp
|
||
368M 11M 339M 3% /tmp
|
||
/dev/mapper/vm208-usr
|
||
4,6G 332M 4,1G 8% /usr
|
||
/dev/mapper/vm208-var
|
||
2,8G 281M 2,4G 11% /var
|
||
~~~
|
||
|
||
Falls die Vergrößerung eines LVs mit *resize2fs -p /dev/mapper/vm208-root* nicht funktionieren sollte, kann alternativ folgender Befehl verwendet werden (Danke an Daniel Friedlmaier für den Hinweis):
|
||
|
||
`lvextend --resizefs -l +100%FREE /dev/mapper/vm208-root`
|
||
|
||
Bei einem XFS-Dateisystem können Sie mit dem Befehl *xfs\_growfs* das Dateisystem vergrößern (Danke an Tim Duelken für den Hinweis):<sup>[\[1\]](#cite_note-1)</sup>
|
||
|
||
`xfs_growfs /dev/mapper/<lv-name>`
|
||
|
||
## Zusammenfassung der Schritte
|
||
|
||
1. Vergrößern des Festplattenspeichers (auf physikalischer oder VMware Ebene)
|
||
2. Neustarten der Maschine, damit der zusätzliche Festplattenspeicher erkannt wird
|
||
3. Erstellen einer weiteren Partition z. B. mittels `cfdisk`
|
||
4. Partitionstabelle neu Einlesen, z. B. per Reboot oder per Kommando `partprobe`
|
||
5. Initialisieren einer neuen PV mittels `pvcreate`
|
||
6. Vergrößern der VG mittels `vgextend`
|
||
7. Vergrößern des LV mittels `lvextend`
|
||
8. Vergrößern des Dateisystems z. B. mittels `resize2fs`
|
||
|
||
## Quellen
|
||
|
||
https://code.netzlink.com/sri/nlipedia/-/blob/master/teams/support/prometheus-runbook.md?ref_type=heads
|
||
|
||
https://www.ionos.de/hilfe/server-cloud-infrastructure/serveradministration/logical-volume-nach-vergroesserung-der-ssd-anpassen/logical-volume-nach-vergroesserung-der-ssd-in-centos-7-anpassen-cloud-server/
|
||
|
||
https://www.thomas-krenn.com/de/wiki/LVM_vergr%C3%B6%C3%9Fern |