将带有LVM +启动分区的centos迁移到不同的磁盘

将带有LVM +启动分区的centos迁移到不同的磁盘

我想将我的 centos 6.8 安装从一张 250GB 磁盘迁移到更新的 500GB 磁盘。

由于它使用 LVM,我读到移动数据应该很容易,只需将新磁盘添加到同一卷组,然后在物理删除旧磁盘之前通过 vgreduce 将所有内容从旧磁盘移走。

问题是,除了 LVM 之外,安装程序还提供了一个 /boot 标准分区作为 /dev/sda1,我很难理解如何继续后续的启动。我已经尝试了以下设置的整个过程(通过用作测试驱动的 virtualbox 安装):

/dev/sda1 = 512mb boot ext4 on old 250gb disk
/dev/sda2 = LVM root on old 250gb disk
/dev/sdb1 = 512mb boot ext4 on new 500gb disk
/dev/sdb2 = LVM root on new 500gb disk

然后从实时centos系统我有:

  • 准备 /dev/sdb 具有相同的 /dev/sda 结构(512mb 作为 ext4 用于引导,然后剩余空间用于 LVM)
  • 完成了有关 LVM 的所有 pvcreate、vgextend、pvmove 和 vgreduce 内容
  • 将旧的 /boot 内容复制到新的引导(将其安装为 /tmp/boot 并进行 rsyncing 后)
  • 编辑 /etc/fstab 行以指示 /dev/sdb1 的正确 UUID
  • 启动“grub-install /dev/sdb”(需要 --recheck 标志才能完成)
  • 重新启动

但只得到了悲惨的“硬盘故障”消息而不是启动。有人可以指出这种方法有什么问题和/或如何实现这一点吗?

感谢大家

答案1

执行之前grub-install /dev/sdb,必须重新挂载/boot。可能还需要重建您的initrd映像(我相信其中有需要更新的信息)。

注意:事实上,按照这些建议,OP 报告它有效

相关内容