Proxmox local-lvm neu Partitionieren

Inhaltsverzeichnis

Vorraussetzung:

  • Proxmox Single Node
  • Hetzner StorageBox als SMB/CIFS Speicher eingebunden
  • (Optional) PBS Server z.B. als VM lokal

Was habe ich:

  • Proxmox Singel-Node mit einer 2 TB NVME. Standardinstallation als ext4 mit LVM.
  • Die local Partition hat eine 100 GB Standardgröße und befindet sich auf der Rootpartition /var/lib/vz (= „local“). Diese kann unter anderem als Backup genutzt werden oder für ISO Dateien usw.
  • local-lvm ist der LVM-Thin-Pool, auf welcher die eigentlichen VM/CT laufen.
  • Verschiedene VMs die migriert werden müssen. Dafür nutze ich die StorageBox um meine VMs vor der Partitionierung extern zu sichern und sie später wieder zurück zu migrieren.

Am besten man macht das bevor man VMs installiert.

Ziel:

  • local auf 100 GB lassen, da diese die Rootpartition ist.
  • local-lvm verkleinern von ~1,9TB auf ~800GB für VM/CT.
  • Neues Volumen erstellen mit dem gesamten freien Speicherplatz für Backups, ISO usw.
  • Dieses Volumen in Proxmox mounten unter /mnt/backup.
  • PBS inkrementelle Backups auf das neue separate Volumen „backup“.

Ich weiß, Backups gehören extern und nicht auf die selbe HDD.

Vorbereitung:

  • Alte Backups/ISO usw. entfernen oder verschieben auf die StorageBox.
  • Aktuelle Backups der VMs auf der StorageBox erstellen!
  • Alle VMs in Proxmox löschen. Diese werden Später von der StorageBox wieder zurückgespielt. Achtet also darauf, dass ihr wirklich alles gesichert habt.

Vorher:

Nacher:

Partitionierung:

1.

  • Thin-Pool löschen
				
					lvremove /dev/pve/data
				
			
  • Mit y bestätigen
  • Prüfen
				
					vgs
				
			
  • Freier Platz ~1.9 TB verfügbar.

2.

  • Thin-Pool neu erstellen (800 GB)
				
					lvcreate -L 800G -T pve/data
				
			
  • Pool ist jetzt genau 800 GB groß.

3.

  • Neues Backup-LV mit dem gesamten freien Platz erstellen
				
					lvcreate -l 100%FREE -n backup pve
				
			
  • Dateisystem auf Backup-LV erstellen
				
					mkfs.ext4 /dev/pve/backup
				
			
  • Mountpoint anlegen
				
					mkdir -p /mnt/backup
				
			
  • Automatisch beim Booten mounten
				
					echo "/dev/pve/backup /mnt/backup ext4 defaults 0 2" >> /etc/fstab
mount -a
				
			
				
					systemctl daemon-reload
				
			
  • Prüfen, ob Backup-LV korrekt gemountet ist
				
					df -h | grep backup
				
			
				
					Das sollte dann so aussehen:

root@pve1:~# df -h | grep backup
/dev/mapper/pve-backup                          1.1T  2.1M  1.1T   1% 
/mnt/backup
				
			

4.

In Proxmox GUI einbinden

  • Rechenzentrum → Storage → Hinzufügen → Verzeichnis
  • Verzeichnis: /mnt/backup
  • Inhalt: Backup, ISO usw. was man halt haben möchte

5.

Die VMs können von der StorageBox auf local-lvm zurückgespielt werden.

6.

  • Hat alles funktioniert, sollte nun auch nach einem Neustart des Server unser neues Volumen erscheinen und kann z.B. für Dateien, ISO, Backups usw. genutzt werden.

PBS Server (Optional)

1.

Wir erstellen auf dem Volumen „PBS-Backup“ ein VirtIO Block Laufwerk für den PBS Server.

  • PBS Server VM auswählen.
  • Hardware und Hinzufügen –> Laufwerk. Ich vergebe hier eine Disk größe von 200GB.

Ihr könnt eine Disk jederzeit vergrößern, aber nicht verkleinern. Fangt also lieber etwas kleiner an und vergrößert diese nach Bedarf.

