PVE Umzug auf größere SSD und Partition vergrößern - Wie vorgehen?

matt69

Member
Nov 12, 2023
69
11
8
Info, falls jemand diesen Thread gefunden hat.
Die Lösung und eine Anleitung steht weiter unten in
Post #12.


Hallo,

aktuell läuft PVE auf einer 64 GB SSD.
Ich würde gerne auf eine 256 SSD umziehen und die Partition vergrößern.
Wie sollte ich dazu vorgehen, damit die Kiste hinterher wieder läuft?

Mein Gedanke:
Clonezilla auf USB-Stick und mit Clonezilla booten.
Eingebaute 64 GB SSD auf 256 GB SSD am USB-Port clonen.
SSDs tauschen.
Dann die PVE-Partition /dev/sda3 vergrößern, aber wie?
Kann man das aus der PVE heraus machen?

So sieht es jetzt aus:

Code:
# fdisk -l /dev/sda
Disk /dev/sda: 59.63 GiB, 64023257088 bytes, 125045424 sectors
Disk model: 64GB SATA Flash
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: gpt
Disk identifier: 12345678-1234-1234-1234-123456789012

Device       Start       End   Sectors  Size Type
/dev/sda1       34      2047      2014 1007K BIOS boot
/dev/sda2     2048   1050623   1048576  512M EFI System
/dev/sda3  1050624 125045390 123994767 59.1G Linux LVM

Code:
# lsblk
NAME                         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                            8:0    0 59.6G  0 disk
├─sda1                         8:1    0 1007K  0 part
├─sda2                         8:2    0  512M  0 part /boot/efi
└─sda3                         8:3    0 59.1G  0 part
  ├─pve-swap                 252:0    0  7.4G  0 lvm  [SWAP]
  ├─pve-root                 252:1    0 24.9G  0 lvm  /
  ├─pve-data_tmeta           252:2    0    1G  0 lvm
  │ └─pve-data-tpool         252:4    0 17.4G  0 lvm
  │   ├─pve-data             252:5    0 17.4G  1 lvm
  │   ├─pve-vm--100--disk--0 252:6    0    8G  0 lvm
  │   └─pve-vm--101--disk--0 252:7    0    8G  0 lvm
  └─pve-data_tdata           252:3    0 17.4G  0 lvm
    └─pve-data-tpool         252:4    0 17.4G  0 lvm
      ├─pve-data             252:5    0 17.4G  1 lvm
      ├─pve-vm--100--disk--0 252:6    0    8G  0 lvm
      └─pve-vm--101--disk--0 252:7    0    8G  0 lvm

Code:
# blkid -o list
device                                     fs_type         label            mount point                                    UUID
---------------------------------------------------------------------------------------------------------------------------------------------------------------
/dev/mapper/pve-root                       ext4                             /                                              12345678-1234-1234-1234-123456789012
/dev/mapper/pve-vm--100--disk--0           ext4                             (in use)                                       12345678-1234-1234-1234-123456789012
/dev/mapper/pve-swap                       swap                             [SWAP]                                         12345678-1234-1234-1234-123456789012
/dev/mapper/pve-vm--101--disk--0           ext4                             (in use)                                       12345678-1234-1234-1234-123456789012
/dev/sda2                                  vfat                             /boot/efi                                      1234-1234
/dev/sda3                                  LVM2_member                      (in use)                                       123456-1234-1234-1234-1234-1234-123456
/dev/sda1                                                                   (not mounted)

VG
matt69
 
Last edited:
Dann die PVE-Partition /dev/sda3 vergrößern, aber wie?
Kann man das aus der PVE heraus machen?
Die Partition auf der geklonten 256GB Disk, kann am einfachsten mit einem grafischen Tool wie GParted vergrößert werden. Dazu gibt es auch ein Live-Image mit dem man von z.B. einem einem USB-Stick booten kann. Da es bei solchen Aktionen immer ein gewisses Risiko an Datenverlust gibt, ist es wichtig die Daten auf der Originalen 64GB Disk währendessen als Backup beizubehalten.

