我正在尝试将各种服务从物理 Debian Squeeze 盒迁移到多个半虚拟化 Xen 机器。这是我第一次尝试 Xen,所以我计划一步一步地完成:
- 在盒子上安装一个干净的 Xen + Debian Squeeze Dom0
- 确保我可以安装并运行新的 DomU(xen-tools)
- 将原始物理安装(称为 Kowalski)转换为 DomU
- 将服务从 Kowalski 转移到新的 DomU,直到 Kowalski 不再执行任何操作。
- 退休科瓦尔斯基
步骤 1 和 2 进展顺利。但步骤 3 出现了问题。
基本上我已经:
- 将旧的物理分区复制到 LVM 逻辑卷
- 为 Xen 创建了一个 kowalski.cfg,将这些 LV 映射到 xvda 设备
- 编辑 fstab 以使用 xvda 设备。
它启动了,但在启动脚本最终挂起,init 报告“T0”重新生成得太快,所以它正在将其终止。
关于调试技术有什么建议吗?我可能错过了什么?
正如我所说,这是我第一次接触 Xen,我发现很难掌握出了什么问题。
答案1
我最初就是这么做的(将 p2v 转换为 p2v)。这种方法比较麻烦。
最好从一开始就安装一个带有 PV 内核的全新、干净的 DomU,然后将服务迁移到该盒子。
它基本上与物理升级是相同的任务 - 但是会比反过来更快地让您获得稳定的机器。
多年来,我一直试图在我的 DomU 中模拟“/dev/sda”——结果发现,在某个 sles-kernel-update 之后,DomU 无法再启动(因为 sda 现已硬编码为使用物理驱动程序)。现在我使用带有标准设备名称 (xvda) 的标准 pv 驱动程序 (xenblk),一切又恢复正常。
答案2
您不能直接将物理硬盘移动到虚拟机。Squeeze 使用 2.6.32 内核,无法在 xen pv 下启动(您使用的是 PV 吗?)。您需要在可以在 xen 下启动的虚拟机中安装 xen 特定的内核 linux-image-2.6.32-5-xen-amd64。实际上,您可以挂载 lvm,在其中 chroot 并安装新内核,然后尝试重新启动它。它应该可以工作。
还有一些软件可以将物理机转换为 xen。不幸的是我从未使用过它并且不记得它的名字。