我有两个硬盘,每个硬盘都包含一个 LVM 分区,它们组成了一个卷组。然后我有两个 LV,一个用于我的 / 目录,一个用于我的 /home/ 目录。昨天我的 / 目录失败了。我正在尝试至少恢复我的 /home/ 目录。
我目前所做的:
- 启动实时系统
- 使用 dd 从工作硬盘中提取 LVM2 元数据
- 将元数据复制到 /etc/lvm/backup/vg0
现在我尝试这样做:
pvcreate --restore /etc/lvm/backup/vg0 --uuid "[uuid of my working hdd]" /dev/sdb2
但我总是得到:
Couldn't find device with uuid '[uuid of broken hdd]'.
Couldn't find device with uuid '[uuid of working hdd]'.
Device /dev/sdb2 not found (or ignored by filtering).
我确认 /dev/sdb2 存在,并且我已经从 /etc/lvm/lvm.conf 中注释掉了所有过滤设置,所以我不知道是什么原因导致 pvcreate 找不到该设备。
所以:
- 可能存在什么问题?
- 是否有可能恢复该分区?(当我写这篇文章时,我开始认为这是不可能的 D:)
编辑:好的,看来我已经搞清楚了。我使用的是 Ubuntu 8.10 CD(是的,我知道它不再受支持),似乎这就是问题所在。当我从 Ubuntu 10.04 CD 开始时,一切都“正常”,我可以部分挂载我的 LVM 分区而没有问题。(将在 4 小时内回答这个问题。但如果有人仍然有一些提示/技巧,请分享!:)
答案1
我同意 gman 的观点——首先运行 pvscan 来检测驱动器。也许添加“-v”以获得更详细的输出。如果 pvscan 检测不到它,那么您遇到的麻烦就比我能帮到您的还要多。
如果 pvscan 找到该驱动器,那么您应该能够运行 vgscan 来找到其上的卷组。
如果可行,请尝试使用 lvscan 检测逻辑卷。然后挂载找到的逻辑卷并使用常规工具(rsync、cp、tar...)备份/复制数据。
如果任何命令失败,希望其他更了解恢复 LVM 数据的人可以帮助您。