续上次的PVE存储问题,彻底解决LVM Thin Pool修复

续上次的PVE存储问题,彻底解决LVM Thin Pool修复

_

前言

书接上回:https://www.lycohana.cn/archives/JmV4UNJ4,本质上没有完全解决问题,每次boot后都需要执行操作。于是今晚一气之下对问题进行根除!

问题分析

我进行一次正常的开机流程,将过程提供给Gemini进行分析

PixPin_2025-12-13_01-37-59.png

故障现象

Proxmox VE (PVE) 宿主机上的所有虚拟机突然无法启动或运行。在后台使用 lvs -a 检查存储状态时,发现 Thin Pool (data) 及其下的所有虚拟机磁盘 (vm-xxx-disk-x) 的属性(Attr)显示异常。

故障特征:

Attr 列显示为 twi---tz-- 或 Vwi---tz--。

关键在于第 5 位(或末尾)出现了 i 标志,代表 Incomplete 或 Image error(元数据不一致或 I/O 错误)。

Thin Pool 处于非活动(Inactive)状态,无法挂载或读取。

尝试“死循环”修复问题

Gemini提出对Thin Pool进行修复

# 尝试修复 Thin Pool
lvconvert --repair pve/data

到这一步遇到了最棘手的部分:

1.只读激活元数据

lvchange -ay pve/data_tmeta
# 系统询问是否以只读模式激活,输入 y

结果: 元数据卷 (data_tmeta) 变成了 active (只读),但 Thin Pool 主体 (data) 依然是非活动的。

2.激活 Thin Pool 主体

lvchange -ay pve/data

报错:Activation of logical volume pve/data is prohibited while logical volume pve/data_tmeta is active. (元数据卷活动时,禁止激活主卷)

3.停用元数据后再次尝试

停用了 data_tmeta 后,再次尝试激活主卷,却报了新的错误:

Activation of logical volume pve/data is prohibited while logical volume pve/data_tdata is active. (数据块子卷活动时,禁止激活主卷)

分析: LVM 的 Thin Pool 由 tmeta (元数据) 和 tdata (数据块) 组成。修复过程中,这两个子卷可能被单独激活了(或者是僵尸状态),导致 LVM 认为状态不安全,拒绝激活主入口 pve/data

最终解决方案

步骤一:手动停用所有子卷

必须确保 Thin Pool 的所有“零件”都处于关闭状态。

# 停用元数据卷
lvchange -an pve/data_tmeta

# 停用数据块卷(这是解决报错的关键一步)
lvchange -an pve/data_tdata

步骤二:修复与重新激活

让 LVM 自动处理依赖关系和激活顺序。

# 数据量大的话要等很久,而且要保证所有卷都处于关闭状态才能继续进行修复
lvconvert --repair pve/data
vgchange -ay pve

步骤三:验证状态

再次检查,发现所有卷都已恢复正常:

lvs -a -o +devices,metadata_percent

成功标志:

  • pve/data 属性变为 twi-aotz-- (a=Active, o=Open)。

  • 所有 vm-xxx-disk-x 属性变为 Vwi-a-tz--

总结

# 1. 先停主卷(如果它是半激活状态)
lvchange -an /dev/pve/data

# 2. 停数据块(解开数据锁)
lvchange -an /dev/pve/data_tdata

# 3. 停元数据(解开元数据锁,并刷写缓存)
# 注意:如果这步卡很久,说明正在刷写数据,耐心等待,千万别重启!
lvchange -an /dev/pve/data_tmeta

# 4.修复
lvconvert --repair pve/data

# 5. 最后一把钥匙,全局激活
vgchange -ay pve

对比上次

上次的解决方法只是对状态进行刷新,实际上并没有解决扔和问题。而本次主要关键做的一步就是fix,解决了问题!

上次只是在CSDN找一些临时解决方式,这次用AI纠缠了好久终于搞定了。

吐槽一下:这个撒子Gemini一直在重复,不懂变通,还是得我来指点👎总结也做的一坨!

為什麼夏目漱石將「我愛你」翻譯為「月が綺麗ですね」? 2025-12-07

评论区