Wenn die Partition erfolgreich vergrößert wurde und PVE startet, kann in PVE noch die pve-root partition im LVM vergrößert werden:
Code:
lvextend --resizefs -L +100G /dev/mapper/pve-root
 
  • Like
Reactions: matt69
Wenn die Partition erfolgreich vergrößert wurde und PVE startet, kann in PVE noch die pve-root partition im LVM vergrößert werden:
Code:
lvextend --resizefs -L +100G /dev/mapper/pve-root
Wird damit dann automatisch auch /dev/sda3 vergößert?
Ist /dev/mapper/pve-root das logische Laufwerk von /dev/sda3?

Wenn ich das Maximum nutzen will, muss dann der Parameter +100G einfach größer als der freie Platz sein?
Finde dazu nichts aussagekräftiges.
https://linux.die.net/man/8/lvextend

EDIT:
Warum ist /dev/mapper/pve-root auf der 64 GB SSD nur 25G groß?
Bewusst habe ich nichts eingeschränkt.
Code:
# df -h
Filesystem                                             Size  Used Avail Use% Mounted on
udev                                                  3.8G     0  3.8G   0% /dev
tmpfs                                                  776M  2.5M  773M   1% /run
/dev/mapper/pve-root                                    25G  7.1G   17G  31% /
tmpfs                                                  3.8G   37M  3.8G   1% /dev/shm
tmpfs                                                  5.0M     0  5.0M   0% /run/lock
efivarfs                                               384K   97K  283K  26% /sys/firmware/efi/efivars
/dev/sda2                                              511M  344K  511M   1% /boot/efi
/dev/fuse                                              128M   20K  128M   1% /etc/pve
tmpfs                                                  776M     0  776M   0% /run/user/0
 
Last edited:
Wird damit dann automatisch auch /dev/sda3 vergößert?
Ist /dev/mapper/pve-root das logische Laufwerk von /dev/sda3?
Bei der /dev/sda3 Partition handelt es sich um ein LVM. Diese enthält wiederum Partitionen wie pve-root . Um also pve-root zu vergrößern muss zuerst /dev/sda3 vergrößert werden. Das kann wie gesagt mit GParted gemacht werden.
Erst wenn /dev/sda3 vergrößert wurde können die darin liegenden Partition wie pve-root vergrößert werden.

Wenn ich das Maximum nutzen will, muss dann der Parameter +100G einfach größer als der freie Platz sein?
Mit -l +100%FREE wird der restliche freie Platz genutzt:
Code:
lvextend --resizefs -l +100%FREE /dev/mapper/pve-root
 
  • Like
Reactions: matt69
Warum ist /dev/mapper/pve-root auf der 64 GB SSD nur 25G groß?
Bewusst habe ich nichts eingeschränkt.
Damit noch Platz für andere Daten wie VM Disks bleibt.

Ist von lsblk auch schön veranschaulicht:
Code:
NAME                         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                            8:0    0 59.6G  0 disk
├─sda1                         8:1    0 1007K  0 part
├─sda2                         8:2    0  512M  0 part /boot/efi
└─sda3                         8:3    0 59.1G  0 part
  ├─pve-swap                 252:0    0  7.4G  0 lvm  [SWAP]
  ├─pve-root                 252:1    0 24.9G  0 lvm  /
  ├─pve-data_tmeta           252:2    0    1G  0 lvm
  │ └─pve-data-tpool         252:4    0 17.4G  0 lvm
  │   ├─pve-data             252:5    0 17.4G  1 lvm
  │   ├─pve-vm--100--disk--0 252:6    0    8G  0 lvm
  │   └─pve-vm--101--disk--0 252:7    0    8G  0 lvm
  └─pve-data_tdata           252:3    0 17.4G  0 lvm
    └─pve-data-tpool         252:4    0 17.4G  0 lvm
      ├─pve-data             252:5    0 17.4G  1 lvm
      ├─pve-vm--100--disk--0 252:6    0    8G  0 lvm
      └─pve-vm--101--disk--0 252:7    0    8G  0 lvm
 
