我已经看到很多帖子概述了将 VMware Linux 服务器转换为 RHEL Xen(不是 xenserver)的过程但没有什么能帮助我走另一条路。我尝试了很多方法,包括使用 mkinitrd(对 LVM 非常有用),但在这种情况下就是无法解决问题。说实话,我是 xm 命令的新手,但我已经取得了很大进步。
有人愿意分享他们遵循的流程,以成功完成这一转变? 我目前可以访问两个环境:
- 包含两个 Dom 的原始 xm 环境
- 运行 vmware 转换器后,vmware 构建成功,我可以在救援模式下启动(但无法以其他方式启动)。
我还意识到 XM 图像无法启动,需要解决这个问题(我再次尝试,但肯定遗漏了细节)。
我想尝试设置 xm 进行转换前运行 vmware 转换器,因为我觉得在通过 vmware 转换器成功传输所有数据后,从 linux 救援模式的角度来看,我已经用尽了这个过程。(但如果我能得到一些有用的提示,我就会选择这种方式……)
答案1
我最近不得不将几个 centos 5.x VM 迁移到 ESXi 集群。在 VM 启动之前需要做一些事情。
首先,您需要确保救援 CD 可以看到硬盘:如果在执行 fdisk -l 时看不到它们,请尝试将 SCSI 控制器类型更新为 LSI logic SAS。
一旦您能够在救援环境中看到磁盘,请允许它在要求时将所有系统分区挂载为读/写。您还需要网络连接来下载软件包,因此请在要求时分配详细信息。
如果自动挂载失败,您将需要手动挂载 / 分区并编辑 /etc/fstab。条目将类似于:
/dev/xvda2 / ext4 defaults 1 1
改变xvda2到sda2或者无论你的情况如何。重新启动以检查磁盘是否已由救援 CD 安装。Chroot 进入 /mnt/sysimage 文件夹编辑 /etc/inittab 您应该删除如下所示的条目:
co:2345:respawn:/sbin/agetty xvc0 9600 vt100-nav
并确保输入正确,例如:
1:2345:respawn:/sbin/mingetty tty1
(有时需要取消注释)现在您可以运行“yum install kernel”,然后通过执行以下操作创建一个 initrd:
mkinitrd /boot/initrd-2.6.18-194.32.1.el5.img 2.6.18-194.32.1.el5
取代2.6.18-194.32.1.el5使用您在上一步中安装的内核的名称。
现在删除 /etc/grub.conf 中所有与 xen 相关的内核条目,保留新添加的非 xen 内核并确保它是默认内核。
退出救援环境并从硬盘启动。运气好的话,虚拟机将正常启动。
这是一个相当漫长的过程,我可能遗漏了一些东西,所以我很想听听你的进展。