PVE grub resue错误修复 lvmid BUG

服务器断电后启动不起来,显示grub resue

找了半天没有找到修复方法。看官方文档有一处Recovering from grub "disk not found" error when booting from LVM 极为类似。https://pve.proxmox.com/wiki/Recover_From_Grub_Failure

下面是处理过程。

使用PVE 6.4启动镜像启动。

选择 install Proxmox VE (debug mode)

依次输入

lvm

vgscan

lvcreate -L 4M pve -n grubtemp

强制重启

启动后

vgscan -vvv 2>&1 | grep "Reading metadata"

如果末尾是+0就没有问题。

bash 复制代码
root@pve104:~# vgscan -vvv 2>&1 | grep "Reading metadata"
        Reading metadata summary from /dev/sda3 at 24576 size 10136 (+0)
        Reading metadata summary from /dev/sda3 at 24576 size 10136 (+0)
        Reading metadata from /dev/sda3 at 24576 size 10136 (+0)

下面是那个BUG的翻译。

临时解决方案

为了暂时绕过这个bug并让主机再次进入可启动状态,触发LVM元数据更新是一个有效的办法。更新后的元数据将存放在元数据环形缓冲区的一个连续部分中,从而避免再次发生环绕。这样,grub就能够正确解析元数据并重新启动。

触发LVM元数据更新的一个简单方法是创建一个小的逻辑卷:

1使用带有LVM支持的实时USB/CD/DVD启动,例如使用grml。

2运行vgscan命令。

3在pve卷组中创建一个名为grubtemp的4MB逻辑卷:lvcreate -L 4M pve -n grubtemp。

4重启。PVE系统应该能够正常启动。

5现在可以删除grubtemp卷:lvremove pve/grubtemp。

请注意,触发元数据更新的方法还有很多,例如使用lvchange命令扩展现有的逻辑卷或给现有逻辑卷添加标签。

这个解决方案只是暂时的:如果主机在元数据环形缓冲区再次发生环绕时(重新)启动,grub将再次启动失败。

在运行的PVE系统上,您可以使用以下命令检查元数据环形缓冲区中是否存在环绕:

vgscan -vvv 2>&1 | grep "Reading metadata"

如果输出行的末尾是(+0),则表示没有环绕。如果它们以(+N)结尾,其中N是任何其他数字,则表示存在环绕,并且在重启后grub很可能会启动失败。

相关推荐
万粉变现经纪人12 小时前
如何解决 pip install ta-lib 报错 本地 TA-Lib 库未安装 问题
数据库·python·scrapy·oracle·bug·pandas·pip
Cc_Debugger1 天前
【饿了么plus-table】开启多选时,点击下面的单选按钮,页面显示是全选的样子,bug
bug
龙卷风卷云1 天前
【BUG】Nginx使用upstream后端接口报 400
运维·nginx·bug
jiayi_19993 天前
[bug] unsupported GNU version! gcc versions later than 12 are not supported!
服务器·bug·gnu
管二狗赶快去工作!3 天前
体系结构论文(九十三):LLM-Aided Compilation for Tensor Accelerators
人工智能·语言模型·自然语言处理·bug·体系结构
查古穆3 天前
LLM的“小bug”:聊聊幻觉是什么,以及如何有效规避免
人工智能·bug
程序员 沐阳3 天前
Git 二分法精准定位 Bug:从原理到实战,让调试效率起飞
git·elasticsearch·bug
软泡芙4 天前
【Bug】ReactiveUI WPF绑定中依赖属性不更新的问题分析与解决方案
java·bug·wpf
Yiyi_Coding4 天前
BUG列表:如何定位线上 OOM ?
java·linux·bug
csdn_aspnet6 天前
Git二分法精准定位Bug,分享用git bisect快速锁定引入缺陷的提交,提升调试效率
git·bug·二分查找