xm 创建错误,无法读取 ramdisk

xm 创建错误,无法读取 ramdisk

因此,我尝试将物理本机 CentOS 4.6 安装移动到 CentOS 5.5 服务器上的 DomU 实例。我已按照可用的教程 @CentOs - 维基百科但是在运行 xm create 时遇到以下问题。 在此处输入图片描述

Traceback (most recent call last):
  File "/usr/bin/pygrub", line 691, in ?
    data = fs.open_file(chosencfg["ramdisk"],).read()
IOError: [Errno 2] No such file or directory
No handlers could be found for logger "xend"
Error: Boot loader didn't return any data!

有趣的是,pygrub 加载正常,但加载 RAM 时似乎遇到了障碍,我认为这可能是将物理 HD 映射到 vm 实例时出现的问题,因此我查看了 fdisk -l(见下文)。并将 domU 配置中的交换映射到 sda2,然后继续将 domU(sdb2)上的 fstab 修改为映射到 sda2 的交换,但它不起作用。如果有人可以帮我,我下面还有一些信息:

Disk /dev/sdb: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1          16      128488+  83  Linux
/dev/sdb2              17        1928    15358140   83  Linux
/dev/sdb3            1929        5752    30716280   83  Linux
/dev/sdb4            5753       19435   109908697+   5  Extended
/dev/sdb5            5753        6013     2096451   82  Linux swap / Solaris
/dev/sdb6            6014       19435   107812183+  83  Linux

在 /etc/xen/uno 中- Xen 配置文件

name            = 'uno'
bootloader      = '/usr/bin/pygrub'
maxmemory       = 1256
memory          = 512
vcpus           = 1
cpus            = '1-2'
vif             = [ '' ]
disk            = [     'phy:sdb2,sda1,w',
                        'phy:sdb5,sda2,w',
                        'phy:sdb6,sda3,w',
                        'phy:sdb3,sda4,w'       ]

/etc/fstab

# obsolete      /boot   ext3    defaults        1 1
/dev/sda1       /       ext3    defaults        1 1
/dev/sda2       swap    swap    defaults        0 0
/dev/sda3       /u      ext3    defaults        1 2
/dev/sda4       /backup ext3    defaults        1 2

有人有任何线索吗?

答案1

我认为它想要加载 ramdisk。在我的 xen confs 中,有一行如下内容:

ramdisk = "/boot/initrd-xen-2.6.18-128.4.1.el5xen"

现在,在我的配置文件中,这是因为内核和 ramdisk 位于 VM 文件系统之外。我原本以为这是 pygrub 应该从 VM grub 配置文件/文件系统读取的配置,但您可以尝试简单地将 ramdisk 复制到外部并使用 ramdisk 选项指向它。

答案2

@Bittrance:我的印象是使用 pygrub 时不需要 ramdisk 行。

这里是一个讨论类似问题的帖子。看起来 pygrub 并不总是能找到 MBR。

另外,我想知道如果使用'phy:sdb2,sda1,w'而不是是否重要'phy:/dev/sdb2,sda1,w'

相关内容