[SOLVED] LVM-Thin verkleinern

dadibsy

New Member
Mar 17, 2024
4
0
1
Hallo Forum,

ich habe den Wunsch mein LVM-Thin zu verkleinern. Ich habe jetzt einiges hier im Forum und auch allgemeines zu LVM gelesen. Ich verstehe aber nicht alles und möchte nichts falsch machen. Der einfachste Weg erschien mir das LVM-Thin zu löschen und neu anzulegen.

Ich habe bereits eine zusätzliche Festplatte in das System eingebaut und die Disks der CT's und der VM's die auf dem LVM-Thin liegen auf die neue Disk kopiert. Unter Hardware bei den Ct's und Vm's steht jetzt jeweils die Disk auf dem LVM-Thin als unused.

Als nächstes dachte ich mir ich lösche das das LVM-Thin, Dazu bin ich auf "Rechenzentrum->Storage" gegangen und habe "mydata" dort gelöscht. Wenn ich jetzt auf "pve->LVM-Thin" gehe steht dort aber noch "data"

pvs, vgs und lvs sieht so aus

Bash:
root@pve:/# pvs
  PV         VG  Fmt  Attr PSize PFree
  /dev/sda3  pve lvm2 a--  1.86t <16.25g
root@pve:/# vgs
  VG  #PV #LV #SN Attr   VSize VFree
  pve   1  21   0 wz--n- 1.86t <16.25g
root@pve:/# lvs
  LV                                       VG  Attr       LSize  Pool Origin         Data%  Meta%  Move Log Cpy%Sync Convert
  data                                     pve twi-aotz--  1.71t                     2.63   0.25                          
  root                                     pve -wi-ao---- 96.00g                                                          
  snap_vm-1000-disk-0_Redis                pve Vri---tz-k 16.00g data vm-1000-disk-0                                      
  snap_vm-1000-disk-0_Start                pve Vri---tz-k 16.00g data vm-1000-disk-0                                      
  snap_vm-1000-disk-0_umzug_auf_ssd        pve Vri---tz-k 16.00g data vm-1000-disk-0                                      
  snap_vm-1003-disk-0_Dokumente_importiert pve Vri---tz-k  8.00g data vm-1003-disk-0                                      
  snap_vm-1003-disk-1_Dokumente_importiert pve Vri---tz-k 50.00g data vm-1003-disk-1                                      
  swap                                     pve -wi-ao----  8.00g                                                          
  vm-1000-disk-0                           pve Vwi-a-tz-- 16.00g data                42.81                                
  vm-1001-disk-0                           pve Vwi-a-tz--  7.00g data                96.09                                
  vm-1002-disk-0                           pve Vwi-a-tz--  3.00g data                66.04                                
  vm-1002-disk-1                           pve Vwi-a-tz--  1.00g data                4.78                                  
  vm-1002-disk-2                           pve Vwi-a-tz--  1.00g data                3.22                                  
  vm-1002-disk-3                           pve Vwi-aotz--  1.00g data                4.78                                  
  vm-1003-disk-0                           pve Vwi-a-tz--  8.00g data                81.89                                
  vm-1003-disk-1                           pve Vwi-a-tz-- 50.00g data                3.24                                  
  vm-1004-disk-0                           pve Vwi-a-tz--  8.00g data                16.87                                
  vm-1005-disk-0                           pve Vwi-a-tz--  2.00g data                82.63                                
  vm-1006-disk-0                           pve Vwi-a-tz--  8.00g data                23.47                                
  vm-1007-disk-0                           pve Vwi-a-tz--  4.00g data                28.61                                
  vm-101-disk-0                            pve Vwi-a-tz-- 29.00g data                44.41                                
root@pve:/#

Der nächste Schritt müsste doch jetzt sein das "data" aus dem LVM zu löschen. Ich möchte aber keine Daten auf "root" verlieren.
Bash:
root@pve:/# lvdisplay -v /dev/pve/data
  --- Logical volume ---
  LV Name                data
  VG Name                pve
  LV UUID                cp7k3A-UqAC-hlt0-vNt3-Prx1-3iCe-Vv7Rkp
  LV Write Access        read/write (activated read only)
  LV Creation host, time proxmox, 2024-02-13 17:03:57 +0100
  LV Pool metadata       data_tmeta
  LV Pool data           data_tdata
  LV Status              available
  # open                 0
  LV Size                1.71 TiB
  Allocated pool data    2.63%
  Allocated metadata     0.25%
  Current LE             449209
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:5
 
root@pve:/#

kann ich jetzt einfach "lvremove /dev/pve/data"? Wie geht es dann weiter? lvcreate -L 1000G -n newdata pve? Danach in der GUI den Storage hinzufügen?