2.

  • PBS Server starten und einloggen.
  • Dann geht zu Administrator –> >_ Shell
				
					lsblk
				
			
  • Laufwerk formatieren
				
					mkfs.ext4 /dev/vda
				
			
  • Mount Punkt erstellen
				
					mkdir -p /pbs/datastore
				
			
  • Laufwerk mounten
				
					mount /dev/vda /pbs/datastore
				
			
  • Automatisch beim booten mounten (fstab)
				
					echo "/dev/vda /pbs/datastore ext4 defaults,discard 0 0" >> /etc/fstab
				
			
  • Datastore hinzu fügen
  • Nun gehen wir im PBS zu Berechtigungen und erstellen einen neuen Benutzer.
    • Benutzer: pbsbackup
    • Passwort: 7i8@sdfd7z389iuw
  • Geben dem Benutzer die korrekten Berechtigungen für unseren Datastore
  • Beim Datastore gehen wir auf das Menü Inhalt und definieren noch Namespace z.B. für VMs. Damit lassen sich diese aufteilen in verschiedene Gruppen und es landet nicht alles im Verzeichnis root.
  • Ihr könnt hier verschiedene Gruppen erstellen um so den Überblick zu behalten z.B.

    • VM für Virtuelle Maschinen
    • CT für LXC Container
    • Server
    • Desktop usw.
  • Jeden Namespace bindet ihr später in Proxmox als eigenes Backup Volumen ein z.B.

    • PBS-VM
    • PBS-CT usw.

Beim Proxmox gehen wir auf Rechenzentrum –> Storage –> Hinzufügen und wählen „Proxmox Backup Server“

  • ID: Kann frei gewählt werden
  • Server: Die LAN IP des PBS z.B. 10.10.2.10
  • Benutzername: pbsbackup@pbs
  • Passwort: 7i8@sdfd7z389iuw
  • Datastore: PBS-Backup
  • Namespace: VM
  • Fingerabdruck: Diesen findet ihr im PBS unter Dashboard „Fingerabdruck anzeigen“

Die verschiedenen Volumen im Überblick

  1. Die neue Partition für alles mögliche
  2. Backup für PBS Server
  3. Für alles mögliche aber eben nur 100 GB groß
  4. VM/CT
  • Backup über PBS (Inkrementel) einrichten
  • Rechenzentrum –> Backup
  • Prune- und Verifizierungs-Jobs sollten im PBS dann manuelle an die Bedürfnisse angepasst werden.
  • Hat alles funktioniert, erscheinen nun auf dem Laufwerk PBS-VM die Backups, welche der PBS nach dem ersten Vollbackup als inkrementell anlegt.

Anhang:

Überblick der Befehle und deren Ausgabe:

				
					root@pve1:~# lvremove /dev/pve/data
Do you really want to remove active logical volume pve/data? [y/n]: y
  Consider pruning pve VG archive with more than 151 MiB in 1917 files (see archiving settings in lvm.conf).
  Logical volume "data" successfully removed.
  
------------------------------------------------

root@pve1:~# vgs
  VG  #PV #LV #SN Attr   VSize  VFree 
  pve   1   2   0 wz--n- <2.00t <1.90t
  
------------------------------------------------

root@pve1:~# lvcreate -L 800G -T pve/data
  Thin pool volume with chunk size 512.00 KiB can address at most 127.00 TiB of data.
  WARNING: Pool zeroing and 512.00 KiB large chunk size slows down thin provisioning.
  WARNING: Consider disabling zeroing (-Zn) or using smaller chunk size (<512.00 KiB).
  Consider pruning pve VG archive with more than 151 MiB in 1918 files (see archiving settings in lvm.conf).
  Consider pruning pve VG archive with more than 151 MiB in 1919 files (see archiving settings in lvm.conf).
  Consider pruning pve VG archive with more than 151 MiB in 1920 files (see archiving settings in lvm.conf).
  Logical volume "data" created.
  
-----------------------------------------------
  
root@pve1:~# mkfs.ext4 /dev/pve/backup

mke2fs 1.47.2 (1-Jan-2025)
Discarding device blocks: done                            
Creating filesystem with 300102656 4k blocks and 75030528 inodes
Filesystem UUID: 15bd4426-57d5-4433-b12f-0ba3d3c23553
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
        102400000, 214990848

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done     

-----------------------------------------------

root@pve1:~# mkdir -p /mnt/backup

-----------------------------------------------

root@pve1:~# echo "/dev/pve/backup /mnt/backup ext4 defaults 0 2" >> /etc/fstab
mount -a
mount: (hint) your fstab has been modified, but systemd still uses
       the old version; use 'systemctl daemon-reload' to reload.

-----------------------------------------------

root@pve1:~# systemctl daemon-reload

-----------------------------------------------

root@pve1:~# df -h | grep backup
/dev/mapper/pve-backup                          1.1T  2.1M  1.1T   1% 
/mnt/backup
				
			

Schreibe einen Kommentar