原服务器相关信息
Dell r920
Cenots7.9 lvm分区格式
p2v相关流程
将硬盘大小重新调整
去掉远程配置,以防影响迁移
配置临时地址用于迁移使用
等待迁移完成
启动转换后的虚拟机,发现报错
猜测错误可能点
1、原系统采用lvm分区格式,p2v后硬盘会变成无lvm分区的情况
2、原系统采用物理硬盘驱动,p2v后硬盘的uuid会改变,导致引导异常出错
3、系统盘的/dev/下的格式和盘号,在p2v后会发生改变,导致引导异常出错
所采取的操作:
- 加载系统光盘进入救援模式修改/etc/fstac 下的uuid号进行修复。
挂载原系统光盘进入救援模式
进入shell后发现没挂载原系统,导致无法加载原系统 chroot /mnt/sysimage/ 挂载时报 failed to run command ‘bin/bash’
通过lsblk命令可以查看到硬盘信息,通过mount手动挂载
将原系统的分区表 mount后 即可使用 chroot /mnt/sysimage挂载原系统
修改 /etc/fstab 文件来修正因迁移导致的硬盘uuid号变化。
需要查看先有的硬盘uuid号,发现在原系统无法执行blkid命令来查看uuid,这时候需要退出原系统在执行blkid命令进行查看。
通过现有的uuid进行替换老的uuid号。(像sw /home 可先注释,暂不挂载。等待完全修复后再统一挂载)
- 修改好后在手动在引导界面按 e 临时修改grub的相关引导信息。(主要修正 /boot目录的硬盘号 )
按ctrl-x 进行启动,还是有报错表示无法找到此设备。这边可以先回车进入
系统启动3分钟后再次报错。初步怀疑是原系统是采用lvm硬盘格式,转换后变成scis格式的原因。
再次重启服务器,在引导界面按e修改greb相关文件,(主要修改 /root 盘号,以及去掉lvm的加载目录,并手动指定root目录(即根目录))
按ctrl-x启动,即可进入系统页面 这时可以正常进入系统。
进入系统后需要手动修改grub相关信息,去掉lvm的一些加载信息。
vim /etc/default/grub
去掉GRUB_CMDLINE_LINUX 中的关于lvm的部分 rd.lvm=centos00/root rd.lvm.lv=centos.swap rd.lvm.lv=\centos00/swap (因截图丢失通过文字进行描述)
然后进行gurb重新生成。生成后重启发现即可进入系统。(这是因为,grub.cfg文件不能通过直接修改的方式进行生效。他主要是靠修改 /etc/default/grub 和 /etc/grub.d 后再通过grub2-mkconfig命令来修改相关配置信息的)
我这边是uefi启动方式,所以grub文件是在 /boot/efi/EFI/centos/grub.cfg
修改后使用 grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg 重新生成正确的grub配置文件。
再次重启发现可以正常进入系统,至此问题处理完毕。