Ganeti
ganeti 無法在擠壓上安裝 debootstrap 實例
我的擠壓伺服器上的 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