[SOLVED] Festplattenspeicher für VM - Verständnisproblem

Rallye

New Member
Jul 19, 2025
7
2
3
Hallo!

Ich habe mir eine VM angelegt und ihr einen Festplattenspeicher zugewiesen - default sind 32GB
Bildschirmfoto 2025-08-08 um 17.46.43.png

das df -h liefert folgendes:
Code:
df -h
Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              197M  1,1M  196M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   15G  5,4G  8,6G  39% /
tmpfs                              985M     0  985M   0% /dev/shm
tmpfs                              5,0M     0  5,0M   0% /run/lock
/dev/sda2                          2,0G  100M  1,7G   6% /boot
tmpfs                              197M   12K  197M   1% /run/user/1000
Nun sind das (wenn ich die Sizes addiere) etwas mehr als 18G. Wo ist der Rest auf die 32G? Ich habe das bei einer 2ten VM (beide Ubuntu) identisch.

lvs zeigt die 32G
Code:
lvs
  LV            VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  data          pve twi-aotz-- 813.62g             4.17   0.47                          
  root          pve -wi-ao----  96.00g                                                  
  swap          pve -wi-ao----   8.00g                                                  
  vm-100-disk-0 pve Vwi-aotz--   4.00m data        0.00                                  
  vm-100-disk-1 pve Vwi-aotz--  32.00g data        34.94                                
  vm-101-disk-0 pve Vwi-aotz--  32.00g data        20.75                                
  vm-102-disk-0 pve Vwi-aotz--   6.00g data        18.20                                
  vm-103-disk-0 pve Vwi-aotz--   5.00g data        45.68                                
  vm-104-disk-0 pve Vwi-aotz--   2.00g data        61.06                                
  vm-105-disk-0 pve Vwi-aotz--  32.00g data        18.18                                
  vm-106-disk-0 pve Vwi-aotz--  32.00g data        17.80
bei den von mir angesprochenen VMs handelt es sich um 105 & 106. lsblk ergibt:
Code:
lsblk
NAME                         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
nvme1n1                      259:0    0 931.5G  0 disk
├─nvme1n1p1                  259:1    0  1007K  0 part
├─nvme1n1p2                  259:2    0     1G  0 part /boot/efi
├─nvme1n1p3                  259:3    0 464.5G  0 part
│ ├─pve-swap                 252:0    0     8G  0 lvm  [SWAP]
│ ├─pve-root                 252:1    0    96G  0 lvm  /
│ ├─pve-data_tmeta           252:2    0   6.4G  0 lvm
│ │ └─pve-data-tpool         252:4    0 813.6G  0 lvm
│ │   ├─pve-data             252:5    0 813.6G  1 lvm
│ │   ├─pve-vm--100--disk--0 252:6    0     4M  0 lvm
│ │   ├─pve-vm--100--disk--1 252:7    0    32G  0 lvm
│ │   ├─pve-vm--101--disk--0 252:8    0    32G  0 lvm
│ │   ├─pve-vm--102--disk--0 252:9    0     6G  0 lvm
│ │   ├─pve-vm--103--disk--0 252:10   0     5G  0 lvm
│ │   ├─pve-vm--104--disk--0 252:11   0     2G  0 lvm
│ │   ├─pve-vm--105--disk--0 252:12   0    32G  0 lvm
│ │   └─pve-vm--106--disk--0 252:13   0    32G  0 lvm
│ └─pve-data_tdata           252:3    0 813.6G  0 lvm
│   └─pve-data-tpool         252:4    0 813.6G  0 lvm
│     ├─pve-data             252:5    0 813.6G  1 lvm
│     ├─pve-vm--100--disk--0 252:6    0     4M  0 lvm
│     ├─pve-vm--100--disk--1 252:7    0    32G  0 lvm
│     ├─pve-vm--101--disk--0 252:8    0    32G  0 lvm
│     ├─pve-vm--102--disk--0 252:9    0     6G  0 lvm
│     ├─pve-vm--103--disk--0 252:10   0     5G  0 lvm
│     ├─pve-vm--104--disk--0 252:11   0     2G  0 lvm
│     ├─pve-vm--105--disk--0 252:12   0    32G  0 lvm
│     └─pve-vm--106--disk--0 252:13   0    32G  0 lvm
└─nvme1n1p4                  259:4    0   466G  0 part
  └─pve-data_tdata           252:3    0 813.6G  0 lvm
    └─pve-data-tpool         252:4    0 813.6G  0 lvm
      ├─pve-data             252:5    0 813.6G  1 lvm
      ├─pve-vm--100--disk--0 252:6    0     4M  0 lvm
      ├─pve-vm--100--disk--1 252:7    0    32G  0 lvm
      ├─pve-vm--101--disk--0 252:8    0    32G  0 lvm
      ├─pve-vm--102--disk--0 252:9    0     6G  0 lvm
      ├─pve-vm--103--disk--0 252:10   0     5G  0 lvm
      ├─pve-vm--104--disk--0 252:11   0     2G  0 lvm
      ├─pve-vm--105--disk--0 252:12   0    32G  0 lvm
      └─pve-vm--106--disk--0 252:13   0    32G  0 lvm
