我们有一台 CentOS 5.4 服务器(版本 2.6.18-164.el5xen)。
我们对该服务器进行了 P2V 处理,以便实现冗余,物理上只有一个 PSU。
P2V 只完成了 99%,我们打开了 VMWare 票,但他们将票标记为低优先级。
在本文的帮助下,我能够启动 Red Hat 5.4 的救援盘并重建 initrd。
现在唯一的问题是原始服务器有一个经过修改的 initrd,它也来自不同的操作系统版本,并由外部提供商制作。我们没有概述修改的文档。
我的问题是,是否有可能从物理服务器上复制 initrd 并在虚拟机上替换它,以及如何启动虚拟机?
谢谢您的任何意见。
编辑:我从物理机上复制了 initrd img,但又重现了原始问题。以下是错误的屏幕截图。https://i.stack.imgur.com/UCjB0.jpg
编辑2:
echo 扫描逻辑卷
lvm vgscan --ignorelockingfailure
echo 激活逻辑卷
lvm vgchange -ay --ignorelockingfailure VolGroup00
恢复 /dev/VolGroup00/LogVol01
echo 创建根设备。
mkrootdev -t ext3 -o defaults,ro /dev/VolGroup00/LogVol00
echo 挂载根文件系统。
挂载/sysroot
答案1
我始终能够更成功地使用“Parted Magic”USB 或 CD 启动物理系统,使用 Clonezilla(从 PMagic 内部)对系统进行映像处理,然后使用相同的 Parted Magic 磁盘在虚拟机中恢复。
如果您正在迁移 Windows 机器,“mergeide”可能对您也很有帮助。
有关mergeide的更多信息:http://www.biermann.org/philipp/STOP_0x0000007B/
答案2
您是如何进行 P2V 的?是用转换器吗?对于 Linux 虚拟机,您也可以使用 livecd 启动物理机和虚拟机,然后使用 grub 安装执行 rsync,或者如果磁盘大小相同,则执行 dd。我经常发现这比转换器效果更好。
您可以尝试复制 initr 映像。initrd 映像只是一个存档,除其他内容外,它还加载启动所需的模块。您的自定义 initrd 映像是否用于处理物理服务器中的非标准硬件?无论如何,在没有相应硬件可用的情况下加载模块应该没有关系。