硬盘崩溃后恢复 LVM

sBl*_*att 5 filesystem hardware lvm data-recovery

昨天,我的 LVM 的一个硬盘崩溃(智能错误)

该机器具有以下设置:
- 4 个硬盘
- 1 个分区 Raid10(系统,4*50GB)
- 1 个分区正常(/boot,200MB,sda)
- 1 个分区 LVM2 (数据,4*~850GB)
- Ubuntu 10.04 服务器(无头)

现在我的 lvm 将不再挂载,Ubuntu 要求我跳过或在启动时手动恢复。当我按 S 时,系统启动,但没有安装我的 lvm。

现在我的系统分区不会受到影响(/proc/mdstat 看起来像往常一样)/boot 也可以正常工作。

我现在要尝试的是
- 购买一个新的硬盘
- 将硬盘集成到我的 lvm 中
- 尝试删除lvm的 sda 部分(将其复制到新的 sde,或任何 lvm 想要的)
- 做突袭的东西(我想我会找出如何做到这一点,否则我会问一个单独的问题)

现在我的问题:
- 如何从 lvm 中删除 sda(删除意思是复制内容并将分区标记为不是正在使用中,以便我可以拔下驱动器)?
- 如果我无法正常删除分区,是否有任何工具可以恢复该分区上的文件,以便我可以手动将它们复制到“新”lvm?

感谢您的帮助

编辑:
从问题中分离出解决方案

sBl*_*att 0

电脑现在可以工作了。这是我的详细步骤:
我的 sda(故障驱动器)分区如下所示:
sda1:/boot
sda2:raid10 成员(系统)
sda3:lvm 成员

  • 连接新的替换硬盘
  • dd if=/dev/sda of=/dev/sde (将故障硬盘的内容复制到新硬盘,实际上我在一分钟后按了 ctrl+c,因为我只需要分区表)
  • dd if=/dev/sda1 of=/dev/sde1 (将/boot分区复制到新磁盘)
  • vgextend my_volume_group /dev/sde3(将新磁盘的lvm分区添加到我的lvm中)
  • pvmove /dev/sda3(将故障驱动器的数据移动到另一个驱动器)
  • 从我的 raid10 中删除 sda2
  • 更改 fstab 以从 sda1 获取 /boot,而不是通过 uuid(因为更换 HDD 时会发生变化)
  • grub-install /dev/sde (因为它是 8.04 的升级版本,较新的版本需要 grub2-install)

现在我的 sde 分区如下:
sde1: /boot
sde2: raid 分区(未初始化)
sde​​3: lvm 分区(已初始化,lvm 再次工作)

我关闭计算机,更换硬盘(所以 sde 将是 sda,删除旧的 sda)并重新启动
一切正常!我什至不需要使用 live cd 来修复 bootloader/其他东西,奇迹般地 sda2 被识别为 raid10 成员并自动初始化!