Last edited:
  • Like
Reactions: matt69
Das korrekte Vorgehen zum Vergrößeren einer LVM steht hier:
https://forum.proxmox.com/threads/pve-umzug-auf-größere-ssd-und-partition-vergrößern-wie-vorgehen.141453/#post-635210

@fschauer hat leider Mist verzapft.

Folgendes bitte NICHT machen, um eine LVM zu vergrößeren:

Ich habe die SSD gecloned und die Partition /dev/sda3 vergößert.
Proxmox läuft wieder.

Clonezilla auf USB-Stick und mit Clonezilla gebootet.
Eingebaute 64 GB SSD auf 256 GB SSD am USB-Port gecloned.
GParted auf USB-Stick und mit GParted gebootet.
Partition /dev/sda3 auf 256 GB SSD am USB-Port vergrößert bis Maximum.
SSDs getauscht.
Proxmox von neuer 256 GB SSD gebootet.

/dev/mapper/pve-root vergrößert:
Code:
# lvextend --resizefs -l +100%FREE /dev/mapper/pve-root
  Size of logical volume pve/root changed from <24.94 GiB (6384 extents) to 32.31 GiB (8272 extents).
  Logical volume pve/root successfully resized.
resize2fs 1.47.0 (5-Feb-2023)
Filesystem at /dev/mapper/pve-root is mounted on /; on-line resizing required
old_desc_blocks = 4, new_desc_blocks = 5
The filesystem on /dev/mapper/pve-root is now 8470528 (4k) blocks long.
 
Last edited:
So geht das nicht. Du hättest für den freien Platz eine neue Parttion anlegen müssen. Dann vgextend <gewünschte vg die grösser werden soll> /dev/neue Partion durchführen. Dann lvextend wie oben ... oder direkt mit -L+xxG
 
  • Like
Reactions: matt69
Bei der /dev/sda3 Partition handelt es sich um ein LVM. Diese enthält wiederum Partitionen wie pve-root . Um also pve-root zu vergrößern muss zuerst /dev/sda3 vergrößert werden. Das kann wie gesagt mit GParted gemacht werden.

Man kann mit gparted keinen LVM vergrössern. Hintergrund ist das der LVM eine eigene Datenbank führt wo die Grössen der Volumegroups drinstehen. Den korrekten Weg habe ich einen Beitrag weiter oben geschrieben.
 
So geht das nicht. Du hättest für den freien Platz eine neue Parttion anlegen müssen. Dann vgextend <gewünschte vg die grösser werden soll> /dev/neue Partion durchführen. Dann lvextend wie oben ... oder direkt mit -L+xxG
Kann ich jetzt die Partiton mit GParted wieder verkleinern und das so machen?
Oder habe ich mir mit lvextend --resizefs -l +100%FREE /dev/mapper/pve-root auf der neuen 256 GB SSD was vermurkst?
 
Nix vermurkst ;) ja sollte funktionieren. Mit Gparted verkleinern, Platz freilassen. Dann im Proxmox mit cfdisk eine neue Partition anlegen, die auf LVM setzen (wichtig). Dann siehe oben...
https://www.thomas-krenn.com/de/wiki/LVM_vergrößern da kannst Du Schritt für Schritt lesen wie man es macht. Alternativ gibt es auch ein ubuntu-wiki mit ähnlich guter Anleitung. Ich habe den Verdacht die arbeiten zusammen ;) Und keine Angst LVM ist auf allen Linuxsystemen gleich.
 
  • Like
Reactions: matt69
@uschatko
Vielen Dank für die Informationen. :)

Nix vermurkst ;) ja sollte funktionieren. Mit Gparted verkleinern, Platz freilassen. Dann im Proxmox mit cfdisk eine neue Partition anlegen, die auf LVM setzen (wichtig). Dann siehe oben...
https://www.thomas-krenn.com/de/wiki/LVM_vergrößern da kannst Du Schritt für Schritt lesen wie man es macht.
Ich habe heute nochmal die 64 GB SSD auf 256 GB SSD gecloned.
Bin dann nach der Anleitung im Thomas-Krenn-Wiki vorgegangen.
Und nun sollte es passen.

