Ganeti

ganeti 無法在擠壓上安裝 debootstrap 實例

  • March 21, 2011

我的擠壓伺服器上的 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 無法安裝作業系統,因為它無法安裝根設備。這是 vm 控制台的快照:

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: dm-devel@redhat.com
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 壓縮
  • 核心 2.6.32-5-xen-amd64
  • 加內蒂 2.4 RC3

ganeti cluster info:具有單個節點的集群(名為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

為 xen-pvm 設置的預設 root_path 是錯誤的。我通過更改 id

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

和debootstrap安裝squeeze就好了!

這是我的實例創建程式碼:

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

引用自:https://serverfault.com/questions/242311