lvm System - Partition vergrößern

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
AxelMD
Beiträge: 1405
Registriert: 15.03.2009 08:02:11

lvm System - Partition vergrößern

Beitrag von AxelMD » 02.01.2021 20:29:28

Hallo Forum,

wie kann ich bei

Code: Alles auswählen

sudo parted -l
Model: QEMU QEMU HARDDISK (scsi)
Disk /dev/sda: 21,0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  538MB   537MB   primary  ext4         boot
 2      538MB   21,0GB  20,4GB  primary               lvm


Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/debian--buster--20201122-swap: 537MB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Disk Flags: 

Number  Start  End    Size   File system     Flags
 1      0,00B  537MB  537MB  linux-swap(v1)


Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/debian--buster--20201122-root: 19,9GB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Disk Flags: 

Number  Start  End     Size    File system  Flags
 1      0,00B  19,9GB  19,9GB  ext4
die Partition " 1 1049kB 538MB 537MB primary ext4 boot" vergrößern?

Welche Schritte sind erforderlich?
Es handel sich um einen vServer.

MfG
AxelMD

Benutzeravatar
jph
Beiträge: 1081
Registriert: 06.12.2015 15:06:07
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Greven/Westf.

Re: lvm System - Partition vergrößern

Beitrag von jph » 03.01.2021 12:01:46

Oh, das ist Mist – die Partition sda1 ist nämlich außerhalb des LVM. Wenn du die vergrößern wolltest, müsstest du das Physical Volume des LVM (sda2) nicht nur verkleinern, sondern auch den Anfang der Partition verschieben.

Für mich sieht das nach einer vollgelaufenen /boot-Partition aus. Das kannst du beheben, indem du unbenutzte Kernel löschst.

Falls du dich dennoch an der Operation versuchen möchtest:
  1. Du verkleinerst die Dateisysteme in den Logical Volumes und anschließend die Logical Volumes selbst. (Geht bei diversen Dateisystemen über lvresize -r in einem Rutsch.)
  2. Du verkleinerst das Physical Volume und anschließend dessen Partition. Der Anfang bleibt an der gleichen Stelle.
  3. Im frei gewordenen Bereich legst du eine neue Partition sda3 an. Die fügst als neues PV der vorhandenen Volume Group hinzu.
  4. Mit pvmove verlagerst du die Daten vom alten ins neue PV.
  5. Anschließend entfernst du das alte PV aus der VG und löscht die Partition sda2.
  6. Nun vergrößerst du sda1 und das darin enthaltene Dateisystem.
  7. Im verbleibenden freien Teil legst du eine neue Partition sda2 an und fügst diese als PV der VG hinzu.
  8. Du vergrößerst die LV und die Dateisysteme.
Die ganze Operation ist so richtig schön aufwändig, weil du mit Partitionen hantieren musst. Genau um das zu vermeiden, hat man LVM erfunden. Ich würde das zunächst in einer VM testen. Danach weißt du, ob es funktioniert (ich hab’s nicht getestet, sollte aber klappen) und bekommst hoffentlich ausreichend Sicherheit im Umgang mit LVM.

Du kannst die Änderungen nicht aus dem laufenden System heraus durchführen, weil sich die Dateisysteme nicht resizen lassen, wenn sie gemountet sind. Bei XFS bist du am A..., weil sich das nicht verkleinern lässt.

AxelMD
Beiträge: 1405
Registriert: 15.03.2009 08:02:11

Re: lvm System - Partition vergrößern

Beitrag von AxelMD » 03.01.2021 15:05:13

Für mich sieht das nach einer vollgelaufenen /boot-Partition aus. Das kannst du beheben, indem du unbenutzte Kernel löschst.
Woran erkennst Du das, wie kommst Du zu der Vermutung?

df sagt

Code: Alles auswählen

 df
Dateisystem                               1K-Blöcke Benutzt Verfügbar Verw% Eingehängt auf
udev                                         450572       0    450572    0% /dev
tmpfs                                         93308     492     92816    1% /run
/dev/mapper/debian--buster--20201122-root  18990928 8369392   9633788   47% /
tmpfs                                        466524       0    466524    0% /dev/shm
tmpfs                                          5120       0      5120    0% /run/lock
tmpfs                                        466524       0    466524    0% /sys/fs/cgroup
/dev/sda1                                    499656   84508    378452   19% /boot
tmpfs                                         93304       0     93304    0% /run/user/1000
Du kannst die Änderungen nicht aus dem laufenden System heraus durchführen, weil sich die Dateisysteme nicht resizen lassen, wenn sie gemountet sind.
Gparted läßt sich nicht booten.
Was sollte ich für einen Live Boot verwenden?
Welche Iso ist schön klein, mit dem ich die Vorgänge ausführen?
Minimal-CD: debian-10.7.0-amd64-netinst.iso (336 MB) ?

Code: Alles auswählen

/dev/sda1                                    499656   84508    378452   19% /boot
537MB x 0,81 = 434,97MB habe sind frei, das wird wohl knapp.

Welche Tools benötige ich da, sind die alle auf dem Iso?


Alternative:
grml64-small_2018.12.iso / ca. 313 MB
grml32-small_2020.06.iso / ca. 342 MB
Leider auch nicht:

Code: Alles auswählen

Schreiben nach »grml64-full_2020.06.iso« nicht möglich (Auf dem Gerät ist kein Speicherplatz mehr verfügbar).

Code: Alles auswählen