nvme0n1                      259:5    0   1.8T  0 disk
└─nvme0n1p1                  259:6    0   1.8T  0 part
Am Ende des Tages ist es meine Intention den Speicherplatz für 105 von 32G auf 300G zu erweitern. Allerdings sehe ich wie gesagt bereits die "vorhandenen" 32G unter Ubuntu nicht.
Edit:
Nun habe ich bei der 106er den Plattenplatz um 16G erhöht und das sieht (aus der VM) so aus:
Code:
lsblk
NAME                      MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda                         8:0    0  48G  0 disk
├─sda1                      8:1    0   1M  0 part
├─sda2                      8:2    0   2G  0 part /boot
└─sda3                      8:3    0  30G  0 part
  └─ubuntu--vg-ubuntu--lv 252:0    0  15G  0 lvm  /
Bei der 105er habe ich alle gleich gelassen und das sieht im Vergleich so aus:
Code:
lsblk
NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                         8:0    0   32G  0 disk
├─sda1                      8:1    0    1M  0 part
├─sda2                      8:2    0    2G  0 part /boot
└─sda3                      8:3    0   30G  0 part
  └─ubuntu--vg-ubuntu--lv 252:0    0   15G  0 lvm  /
Kein Unterschied mit Ausnahme der Zeile von "sda"

Könnt ihr mir das bitt kurz erklären bzw. einen Link mit einer Erklärung zur Verfügung stellen?

Danke

Grüße Rallye
 
Last edited:
Wenn du unter PVE eine virtuelle Festplatte vergrößerst passiert nur genau das. Du musst dann in der VM noch die Partition und das Dateisystem darauf vergrößern. Bei einem CT tut PVE den Rest alleine. Die Arbeit auf PVE Seite ist nach der Vergrößerung getan und der Rest passiert in der VM.

Ubuntu tut gerne nur einen Teil der Festplatte bzw. dem PV/VG dem LV zuweisen.
In diesem Fall musst du also diese Schritte gehen

  1. - LVM Partition sda3 via zB. cfdisk /dev/sda vergrößern. Beachte die Änderung zu schreiben (Write) und mit yes zu bestätigen.
  2. - LVM PV via pvresize /dev/sda3 vergrößern
  3. - LVM LV und dessen Dateisystem (-r) via lvextend -r -l +100%FREE /dev/ubuntu-vg/ubuntu-lv auf 100% der freien Größe des VGs vergrößern.
Du kannst die jeweiligen Fortschritte via lsblk -o+FSTYPE (Festplatte/Partitionen), pvs (PV), lvs (LV) und df -h (Dateisystem) kontrollieren.

Der erste Schritt ist nur notwendig wenn das PV nicht ähnlich groß wie die Festplatte ist. Also nicht für deine 32G VM. Ich lass dich den Rest beurteilen.
Ich finde die LVM Doku des Arch Wikis ganz gut. Bitte auch den Partioning Artikel und dort verlinkte Dinge wie File System lesen.
Kleiner Tipp am Rande, wenn du mit einem Thin Pool Arbeitest (data auf PVE Seite zB.) nutze bitte immer < 100%. Das hilft wenn dieser voll läuft.

Um das ganze noch mal klar zu machen
Node Disk > Node Partition > Node PV > Node VG > Node data pool > Node VM LV > VM Disk > VM Partition > VM PV > VM VG > VM LV > VM Dateisystem.
 
Last edited:
  • Like
Reactions: gurubert
WOW Danke (auch für die nächtlichen Überstunden)!!! Ich hab da mal kurz angefangen und festgestellt, a dieser Ecke hab ich noch eine Menge zu lernen. Ich will das nicht einfach "abpinseln" sondern verstehen und brauche daher etwas Zeit um das alles nachzuvollziehen und für mich zu dokumentieren. Beispielsweise war mir das mit dem Device-tree am Ende des lvextend.
Ic darf mich wieder melden. Inzwischen vielen Dank für die kompetente Antwort!!

Edit: wo ich noch einen "Knopf" im Verständnis habe ist, dass es beispielsweise "lvdisplay" in der VM gibt, aber auch "ausserhalb" auf der Proxmox-Admin-Ebene, wo ich die VMs & LXCs verwalte. Und die "lvdisplay" haben dann natürlich unterschiedlichen Output - je nach Ebene. Ziemlich komplex.

LG Rallye
 
Last edited:
Die LVM-Verwaltung von PVE ist strikt getrennt von irgendwelchen VMs. Das muss man wie die berühmten Matroschkas betrachten.
Container sind tatsächlich andere Kinder. Änderungen des Hypervisors (PVE) schlagen auch in einer CT automatisch auf. Umgekehrt schlagen allerdings Änderungen in einem Container niemals auf den Hypervisor durch bzw. sind gar nicht möglich. Wenn du allerdings eine größtmögliche Trennung haben möchtest, verwende VMs statt Container.
 
Danke für die Confirmation meines (neuen) durch dich gewonnenen Verständnisses. Als ich das Konzept von LVM gelesen hatte dachte ich, dass das an die VMs „durchgereicht“ wird. War super erklärt von dir - danke!
Ich bin zwar neu in Proxmox und LVM, aber schon „alt“ in Linux/Ubuntu. Danke auch meine „eingefahrene“ Denkweise die ich lösen und mich an das neue Konzept gewöhnen muss.
LXC habe ich lediglich für Raspberrymatic - das läuft einfach vor sich hin. Alles andere in VMs.

Nochmals danke, Ich werde mich noch weiterbilden

LG Rallye