与lvm卷相比,pool的使用量非常大,但似乎并没有实际使用。
此前,元数据区域已满,元数据已扩展。从那时起,我遇到了“lvm transaction id dismatch”问题,我通过 vgcfgbackup -> Change transaction id -> vgcfgrestore 解决了它。
vgcfgrestore后出现未回收的lvm精简池空间问题。删除快照,安装lvm卷的fstrim也没有解决这个问题。有解决这个问题的想法吗?
# dmsetup ls | grep vg0 | sort -k2 -V
vg0-tpool0_tmeta (253:4)
vg0-tpool0_tdata (253:5)
vg0-tpool0-tpool (253:6)
vg0-tpool0 (253:7)
vg0-tvol0 (253:8)
vg0-20221102.000001 (253:16)
vg0-20221102.060001 (253:17)
vg0-20221102.120001 (253:18)
vg0-20221101.120002 (253:19)
vg0-20221101.180001 (253:20)
# grep . /sys/block/dm-{4..8}/queue/discard_max_bytes
/sys/block/dm-4/queue/discard_max_bytes:0
/sys/block/dm-5/queue/discard_max_bytes:0
/sys/block/dm-6/queue/discard_max_bytes:0
/sys/block/dm-7/queue/discard_max_bytes:0
/sys/block/dm-8/queue/discard_max_bytes:17179869184
# lvs -a vg0 -o +discards
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Discards
20221101.120002 vg0 Vwi-aotz-k 15.00t tpool0 tvol0 29.13 passdown
20221101.180001 vg0 Vwi-aotz-k 15.00t tpool0 tvol0 29.13 passdown
20221102.000001 vg0 Vwi-aotz-k 15.00t tpool0 tvol0 29.13 passdown
20221102.060001 vg0 Vwi-aotz-k 15.00t tpool0 tvol0 29.13 passdown
20221102.120001 vg0 Vwi-aotz-k 15.00t tpool0 tvol0 29.13 passdown
tpool0 vg0 twi-aotz-- 16.00t 90.86 0.59 passdown
[tpool0_tdata] vg0 Twi-ao---- 16.00t
[tpool0_tmeta] vg0 ewi-ao---- <15.01g
[tpool0_tmeta] vg0 ewi-ao---- <15.01g
tvol0 vg0 Vwi-aotz-- 15.00t tpool0 29.13 passdown
[lvol0_pmspare] vg0 ewi------- <15.01g
[lvol0_pmspare] vg0 ewi------- <15.01g
[lvol0_pmspare] vg0 ewi------- <15.01g
答案1
在我的linux机器上这个问题已经解决了。原因未知,但我发现 vgcfg 和 Thin_dump 之间的事务 ID 不匹配,并通过匹配事务 ID 解决了这个问题。
我希望这可以帮助别人。 https://stackoverflow.com/a/74554604/14254717