ls -la
insgesamt 477012
drwxr-xr-x  5 root root      4096 Jan  3 16:04 .
drwxr-xr-x 23 root root      4096 Dez 14 16:42 ..
-rw-r--r--  1 root root    206143 Okt 18 10:43 config-4.19.0-12-amd64
-rw-r--r--  1 root root    206269 Nov 28 08:47 config-4.19.0-13-amd64
drwxr-xr-x  2 root root      4096 Jul 22  2018 grml
-rw-r--r--  1 root root 414367744 Jan  3 16:05 grml64-full_2020.06.iso
drwxr-xr-x  5 root root      4096 Jan  2 20:47 grub
-rw-r--r--  1 root root  28066537 Nov 22 04:16 initrd.img-4.19.0-12-amd64
-rw-r--r--  1 root root  28164291 Dez 14 16:51 initrd.img-4.19.0-13-amd64
drwx------  2 root root     16384 Nov 22 04:01 lost+found
-rw-r--r--  1 root root   3415048 Okt 18 10:43 System.map-4.19.0-12-amd64
-rw-r--r--  1 root root   3419998 Nov 28 08:47 System.map-4.19.0-13-amd64
-rw-r--r--  1 root root   5278960 Okt 18 10:43 vmlinuz-4.19.0-12-amd64
-rw-r--r--  1 root root   5283056 Nov 28 08:47 vmlinuz-4.19.0-13-amd64
Kernel 4.19.0-12 kann weg.

Code: Alles auswählen

apt purge linux-image-4.19.0-12-amd64 
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
Die folgenden Pakete werden ENTFERNT:
  linux-image-4.19.0-12-amd64*
0 aktualisiert, 0 neu installiert, 1 zu entfernen und 0 nicht aktualisiert.
Nach dieser Operation werden 270 MB Plattenplatz freigegeben.
Ergebnis:

Code: Alles auswählen

/dev/sda1                                    499656   48400    414560   11% /boot
537 MB x 0,89 = 477,93 MB


Dein vServer konnte ich nun mit einem Rettungssystem booten.

Wie nun weiter, welche CLI Befehle benötige ich um die lvm Partition zu verkleinern und ext4 Partition zu vergrößern?

Benutzeravatar
jph
Beiträge: 1081
Registriert: 06.12.2015 15:06:07
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Greven/Westf.

Re: lvm System - Partition vergrößern

Beitrag von jph » 03.01.2021 17:59:15

AxelMD hat geschrieben: ↑ zum Beitrag ↑
03.01.2021 15:05:13
Für mich sieht das nach einer vollgelaufenen /boot-Partition aus. Das kannst du beheben, indem du unbenutzte Kernel löschst.
Woran erkennst Du das, wie kommst Du zu der Vermutung?
Das hat mir mein Kater eingeflüstert. Vergiss die Aussage :-)
AxelMD hat geschrieben: ↑ zum Beitrag ↑
03.01.2021 15:05:13
Gparted läßt sich nicht booten.
Was sollte ich für einen Live Boot verwenden?
Welche Iso ist schön klein, mit dem ich die Vorgänge ausführen?
Du brauchst an und für sich nur Debianlvm2, Debiane2fsprogs und Debianutil-linux, das ist alles auf den mir bekannten Rettungs-CDs vorhanden. Ich nutze grml. Aber wie man bei einem Vserver ein Rettungssystem bootet, kann ich leider nicht beantworten. Vielleicht wird das sogar vom Hoster angeboten?
AxelMD hat geschrieben: ↑ zum Beitrag ↑
03.01.2021 15:05:13
Wie nun weiter, welche CLI Befehle benötige ich um die lvm Partition zu verkleinern und ext4 Partition zu vergrößern?
Die Partition sda1 kannst du nicht vergrößern. Das geht nur in fdisk per löschen und neu (und größer) bei gleichbleibendem Startsektor anlegen. Danach kannst du das Dateisystem mit resize2fs vergrößern.

Hier die wichtigsten LVM-Befehle – lies die Details bitte in den Manpages nach.
  • Infos zur Volume Group/zum Physical Volume/zum Logical Volume: vgdisplay/pvdisplay/lvdisplay
  • LV vergrößern/verkleinern: lvresize, beachte den Parameter -r
  • PV vergrößern/verkleinern: pvresize
  • PV erzeugen: pvcreate
  • PV zur VG hinzufügen/entfernen: vgextend/vgreduce
  • Extents zwischen PV verschieben: pvmove (du kannst nur unbenutzte PV entfernen, daher musst du die belegten Extents verschieben)
  • ext4 vergrößern/verkleinenrn: resize2fs
Was ich noch gefunden habe: https://wiki.debian.org/LVM. Da solltest du m.E. mindestens den ersten Abschnitt „Presentation“ lesen wegen der Definition grundlegender Konzepte.

Und, und das ist wirklich, wirklich ernst gemeint: üb das bitte vorher in einer VM. Die kannst du einfach zurücksetzen, wenn es irgendwo klemmen sollte. Mit Debianvirt-manager ist sowas ja schnell aufgesetzt. Kleines Debian, im Installer LVM auswählen, keinen Desktop installieren, damit es schnell geht.

AxelMD
Beiträge: 1405
Registriert: 15.03.2009 08:02:11

Re: lvm System - Partition vergrößern

Beitrag von AxelMD » 03.01.2021 18:45:58

Das grml64-small_2018.12.iso kann ich starten.

Zugriff auf grml per ssh habe ich auch.

Wie aber weiter mit den Details?
Hier die wichtigsten LVM-Befehle – lies die Details bitte in den Manpages nach.
Haben wir nicht irgendwo ein Wiki ein Tutorial?
Am besten wo codes angezeigt werden.

Code: Alles auswählen

vgdisplay/pvdisplay/lvdisplay
lvresize    ## beachte den Parameter -r
pvresize
pvcreate
vgextend/vgreduce
pvmove ## (du kannst nur unbenutzte PV entfernen, daher musst du die belegten Extents verschieben) ext4 vergrößern/verkleinenrn: resize2fs

Antworten