我正在使用 Eucalyptus 和 Xen 为我的大学创建一个云(PC 安装了 Debian Squeeze 64 位)。我在以下客户机配置方面遇到问题:
#
# Configuration file for the Xen instance evenmorefinalfoo, created
# by xen-tools 4.2 on Thu May 26 11:03:06 2011.
#
#
# Kernel + memory size
#
kernel = '/boot/vmlinuz-2.6.32-5-xen-amd64'
ramdisk = '/boot/initrd.img-2.6.32-5-xen-amd64'
vcpus = '1'
memory = '128'
#
# Disk device(s).
#
root = '/dev/sda2 ro'
disk = [
'file:/home/xen/domains/evenmorefinalfoo/disk.img,sda2,w',
'file:/home/xen/domains/evenmorefinalfoo/swap.img,sda1,w',
]
如您所见,磁盘和交换映像应安装在 sda1 和 sda2 上。但是,当我启动客户机时,它们安装在 xvda1 xvda2 上,引发错误。我能做些什么呢?这似乎是 Xen 错误。
先感谢您,
答案1
启动设备名称已编码到内核中。您可以通过传递适当的内核参数(或在内核中设置 bootdev)来覆盖它。我猜您的“root”参数没有传递给 DomU 内核 - 这可能确实是一个错误。
除此之外,最好使用 xvd,因为 sd 默认使用 SCSI/SAS/SATA 驱动程序 - 而不是正确的 xenblk 驱动程序。
另一个提示:使用 DomU 中的软链接指向当前内核和 initrd。这样,您可以在 Dom0 上的 DomU 配置中使用这些软链接,而不必在 DomU 中的内核升级后更改该配置。
答案2
Xen 使用 xvda 名称,因为它为这些驱动器提供优化的 i/o 访问。如果您在 PV 模式下运行 Xen,则所有驱动器都将显示为 xvd... 如果您在 HVM 模式下运行,则您将获得标准(速度较慢、可靠性较差)sd... 驱动器。
希望这可以帮助!