ganeti 无法在 squeeze 上安装 debootstrap 实例

ganeti 无法在 squeeze 上安装 debootstrap 实例

我的 squeeze 服务器上的 ganeti 2.4-rc3 安装顺利,我可以成功创建实例:

$ gnt-instance add -t plain -s 5G -o debootstrap+default -n obi-wan vm01
Wed Mar  2 17:12:51 2011 * disk 0, vg xenvg, name fdc7fa9e-19ac-405c-adad-f72da34d6682.disk0
Wed Mar  2 17:12:51 2011 * creating instance disks...
Wed Mar  2 17:12:51 2011 adding instance vm01.physcip.uni-stuttgart.de to cluster config
Wed Mar  2 17:12:51 2011  - INFO: Waiting for instance vm01.physcip.uni-stuttgart.de to sync disks.
Wed Mar  2 17:12:51 2011  - INFO: Instance vm01.physcip.uni-stuttgart.de's disks are in sync.
Wed Mar  2 17:12:51 2011 * running the instance OS create scripts...
Wed Mar  2 17:13:03 2011 * starting instance... 
$

它告诉我实例运行良好:

$ gnt-instance list
Instance                      Hypervisor OS                  Primary_node                     Status  Memory
vm01.physcip.uni-stuttgart.de xen-pvm    debootstrap+default obi-wan.physcip.uni-stuttgart.de running   128M

但是 debootstrap 无法安装操作系统,因为它无法挂载根设备。这是虚拟机控制台的快照:

Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... [    0.491828] device-mapper: uevent: version 1.0.3
[    0.492487] device-mapper: ioctl: 4.15.0-ioctl (2009-04-01) initialised: [email protected]
done.
Begin: Waiting for root file system ... done.
Gave up waiting for root device.  Common problems:
 - Boot args (cat /proc/cmdline)
   - Check rootdelay= (did the system wait long enough?)
   - Check root= (did the system wait for the right device?)
 - Missing modules (cat /proc/modules; ls /dev)
ALERT!  /dev/sda1 does not exist.  Dropping to a shell!

安装的内容:

  • 带有 xen 4 和 lvm2 的 debian squeeze
  • 内核 2.6.32-5-xen-amd64
  • ganeti 2.4 rc3

ganeti 集群信息:具有单个节点的集群(名为 obi-wan)

gnt-cluster info
Cluster name: vmcluster.physcip.uni-stuttgart.de
Cluster UUID: 2ae3377c-8682-486d-9ac2-cdac43a136f7
Creation time: 2011-03-01 12:05:10
Modification time: 2011-03-02 14:12:48
Master node: obi-wan.physcip.uni-stuttgart.de
Architecture (this node): 64bit (x86_64)
Tags: (none)
Default hypervisor: xen-pvm
Enabled hypervisors: xen-pvm
Hypervisor parameters:
  - xen-pvm:
      blockdev_prefix: sd
      bootloader_args: 
      bootloader_path: 
      initrd_path: /boot/initrd-2.6-xenU
      kernel_args: ro
      kernel_path: /boot/vmlinuz-2.6-xenU
      migration_mode: live
      migration_port: 8002
      root_path: /dev/sda1
      use_bootloader: False
OS-specific hypervisor parameters:
OS parameters:
Hidden OSes: 
Blacklisted OSes: 
Cluster parameters:
  - candidate pool size: 10
  - master netdev: xen-br0
  - lvm volume group: xenvg
  - lvm reserved volumes: (none)
  - drbd usermode helper: /bin/true
  - file storage path: /srv/ganeti/file-storage
  - maintenance of node health: False
  - uid pool: 
  - default instance allocator: 
  - primary ip version: 4
  - preallocation wipe disks: False
Default node parameters:
    oob_program: None
Default instance parameters:
  - default:
      auto_balance: True
      memory: 128
      vcpus: 1
Default nic parameters:
  - default:
      link: xen-br0
      mode: bridged

答案1

xen-pvm 的默认 root_path 设置是错误的。我通过以下方式更改了 id

gnt-cluster modify --hypervisor-parameter xen-pvm:root_path='/dev/xvda1'

并且 debootstrap 安装 squeeze 就好了!

答案2

这是我的实例创建代码:

-H xen-pvm:kernel_path=/boot/vmlinuz-2.6-xenU,initrd_path=/boot/initrd-2.6-xenU,blockdev_prefix=xvd,root_path=/dev/xvda1

相关内容