Thin Pool Metadata ~100%

t0mc@

Well-Known Member
Nov 27, 2017
91
11
48
46
Hallo zusammen,

für die VMs auf meinem Proxmox Server verwende ich einen LVM Thin Pool.
Gerade wollte ich von einer VM einen Snapshot anlegen, was mit diesem Fehler fehlschlug:

Cannot create new thin volume, free space in thin pool VG_DATA/LV_VMDATA reached threshold.

Auf den ersten Blick hat mich das verwundert, denn der ~2TB Pool ist gerade mal zu 49% voll. Nach ein wenig googlen kam ich dann zur Problemursache: die Metadaten des Thin Pools sind mit ~97% voll, wie ein "lvs -a" zeigt:

Code:
# lvs -a VG_DATA
  LV                              VG      Attr       LSize   Pool      Origin        Data%  Meta%  Move Log Cpy%Sync Convert
  LV_VMDATA                       VG_DATA twi-aotz--   1,82t                         49,00  97,51                           
  [LV_VMDATA_tdata]               VG_DATA Twi-ao----   1,82t                                                               
  [LV_VMDATA_tmeta]               VG_DATA ewi-ao---- 120,00m                                                               
  lvol0                           VG_DATA -wi-a----- 120,00m                                                               
  [lvol1_pmspare]                 VG_DATA ewi------- 120,00m                         
[...]

Nach weiterem googlen wollte ich den Metadatateil des Pools dann einfach erweitern, was aber auch nicht ging:

Code:
# lvextend --poolmetadatasize +250M VG_DATA/LV_VMDATA
  Rounding size to boundary between physical extents: 252,00 MiB.
  Insufficient free space: 63 extents needed, but only 0 available

Stimmt, die VG_DATA ist mit dem LV_VMDATA natürlich komplett belegt:
Code:
# vgdisplay VG_DATA
  --- Volume group ---
  VG Name               VG_DATA
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  358
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                19
  Open LV               10
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               1,82 TiB
  PE Size               4,00 MiB
  Total PE              476899
  Alloc PE / Size       476899 / 1,82 TiB
  Free  PE / Size       0 / 0   
  VG UUID               v34GA2-BHGi-9dtO-mFJE-IzhT-Exn4-fTiwwI

# lvdisplay VG_DATA/LV_VMDATA
  --- Logical volume ---
  LV Name                LV_VMDATA
  VG Name                VG_DATA
  LV UUID                0X9xs0-KljV-WCh8-K0k7-y85v-39zt-2brtA7
  LV Write Access        read/write
  LV Creation host, time virtix, 2017-11-22 23:49:22 +0100
  LV Pool metadata       LV_VMDATA_tmeta
  LV Pool data           LV_VMDATA_tdata
  LV Status              available
  # open                 16
  LV Size                1,82 TiB
  Allocated pool data    49,00%
  Allocated metadata     97,51%
  Current LE             476809
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:5

OK, dann reduziere ich einfach das LV_VMDATA um ein paar Megs. Aber auch das ging nicht:
Code:
# lvreduce -L-500M VG_DATA/LV_VMDATA
  Thin pool volumes VG_DATA/LV_VMDATA_tdata cannot be reduced in size yet.

Und was nun? Hat jemand nen tip, wie ich die Metadata des Pools erhöhen kann? Ich werde den Pool ja hoffentlich nicht löschen und wieder anlegen müssen...

Danke schon mal!
T0mcat
 
Hi,

du musst erst die Metadaten reduzieren.
Du musst entweder snapshots oder Daten löschen.
 
Hi zurück,

ich habe lediglich einen einzigen Snapshot einer VM, alle anderen haben keinen.
Inwiefern Daten löschen? Die Daten im Pool sind ja nur bei knapp 50%.

Was brächte es denn, wenn die Metadaten reduziert werden könnten? Am Problem, dass ich den Thin Pool ("LV_VMDATA") nicht verkleinern kann ("Thin pool volumes VG_DATA/LV_VMDATA_tdata cannot be reduced in size yet." - verkleinern scheint ja grundsätzlich nicht unterstützt zu werden), um ein wenig Platz für das Metadaten LV zu machen ("[LV_VMDATA_tmeta]"), würde sich dadurch doch nichts ändern...
 
Ich habe nun zwischenzeitlich mit Hilfe von weiteren Platten einen zweiten, temporären Storage gebaut, alle Platten des betreffenden Storage darauf verschoben und den problematischen Storage komplett neu angelegt (dieses Mal mit ein wenig freien Extends in der VolumeGroup :) ). Ich wollte die 99 % nicht länger stehen lassen, da (wie mehrfach im Netz beschrieben) immense Probleme entstehen, wenn die Metadaten voll sind (Filesystemfehler, Datenverlust usw.)
Offenbar kommt man anders aus dieser Situation nicht mehr raus. Aktuell sind die Metadaten bei entspannten 26%, alle Platten wieder zurück geschoben.
 

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!