Gruß Axel
 
Last edited:
Genau. Hätte ich auch so gemacht. Ggf. noch manuell mehr Platz für Metadaten festlegen wenn du einen neuen Thin Pool erstellst.
 
Last edited:
Genau. Hätte ich auch so gemacht. Ggf. noch manuell mehr Platz für Metadaten festlegen wenn du einen neuen Thin Pool erstellst.
Wie lege ich den Platz für die Metadaten an und gibt es Empfehlungen wie viel Platz dafür reserviert werten sollte?
 
Wie lege ich den Platz für die Metadaten an und gibt es Empfehlungen wie viel Platz dafür reserviert werten sollte?
Am besten mal das manual lesen: https://man7.org/linux/man-pages/man7/lvmthin.7.html

Mal ein Auszug:
Size of pool metadata LV
The amount of thin metadata depends on how many blocks are shared
between thin LVs (i.e. through snapshots). A thin pool with many
snapshots may need a larger metadata LV. Thin pool metadata LV
sizes can be from 2MiB to approximately 16GiB.

When using lvcreate to create what will become a thin metadata
LV, the size is specified with the -L|--size option.

When an LVM command automatically creates a thin metadata LV, the
size is specified with the --poolmetadatasize option. When this
option is not given, LVM automatically chooses a size based on
the data size and chunk size.

It can be hard to predict the amount of metadata space that will
be needed, so it is recommended to start with a size of 1GiB
which should be enough for all practical purposes. A thin pool
metadata LV can later be manually or automatically extended if
needed.
Ich hatte da glaube ich die letzten male immer 1GB gewählt. Ob 1 GB mehr oder weniger für Daten interessiert ja heute kaum noch, wo man eh SSDs ab 1TB kauft. Da bin ich dann lieber großzügig was die Metadaten angeht, als dass ich mich da später wundere, warum alle Writes fehlschlagen und mir die Dienste abstürzen, obwohl mir PVE sagt, dass da der Storage noch genug Platz hat. Weil PVE interessiert sich da nur für das "data%" und nicht für das "meta%" und ist dein Metadata-LV voll, bevor es das Data-LV ist, dann geht halt auch nichts mehr.
 
  • Like
Reactions: dadibsy
Am besten mal das manual lesen: https://man7.org/linux/man-pages/man7/lvmthin.7.html

Mal ein Auszug:

Ich hatte da glaube ich die letzten male immer 1GB gewählt. Ob 1 GB mehr oder weniger für Daten interessiert ja heute kaum noch, wo man eh SSDs ab 1TB kauft. Da bin ich dann lieber großzügig was die Metadaten angeht, als dass ich mich da später wundere, warum alle Writes fehlschlagen und mir die Dienste abstürzen, obwohl mir PVE sagt, dass da der Storage noch genug Platz hat. Weil PVE interessiert sich da nur für das "data%" und nicht für das "meta%" und ist dein Metadata-LV voll, bevor es das Data-LV ist, dann geht halt auch nichts mehr.
Vielen Dank.

Also wenn ich das richtig verstehe kann das Metadata-LV auch später in der Größe geändert werden.

lvcreate -L 1T -c 256k --poolmetadatasize 1G --type thin-pool --thinpool newdata pve

Würde mir dann einen ein LVM-thin 1 TiB , 1GiB Metadata und 256k Chunk Size anlegen.

Gruß Axel
 
Also wenn ich das richtig verstehe kann das Metadata-LV auch später in der Größe geändert werden.

lvcreate -L 1T -c 256k --poolmetadatasize 1G --type thin-pool --thinpool newdata pve
Ja, habe ich auch so verstanden. Dann nur nicht vergessen, dass du das data LV nicht schrumpfen kannst und ja irgendwo der Platz der VG herkommen muss, wenn du das Metadata LV vergrößern willst. Dann am besten etwas Platz in der der VG lassen. Macht ja generell Sinn, schon alleine für Snapshots.
 
  • Like
Reactions: dadibsy
Das hat soweit alles geklappt, ich habe jetzt nur noch ein Problem. Bei einigen Ct's die ich hin und her geschoben habe gehen die Snapsshots nicht mehr.

Code:
Aufgrund der aktuellen Gast-Konfiguration, kann kein neuer Snapshot erstellt werden.

Obwohl alle Disks auf die gleiche Art und Weise kopiert wurden.

EDIT: OK ich weis nicht warum aber ich habe die Disks noch einmal von der anderen Platte rüber kopiert und jetzt läuft alles.

Vielen Dank für deine Hilfe
 
Last edited:

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!