
編輯:幾個小時後,我發現這個問題與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
我希望它能盡快修復!