Fix LVM Thin Can’t create snapshot, Failed to suspend vg01/pool0 with queued messages

Fix LVM Thin Snapshot Creation Errors

From time to time you might see errors like the following:

~]# lvcreate -s -n foo-snap data/foo
Can’t create snapshot bar-snap as origin bar is not suspended.
Failed to suspend vg01/pool0 with queued messages.

You will note that foo and bar have nothing to do with each other, but the error message prevents creating additional thin volumes. While the cause is unknown, the fix is easy. Something caused LVM to try to create an LVM that it was unable to complete, so it generates this in its metadata:

message1 {
create = "bar-snap"
}

The Fix

  1. deactivate the thinpool
  2. dump the VG metadata
  3. backup the file
  4. remove the message1 section
  5. restore the metadata.

The Procedure

  • vgcfgbackup -f /tmp/pool0-current vg01
  • cp /tmp/pool0-current /tmp/pool0-current-orig # backup the file before making changes
  • vim /tmp/pool0-current # remove the message1 section in vg01 -> logical_volumes -> pool0
  • vgcfgrestore -f /tmp/pool0-current vg01 –force

Hopefully this works for you, and hopefully whatever causes this gets fixed upstream.

One thought on “Fix LVM Thin Can’t create snapshot, Failed to suspend vg01/pool0 with queued messages

  1. Hi,

    Thank you for the post!

    Another little tip.

    When I tried to use
    vgcfgrestore -f /tmp/pool0-current pve –force
    in our proxmox environment, it shows no errors
    but when I tried to reactivate data pool
    using lvchange after vgcfgrestore, new errors appears for each lv:
    lvchange -a y pve
    Thin pool pve-data-tpool (253:2) transaction_id is 108, while expected 110.

    Thin pool pve-data-tpool (253:2) transaction_id is 108, while expected 110.

    To fix that, edit /tmp/pool0-current and change ONLY main data transaction_id to first number in error message (in this case 108). And repeat the vgcfgrestore command.

Leave a Comment