Verstehe @fschauer nicht, wie man solche Infos verbreiten kann, die überhaupt nicht stimmen. :mad:
Und dann nicht mal mehr melden.
 
Last edited:
  • Like
Reactions: uschatko
*** LVM-Partition vergrößern ***

Nachfolgend beschreibe ich nochmal ausführlicher, wie die LVM-Partition vergrößert wird, wenn man Proxmox auf eine größere Platte/SSD umzieht.

Das Vorgehen passiert hauptsächlich auf dieser Anleitung:
https://www.thomas-krenn.com/de/wiki/LVM_vergrößern
Weitere Quellen sind im Text verlinkt.

Wichtig bei Proxmox!
https://pve.proxmox.com/wiki/Logical_Volume_Manager_(LVM)
Es gibt drei Logical Volumes: pve-root, pve-data, pve-swap
Beim Vergrößern beachten, dass pve-data vermutlich den meisten Platz benötigt, weil es die Container und VMs enthält.
Code:
root = Formatted as ext4, and contains the operating system.
swap = Swap partition
data = This volume uses LVM-thin, and is used to store VM images.
       LVM-thin is preferable for this task, because it offers
       efficient support for snapshots and clones.

Konfiguration des LVM (Logical Volume Manager) anzeigen
Code:
pvs     # Physical Volumes anzeigen
vgs     # Volume Groups anzeigen
lvs     # Logical Volumes anzeigen
df -h
lsblk

Weitere Partition (z. B. mittels dem Tool cfdisk) erstellen
/dev/sda4 = neue Partition
Code:
cfdisk
Reboot oder Partitionstabelle mit dem Kommando partprobe (Bestandteil des Paketes "parted") neu einlesen.

Initialisieren der neuen Partition als PV (Physical Volume)
Code:
pvs
pvcreate /dev/sda4
pvs

Vergrößern der VG pve (Volume Groups)
Code:
vgs
vgextend pve /dev/sda4
vgs


pve-root - Vergrößern des LV (Logical Volumes)
Gesamtgröße 30 GB
Code:
lvs
lvextend -L 30G /dev/mapper/pve-root
lvs

pve-root - Vergrößern des Dateisystems
Code:
df -h
resize2fs -p /dev/mapper/pve-root
df -h

Alternative Syntax
Falls die Vergrößerung eines LVs mit
resize2fs -p /dev/mapper/pve-root
nicht funktionieren sollte, kann folgender Befehl verwendet werden:
Code:
lvextend --resizefs -L 30G /dev/mapper/pve-root


pve-data - Vergrößern des LV (Logical Volumes)
Gesamtgröße 40 GB
Code:
lvextend -L 40G /dev/mapper/pve-data

pve-data - Vergrößern des Dateisystems
https://pve.proxmox.com/wiki/Logical_Volume_Manager_(LVM)#_resizing_the_thin_pool
Wichtig!
Bei der Erweiterung des data pool muss auch der metadata pool erweitert werden!
Gesamtgröße 40 GB
Code:
lvresize -L 40G --poolmetadatasize 40G /dev/mapper/pve-data


Stand vor dem Vergrößern:
Code:
# lsblk
NAME                         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                            8:0    0 59.6G  0 disk
├─sda1                         8:1    0 1007K  0 part
├─sda2                         8:2    0  512M  0 part /boot/efi
└─sda3                         8:3    0 59.1G  0 part
  ├─pve-swap                 252:0    0  7.4G  0 lvm  [SWAP]
  ├─pve-root                 252:1    0 24.9G  0 lvm  /
  ├─pve-data_tmeta           252:2    0    1G  0 lvm
  │ └─pve-data-tpool         252:4    0 17.4G  0 lvm
  │   ├─pve-data             252:5    0 17.4G  1 lvm
  │   ├─pve-vm--100--disk--0 252:6    0    8G  0 lvm
  │   └─pve-vm--101--disk--0 252:7    0    8G  0 lvm
  └─pve-data_tdata           252:3    0 17.4G  0 lvm
    └─pve-data-tpool         252:4    0 17.4G  0 lvm
      ├─pve-data             252:5    0 17.4G  1 lvm
      ├─pve-vm--100--disk--0 252:6    0    8G  0 lvm
      └─pve-vm--101--disk--0 252:7    0    8G  0 lvm


