無法在 Eucalyptus 上啟動 Oneiric x64 實例

無法在 Eucalyptus 上啟動 Oneiric x64 實例

編輯:幾個小時後,我發現這個問題與Eucalyptus無關。看起來圖像有問題。非常,非常有問題。更多細節在最後。我沒能修復它,我會提交一個錯誤。

編輯2: 我已經修復了它,它顯然有效。


我有一個運行 Ubuntu Server Natty (11.04) x64 的 4 機叢集。我已從安裝 CD 在每台電腦上安裝了“Ubuntu Enterprise Cloud”(然後更新了它)。雲端似乎運作得很好,我有很多虛擬機器在上面運行 Natty 伺服器。

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

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

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 始終透過標籤引用映像,一切似乎都是正確的,但核心說它無法找到根檔案系統。

我花了很多時間谷歌搜索,但一無所獲。我在#ubuntu-server 上詢問過,但沒有人知道該怎麼做。我在#eucalyptus 上詢問過,但沒有得到任何答案。

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

謝謝


編輯:幾個小時後,我發現這個問題與Eucalyptus無關。看起來圖像有問題。非常,非常有問題

第一個問題是圖像中的 Kernel 是一個-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:看起來網路配置是最後缺少的東西。我決定使用上面的修復程序對其進行測試,並且它可以正常啟動!然而,我完全不知道圖像現在是否可以正常運行......

答案1

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

我希望它能盡快修復!

相關內容