前言
客户现场有两套虚拟化环境,需要将虚拟机从Nutanix AHV平台迁移至VMware vSphere平台目前AHV 平台上所有虚拟机都可以正常工作。
##报错信息
在将Centos7 虚拟机从Nutanix AHV平台迁移至VMware vSphere平台后。
打开虚拟机电源该虚拟机未正确引导提示:
dracut-initqueue[259]: Warning: dracut-initqueue timeout
Warning: /dev/centos/root does not exist
Warning: /dev/centos/swap does not exist
Warning: /dev/mapper/centos-root does not exist
故障排查
1.检查磁盘信息
报错信息中提示未找到/dev/centos/root,初步怀疑是由于底层虚拟化平台变更导致vg或LV命名发生变化。
1.1 进入救援模式
1.2 列出系统上可用逻辑卷
执行lvs
#lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao
swap centos -wi-ao
1.3 检查/etc/default/grub中引导信息
主要检查rd.lvm=
参数值与lvs中列出的逻辑卷名称是否一致。
[root@Docker ~]# cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
通过grub信息可以看到逻辑卷未发生变化,引导不成功并非是由于逻辑卷命名变更导致的。
2.重建initramfs 文件
经过查询得知,可能是initramfs文件是依据旧平台硬件创建的,而不支持新平台的硬件。尝试从系统的救援内核进行启动。
注:救援内核是由原始安装程序安装的,并且支持大多数硬件
2.1 救援内核启动
重新引导虚拟机。在boot页面,选择CentOS Linx(0-rescue-xxx) 7 (Core)
启动。
从救援内核启动引导成功,可以成功进入系统。说明是由于initramfs 文件导致未成功引导,我们只需要重建即可。
2.2 重建
进入到/boot
目录,执行dracut -f
命令进行重建,然后重启后系统引导正常。
# cd /boot/
# dracut -f initramfs-3.10.0-957.el7.x86_64.img
#reboot
“dracut-initqueue[286]: Warning: dracut initqueue timeout – starting timeout scripts” – CentOS/RHEL 7 booting issue
Change VM - ‘Warning: dracut-initqueue timeout’ at startup