我正在将逻辑卷扩展移动到使用 mdadmin 组装的 raid 10 阵列上。移动的逻辑卷之一是根目录(debian 测试系统),它之前位于单个物理卷上。系统现在无法启动。grub 救援中报告的错误消息是 lvmid/ex....lognuuid/another long uuid not found。
我猜想未找到的两个磁盘是当前位于 raid 10 阵列中的两个磁盘,根目录现在位于该阵列中。我还猜测这是因为阵列未在根本地卷之前组装。
当我使用安装程序介质启动并进入救援模式时,我无法启动根目录。但是,如果我先选择组装阵列的选项,然后 chroot 到根目录,我就可以成功。在过去的 24 小时内,我尝试了所有能想到的方法。包括更改 /etc/mdadm/mdadm.conf、update-initramfs -u 的各种组合。
我甚至尝试过撤销 pvmove,但由于 lvmetad.socket 错误而无法撤销。执行此操作所需的 chroot 救援环境中一定缺少某些东西。
事实上,如果我在 chrooting 之前手动组装阵列,我就可以得到一个正常工作的系统,这表明阵列根本没有被组装,或者没有及时组装(因此根本没有组装)。
有人能建议我可以尝试修复吗?我猜我可以做些事情让系统正常运行,但我不知道该怎么做。
答案1
解决方法:
1)在较小的逻辑卷上安装最小的Linux系统。
2)在BIOS启动选项中选择此系统
3)新的 grub2 安装找到了现有系统并将其作为启动选项提供,然后我选择了它。
4)然后我运行以下命令将系统恢复到之前的状态(无需诉诸备份):
pvmove -n rootpartition /dev/arraydevice
这会将与根分区关联的任何逻辑卷扩展移动到任何地方在我的 lvm 池中。然后我重新启动系统以确认修复。如果发生其他巧妙的举动,我可能会保留备份安装作为故障保护。
现在,这一方法奏效(步骤 1-3)表明系统可以配置为从 raid pv 启动,但我没有时间找出原因。最初的问题仍然存在,以防有人知道如何避开将现有 Debian 根目录转移到 raid pv 的陷阱。