我目前正在 Linux 上运行 VirtualBox,以运行一些简单的 Web 服务器 Linux 主机。这是因为我喜欢它的可移植性和额外的隔离安全性。
因为主机(和客户机)是 Ubuntu,而且 Sun 似乎正在逐步淘汰 Virtualbox,所以我想看看是否可以转到 Xen。我安装了 Ubuntu 主机 Xen 软件包,重新启动,将我的 Virtualbox 磁盘文件转换为原始分区,并创建了一个 .conf 文件。经过一些适度的手动编辑以保护无辜者,它看起来像这样:
# ls -lth /home/me/Xen-VMs/domains/test.img
-rw-r--r-- 1 me me 20G Feb 3 16:02 test.img
# file test.img
test.img: DOS/MBR boot sector
# cat /etc/xen/test.conf
name="test"
bootloader="pygrub"
disk = ['file:/home/me/Xen-VMs/domains/test.img,sda,w']
memory = 2048
然后我做了一个xl create /etc/xen/test.conf
,它有效(因为xl list
显示测试),在对 0 域进行 memset 后,我可以启动它(xl reboot test
)。然后我甚至启动了这个虚拟机,但它总是被阻止或暂停(并且客户机的网络尚未启动)。好吧,也许从现有的虚拟机开始并不是一个好主意。谁知道 xen 虚拟机管理程序正在阻止哪些客户机 VirtualBox 插件。
所以我想从头开始尝试 Xen。我尝试了以下类似的方法本指南,
xen-create-image --hostname=tutorial-pv-guest \
--memory=512mb \
--vcpus=2 \
--dir=/home/me/Xen-VMs \
--dhcp \
--pygrub \
--dist=wheezy
我用原始目录替换了 LVM,但该目录在创建时出现错误。我尝试了 xl perl 脚本中的示例,但
# xen-create-image --size=2Gb --dhcp --dist=stable --dir=/home/ivo/Xen-VMs --hostname=testmexen
...
xt-install-image --hostname=testmexen --location=/tmp/y3U0xqhG18 --dist=stable --install-method=debootstrap --mirror=http://us.archive.Ubuntu.com/ubu
ntu/ --cache=yes --cachedir=/var/cache/apt/archives/ --arch=amd64 2>&1' failed with exit code 32512.
深入挖掘,情况可能如此,也可能并非如此
W: Cannot check Release signature; keyring file not available /usr/share/keyrings/debian-archive-keyring.gpg
I: Retrieving Release
E: Failed getting release file http://us.archive.Ubuntu.com/Ubuntu/dists/stable/Release
Running command '/usr/sbin/debootstrap --arch amd64 stable /tmp/J06gK4zZ0i http://us.archive.Ubuntu.com/Ubuntu/ 2>&1' failed with exit code 256.
没有基础让我很难追踪让 Xen 工作真正需要什么。
Xen 是完成这项工作的合适工具吗?也就是说,我想要一个原始映像磁盘文件,如果需要,我可以将其移动到另一台计算机,同时将客户机与主机进行良好的隔离。
是否有一个 GUI(比如 VirtualBox)可以显示我正在运行但被阻止的 VM 中发生的情况?
我在这里是否犯了任何容易纠正的错误,特别是在“从头开始”的尝试中?
谢谢您的建议。
答案1
我使用 Xen 已有 5 年左右了,发现它非常适合我的需求。回答您的问题:
Xen 是完成这项工作的合适工具吗?也就是说,我想要一个原始映像磁盘文件,如果需要,我可以将其移动到另一台计算机,同时将客户机与主机进行良好的隔离。
我使用 Xen 和原始磁盘作为 HA 集群的一部分,所以答案是肯定的。
是否有一个 GUI(比如 VirtualBox)可以显示我正在运行但被阻止的 VM 中发生的情况?
是的。Libvirt。它实际上是为 KVM 开发的,与 Xen 配合得很好。
我在这里是否犯了任何容易纠正的错误,特别是在“从头开始”的尝试中?
这里有个小窍门,可能会让你的生活变得简单一点。首先,我将 VirtualBox HDD 转换为原始 HDD,如下所示:
qemu-img 转换 -f vdi -O raw vbDefault.vdi xenDefault.img
Xen 配置 (xenDefault.cfg) 可以备用。您需要名称、RAM、VCPU 和 HDD。就是这样。
名称 = “xenDefault”
内存 = 2048
vcpus=2
磁盘 = ['文件:/srv/xen/xenDefault.img,hda,w']
现在我可以创建一个虚拟机。
xm 创建 xenDefault.cfg
我可以看到我的虚拟机
xm 列表
并使用
xm 控制台 xenDefault
就是这样。试试看。希望这对你有帮助。