Proxmox Host SSD tauschen / clonen und vergrößern

Seit Ende 2021 betreibe ich mein Intel NUC 11 (RNUC11PAHi50000) als Proxmox-Host. Dort laufen einige Container, meine Home Assistant VM, meine Docker-Host VM und einige weitere VMs. Mit zunehmender Anzahl an Containern und VMs wurde mir die bisher verbaute 500-GB-SATA-SSD zu klein. Als Ersatz sollte eine 1-TByte-NVMe-SSD im M.2-Steckplatz zum Einsatz kommen.

Da mein Proxmox-Host super läuft, wollte ich diesen nicht neu installieren. Also suchte ich nach einer einfachen Möglichkeit, die alte auf die neue SSD zu clonen. Dabei habe ich natürlich direkt an Clonezilla gedacht. Also habe ich die ISO heruntergeladen und via Rufus auf einen USB-Stick gepackt. Anschließend dann vom USB-Stick gebootet und einen “device-to-device” Clonvorgang gestartet. Anfangs sah das ganze noch gut aus, allerdings lief Clonezilla bei der letzten Partition (/dev/nvme0n1p3) in einen Loop. Kurz nach der Meldung “successfully cloned” fing die Wiederherstellung der Partition von vorne an.

Nach kurzer Recherche habe ich herausgefunden, dass Clonezilla wohl generell Probleme mit LVM2 Thin Provisioning hat und auch andere Nutzer davon betroffen sind.

Kurzerhand habe ich dann nach der “successfully cloned” Meldung der letzten Partition das Stromkabel vom NUC entfernt. Daraufhin habe ich die SATA-SSD ausgebaut und im UEFI die NVMe-SSD als Bootdrive festgelegt. Das hat soweit geklappt und Proxmox ist erfolgreich gebootet. Das einzige Problem war, dass die LVM2-Partition nicht automatisch vergrößert wurde.

Aber kein Problem, das kann man ohne Probleme von Hand erledigen.

Partition vergrößern

Im ersten Schritt muss die LVM2-Partition vergrößert werden. Das funktioniert mit “fdisk”. Notiert euch dabei die Startposition von Partition 3. Anschließend könnt ihr Partition 3 entfernen und mit der vollen Größe anlegen. Achtet dabei, dass ihr die LVM2_member Signatur nicht löscht und den Partitionstyp auf “30” (Linux LVM) setzt. Zum Schluss können die Änderungen mit “w” geschrieben werden. Nachfolgend alle Infos zu den einzelnen Schritten:

fdisk /dev/nvme0n1

Welcome to fdisk (util-linux 2.36.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p
Disk /dev/nvme0n1: 953.87 GiB, 1024209543168 bytes, 2000409264 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: gpt
Disk identifier: 924B151C-5B6A-4F47-931E-88D9625AC43B

Device           Start        End   Sectors   Size Type
/dev/nvme0n1p1      34       2047      2014  1007K BIOS boot
/dev/nvme0n1p2    2048    1050623   1048576   512M EFI System
/dev/nvme0n1p3 1050624 1000215182 999164559 476.4G Linux LVM

Command (m for help): d
Partition number (1-3, default 3):

Partition 3 has been deleted.

Command (m for help): n
Partition number (3-128, default 3):
First sector (1050624-2000409230, default 1050624):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (1050624-2000409230, default 2000409230):

Created a new partition 3 of type 'Linux filesystem' and of size 953.4 GiB.
Partition #3 contains a LVM2_member signature.

Do you want to remove the signature? [Y]es/[N]o: n

Command (m for help): t
Partition number (1-3, default 3):
Partition type or alias (type L to list all): 30

Changed type of partition 'Linux filesystem' to 'Linux LVM'.

Command (m for help): w
The partition table has been altered.
Syncing disks.

Gegebenenfalls kann es notwendig sein, dass ihr noch die Partitionstabelle neu ladet, damit das Betriebssystem die Änderungen mitbekommt. Das kann mit “partx” oder “partprobe” erledigt werden. Alternativ funktioniert auch ein Neustart.

partx -u /dev/nvme0n1p3
partprobe /dev/nvme0n1p3

Physical Volume vergrößern

Nachdem die Partition vergrößert wurde, ist als nächstes das Physical Volume (PV) an der Reihe. Das ist ganz einfach und funktioniert mit diesem Befehl:

pvresize /dev/nvme0n1p3

Logical Volume vergrößern

Im letzten Schritt muss das Logical Volume (LV) vergrößert werden. Dies kann wahlweise auf die maximal verfügbare Größe erfolgen oder ihr könnt auch nur um eine fest definierte Größe erweitern.

lvresize -L +100%FREE pve/data

lvextend -L+10G pve/data
Size of logical volume pve/data_tdata changed from 142.00 GiB (36352 extents) to 154.00 GiB (39424 extents).
Logical volume pve/data_tdata successfully resized.

Wem das Ganze zu viel Arbeit ist, der kann natürlich Proxmox auch neu aufsetzen und die VM- und Container-Backups neu einspielen :-)

Quellen

https://help.univention.com/t/how-to-extend-disk-space/10647

Sie sehen gerade einen Platzhalterinhalt von Standard. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.

Mehr Informationen

Tobi

Hallo, mein Name ist Tobias und ich habe diesen Blog im April 2009 ins Leben gerufen. Seitdem blogge ich hier über Software, Internet, Windows und andere Themen, die mich interessieren. SSDblog ist mein zweiter Blog, indem es rund um das Thema SSDs geht. Ich würde mich freuen, wenn ihr meinen Feed abonniert oder mir auf Twitter und Facebook folgt.

3 Antworten

  1. Silvio sagt:

    Danke! Nach so einer Anleitung habe ich seit Stunden gesucht!

  2. 1ucky sagt:

    Hallo und vielen Dank für den Artikel, hat mir sehr geholfen, einen Klon aufzubauen von Proxmox :)

    Nur ein Hinweis:

    Der Befehl “lvresize -L +100%FREE pve/data” wollte bei mir nicht.

    Ich nam dann gemäß:

    https://serverfault.com/questions/1104527/how-to-resize-partitions-on-proxmox

    Den Befehl “lvresize –extents +100%FREE –resizefs /dev/xxxx/…” und es klappte :)

    Beste Grüße

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert