我一直想了解更多有关 LVM 的知识,所以我终于花时间深入研究它。作为一个非常聪明的计算机专家,我非常有智慧在我的一台实时服务器上尝试 LVM!现在我无法启动它!当然,我那里有很多数据,我肯定想拿回来,所以我希望我的情况可以恢复,并且你可以帮助我。这是我的情况:
服务器上默认安装了 Ubuntu 12.04.2 LTS,它在安装时自动为我分区了磁盘。它提供了 /dev/sda1 的常规引导分区,并将磁盘的其余部分 (/dev/sda5) 转换为具有 /dev/ubuntu1/root 和 /dev/ubuntu1/swap_1 逻辑卷的 LVM 卷 (ubuntu1)。它已经运行了一两年了,一切都很好。
现在开始我的 LVM 实验。我添加了第二个硬盘 /dev/sdb 并将其设置为一个分区。然后准备 LVM 与 一起使用pvcreate /dev/sdb1
。然后我将它添加到我已经建立的卷组中vgextend ubuntu1 /dev/sdb1
。现在,作为一个实验,我要将 /dev/sda5 中的所有内容复制到其中,因此我使用了pvmove /dev/sda5 /dev/sdb1
.在看到这将花费很长时间后,我用 中止了该过程ctrl-c
。这是我的第一个错误。然后我运行fdisk /dev/sdb
并删除了该分区,这显然是我的第二个错误。
现在卷组“ubuntu1”处于不稳定状态,我无法再启动服务器。但它确实启动到 grub 菜单,但当我尝试加载 Ubuntu 时,它抱怨说找不到 /dev/mapper/ubuntu1-root 逻辑卷,并将我带到 shell。
在尝试解决问题时,我运行了,pvmove --abort
但它无法再找到已删除的分区,并表示在 PV 丢失时无法更改 vg ubuntu1。我也尝试过,vgreduce ubuntu1 --removemissing
但也失败了,并抱怨卷组中仍然有部分 LV。我什至尝试了--force
vgreduce 选项,但同样的事情。
当我执行 a 时,pvdisplay
它显示 /dev/sda5 卷,但它也显示 sdb 卷并将其称为“未知设备”,并且两者都是 ubuntu1 卷组的一部分。
有办法解决这个问题吗?当 pvmove 运行时,它实际上是“移动”数据还是只是复制?假设它只是复制,在我看来,如果我能够让 LVM 忘记未知设备,那么一切都会好起来的?或者,有没有办法将分区放回到第二个驱动器上,以便命令pvmove --abort
可以完成它的任务?我不知道,但如果一个了解 LVM 的人可以帮助我,我将不胜感激。谢谢。