Thin Pool Metadata ~100%

Discussion in 'Proxmox VE (Deutsch)' started by t0mc@, Sep 2, 2018.

  1. t0mc@

    t0mc@ New Member

    Joined:
    Nov 27, 2017
    Messages:
    13
    Likes Received:
    0
    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
     
  2. wolfgang

    wolfgang Proxmox Staff Member
    Staff Member

    Joined:
    Oct 1, 2014
    Messages:
    3,997
    Likes Received:
    241
    Hi,

    du musst erst die Metadaten reduzieren.
    Du musst entweder snapshots oder Daten löschen.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. t0mc@

    t0mc@ New Member

    Joined:
    Nov 27, 2017
    Messages:
    13
    Likes Received:
    0
    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...
     
  4. fireon

    fireon Well-Known Member
    Proxmox VE Subscriber

    Joined:
    Oct 25, 2010
    Messages:
    2,683
    Likes Received:
    146
    Spannendes Thema, da häng ich mich jetzt mal drann.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  5. t0mc@

    t0mc@ New Member

    Joined:
    Nov 27, 2017
    Messages:
    13
    Likes Received:
    0
    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.
     
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice