xen 与镜像磁盘文件(而不是 LVM)

xen 与镜像磁盘文件(而不是 LVM)

我目前正在 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

就是这样。试试看。希望这对你有帮助。

相关内容