Ergebnis nach dem Vergrößern:
Code:
# lsblk
NAME                         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda                            8:0    0 238.5G  0 disk
├─sda1                         8:1    0  1007K  0 part
├─sda2                         8:2    0   512M  0 part /boot/efi
├─sda3                         8:3    0  59.1G  0 part
│ ├─pve-swap                 252:0    0   7.4G  0 lvm  [SWAP]
│ ├─pve-root                 252:1    0    30G  0 lvm  /
│ ├─pve-data_tmeta           252:2    0  15.9G  0 lvm
│ │ └─pve-data-tpool         252:4    0    40G  0 lvm
│ │   ├─pve-data             252:5    0    40G  1 lvm
│ │   ├─pve-vm--100--disk--0 252:6    0     8G  0 lvm
│ │   ├─pve-vm--101--disk--0 252:7    0     8G  0 lvm
│ │   └─pve-vm--102--disk--0 252:8    0     8G  0 lvm
│ └─pve-data_tdata           252:3    0    40G  0 lvm
│   └─pve-data-tpool         252:4    0    40G  0 lvm
│     ├─pve-data             252:5    0    40G  1 lvm
│     ├─pve-vm--100--disk--0 252:6    0     8G  0 lvm
│     ├─pve-vm--101--disk--0 252:7    0     8G  0 lvm
│     └─pve-vm--102--disk--0 252:8    0     8G  0 lvm
└─sda4                         8:4    0 178.8G  0 part
  ├─pve-data_tmeta           252:2    0  15.9G  0 lvm
  │ └─pve-data-tpool         252:4    0    40G  0 lvm
  │   ├─pve-data             252:5    0    40G  1 lvm
  │   ├─pve-vm--100--disk--0 252:6    0     8G  0 lvm
  │   ├─pve-vm--101--disk--0 252:7    0     8G  0 lvm
  │   └─pve-vm--102--disk--0 252:8    0     8G  0 lvm
  └─pve-data_tdata           252:3    0    40G  0 lvm
    └─pve-data-tpool         252:4    0    40G  0 lvm
      ├─pve-data             252:5    0    40G  1 lvm
      ├─pve-vm--100--disk--0 252:6    0     8G  0 lvm
      ├─pve-vm--101--disk--0 252:7    0     8G  0 lvm
      └─pve-vm--102--disk--0 252:8    0     8G  0 lvm
 
  • Like
Reactions: seuthes
Du hättest für den freien Platz eine neue Parttion anlegen müssen. Dann vgextend <gewünschte vg die grösser werden soll> /dev/neue Partion durchführen. Dann lvextend wie oben ... oder direkt mit -L+xxG
Das ist natürlich eine Möglichkeit.

Man kann mit gparted keinen LVM vergrössern.
Seit 2012 kann gparted >= 0.14 ein LVM PV vergrößern. Im Hintergrund geschieht dies mit pvresize.
Quelle: Bugzilla Eintrag

Somit ist mein Vorschlag, das LVM PV zu vergrößern, nicht falsch und wurde bereits mehrmals erfolgreich von mir durchgeführt.
 
Die Partition auf der geklonten 256GB Disk, kann am einfachsten mit einem grafischen Tool wie GParted vergrößert werden. Dazu gibt es auch ein Live-Image mit dem man von z.B. einem einem USB-Stick booten kann.

Seit 2012 kann gparted >= 0.14 ein LVM PV vergrößern. Im Hintergrund geschieht dies mit pvresize.
Quelle: Bugzilla Eintrag
Mein GParted Live on USB konnte es leider nicht.
Es kam nach dem Vergrößeren ein LVM(?)-Fehler.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!