Cloud

無法在 Eucalyptus 上啟動 Oneiric x64 實例

  • November 27, 2011

編輯:幾個小時後,我發現問題與桉樹無關。看起來圖像是錯誤的。非常非常有問題。更多細節在最後。我沒有設法修復它,我將送出一個錯誤。

編輯2:我設法修復它,它顯然有效。


我有一個執行 Ubuntu Server Natty (11.04) x64 的 4 機集群。我已經在每台機器上從安裝 CD 安裝了“Ubuntu Enterprise Cloud”(然後對其進行了更新)。雲似乎執行良好,我有很多虛擬機在上面執行 Natty 伺服器。

現在我想在虛擬機中執行 Oneiric,但不知何故我不能。

我從http://cloud-images.ubuntu.com/oneiric/current/下載了 Oneiric 的 (x64) 圖像,完全按照我對 Natty 所做的發布它 ( uec-publish-tarball oneiric-server-cloudimg-amd64.tar.gz oneiric-server-cloudimg-amd64),然後嘗試euca-run-instances -n 1 -k my-key -t m1.small -z my-cloud emi-XXXXXXXX使用 Oneiric 的圖像啟動一個實例 (),但是實例無法啟動。

我得到euca-get-console-output以下資訊:

[    0.461269] VFS: Cannot open root device "sda1" or unknown-block(0,0)
[    0.462388] Please append a correct "root=" boot option; here are the available partitions:
[    0.463855] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[    0.465331] Pid: 1, comm: swapper Not tainted 3.0.0-13-generic #22-Ubuntu
[    0.466526] Call Trace:
[    0.466989]  [<ffffffff815d3ee5>] panic+0x91/0x194
[    0.467860]  [<ffffffff81ad1031>] mount_block_root+0xdc/0x18e
[    0.468891]  [<ffffffff81ad126a>] mount_root+0x54/0x59
[    0.469829]  [<ffffffff81ad13dc>] prepare_namespace+0x16d/0x1a7
[    0.470883]  [<ffffffff81ad0d76>] kernel_init+0x140/0x145
[    0.471837]  [<ffffffff815f38e4>] kernel_thread_helper+0x4/0x10
[    0.472889]  [<ffffffff81ad0c36>] ? start_kernel+0x3df/0x3df
[    0.473884]  [<ffffffff815f38e0>] ? gs_change+0x13/0x13

文件系統標記為“cloudimg-rootfs”,在映像中 /etc/fstab 和 /boot/grub/grub.cfg 始終通過標籤引用映像,一切似乎都是正確的,但核心說它不能找到根文件系統。

我花了很多時間在Google上搜尋,但沒有任何結果。我在#ubuntu-server 上問過,但沒有人知道該怎麼做。我在#eucalyptus 上問過,但根本沒有得到任何答复。

關於為什麼會發生這種情況以及如何解決它的任何想法?

謝謝


編輯:幾個小時後,我發現問題與桉樹無關。看起來圖像是錯誤的。非常非常有問題

第一個問題是圖像中的核心是-generic核心,而我認為它應該是核心-virtual。我 chroot 到圖像中,刪除-generic包,用那些替換它-virtual。然後我提取了新核心(並替換了 tarball 附帶的原始核心(-generic)),因為當我使用 Eucalyptus 發布和啟動圖像時需要它。

解決了上述問題。

但隨後,控制台開始顯示:

mount: mount point ext4 does not exist

如果您檢查圖像中的 /etc/fstab 文件,它會顯示:

LABEL=cloudimg-rootfs  ext4 defaults    0   1

該死,我的掛載點在哪裡?請注意,它也失去/proc了。

好吧,當您認為結束時,您會注意到您的實例將沒有網路連接。讓我們檢查 /etc/network/interface:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

天啊!它缺少 eth0 ……我在這裡停下來。我再也受不了了。我放棄。

看起來 Canonical 剛剛忘記正確設置此圖像。起初,我雖然:“我是否錯誤地下載了伺服器映像?”,但沒有,我仔細檢查了。它實際上是雲映像,它甚至安裝了“cloud-init”(預設情況下,它不在伺服器映像上)。他們只是忘了準備。

我將送出一個錯誤(並在完成後在此處引用它),並希望他們盡快修復它!


編輯 2:看起來網路配置是最後缺少的東西。我決定使用上面的修復程序對其進行測試,並且它可以正常啟動!但是,我不知道圖像現在是否可以使用…

錯誤報告位於:https ://bugs.launchpad.net/ubuntu/+bug/896772

我希望它很快得到修復!

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