原服务器相关信息

Dell r920

Cenots7.9  lvm分区格式

kvm硬盘 vda sda_centos

p2v相关流程

将硬盘大小重新调整

kvm硬盘 vda sda_centos_02

去掉远程配置,以防影响迁移

kvm硬盘 vda sda_云计算_03

 配置临时地址用于迁移使用

kvm硬盘 vda sda_云计算_04

等待迁移完成

kvm硬盘 vda sda_运维_05

启动转换后的虚拟机,发现报错

kvm硬盘 vda sda_运维_06

猜测错误可能点

1、原系统采用lvm分区格式,p2v后硬盘会变成无lvm分区的情况

2、原系统采用物理硬盘驱动,p2v后硬盘的uuid会改变,导致引导异常出错

3、系统盘的/dev/下的格式和盘号,在p2v后会发生改变,导致引导异常出错

所采取的操作:

  1. 加载系统光盘进入救援模式修改/etc/fstac 下的uuid号进行修复。

挂载原系统光盘进入救援模式

kvm硬盘 vda sda_云计算_07


kvm硬盘 vda sda_服务器_08

进入shell后发现没挂载原系统,导致无法加载原系统   chroot /mnt/sysimage/   挂载时报 failed to run command ‘bin/bash’

kvm硬盘 vda sda_kvm硬盘 vda sda_09

kvm硬盘 vda sda_云计算_10

 

通过lsblk命令可以查看到硬盘信息,通过mount手动挂载

kvm硬盘 vda sda_centos_11

将原系统的分区表 mount后 即可使用 chroot /mnt/sysimage挂载原系统

kvm硬盘 vda sda_centos_12

kvm硬盘 vda sda_服务器_13

 修改 /etc/fstab 文件来修正因迁移导致的硬盘uuid号变化。

 

kvm硬盘 vda sda_云计算_14

需要查看先有的硬盘uuid号,发现在原系统无法执行blkid命令来查看uuid,这时候需要退出原系统在执行blkid命令进行查看。

kvm硬盘 vda sda_kvm硬盘 vda sda_15

通过现有的uuid进行替换老的uuid号。(像sw /home 可先注释,暂不挂载。等待完全修复后再统一挂载)

kvm硬盘 vda sda_云计算_14

  1. 修改好后在手动在引导界面按 e 临时修改grub的相关引导信息。(主要修正 /boot目录的硬盘号 )

kvm硬盘 vda sda_kvm硬盘 vda sda_17

按ctrl-x 进行启动,还是有报错表示无法找到此设备。这边可以先回车进入 

kvm硬盘 vda sda_kvm硬盘 vda sda_18

kvm硬盘 vda sda_kvm硬盘 vda sda_19

系统启动3分钟后再次报错。初步怀疑是原系统是采用lvm硬盘格式,转换后变成scis格式的原因。

kvm硬盘 vda sda_centos_20

再次重启服务器,在引导界面按e修改greb相关文件,(主要修改 /root 盘号,以及去掉lvm的加载目录,并手动指定root目录(即根目录))

kvm硬盘 vda sda_kvm硬盘 vda sda_21

kvm硬盘 vda sda_云计算_22

按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配置文件。

kvm硬盘 vda sda_云计算_23

再次重启发现可以正常进入系统,至此问题处理完毕。