2009-01-15 58 views
15

我有一個亞馬遜EC2實例使用亞馬遜提供的Fedora 8 64位AMI,我想升級到Fedora 10.Amazon EC2實例如何選擇其內核?

我試圖通過運行「yum update」來升級內核和所有包。這似乎工作正常,我看到我現在已經安裝了fc10內核,並且所有已安裝的軟件包也已更新到Fedora 10版本。

但是,我也注意到fc8內核仍然安裝,並且當我重新啓動映像時,它將運行fc8內核,而不是fc10內核(我從「uname -a」 )。

我需要採取一些額外的步驟來讓我的映像在fc10內核下啓動,或者這甚至可能嗎?亞馬遜文檔沒有爲我提供任何有用的信息。

+0

NB:這q問題及其答案與2009年非常相關,但不再適用於現代亞馬遜EC2,該EC2主要使用HVM,並允許您隨意使用自己的任意內核。 – mattdm 2017-01-09 16:49:24

回答

1

在我與OpenSolaris的AMI的經驗,這是不可能的。在EC2環境中,pkg圖像更新工具也被禁用,以防止發生這種情況。理由可能是每個圖像都與特定的ramdisk和內核(aki和ari)相關聯。而且,它們不能更新爲新的。我認爲,這也適用於其他AMIs,就像你的情況所觀察到的那樣。

1

可能你最好的選擇是創建自己的AMI;在加載AMI時獲得的內核是創建AMI時運行的任何內核。

+1

謝謝,艾米 - 我試過這個,但是我發現當你加載AMI時得到的內核是運行時的內核實例化從中創建AMI的實例。所以如果你從FC8開始,升級到FC10,推出AMI並啓動新的AMI,它仍然運行着FC8內核。 – 2009-02-06 23:40:57

2

從技術上講,至少直到最近,你不能選擇一個內核。您只能選擇在圖像中打包哪些模塊。亞馬遜保留對內核的完全控制權。這可能是必要的,因爲Xen虛擬化必須以某種特殊方式與內核進行交互。

在最近的更新中(幾個月前,我上次檢查過),亞馬遜已經擴展了他們的一些API和工具,允許您從他們提供的幾個內核中選擇一個。例如,你可以選擇2.6.16和2.6.18。

看起來似乎最終可能會支持構建自己的「內核映像」,但是這方面的工具並不完整。我猜測他們(亞馬遜)只向特殊合作伙伴提供這種功能,因爲我看到有幾個第三方圖像出現,它們有特殊的關聯內核圖像。

4

您不能將您的自己的內核映像上傳到EC2/Amazon。只有授權用戶才能上傳內核映像。 即使您在EC2上載自己的Linux操作系統映像並從其中引導,也會加載與您最初上載的預定內核不同的預定內核。這是亞馬遜做出的一項政策決定。你可以做的最多的就是改變默認的內核版本,從你想讓你的實例啓動的預定和可用的amazon內核列表中進行選擇。

可以然而建立你自己的內核模塊或重建那些被加載的內核的模塊。編譯您自己的模塊或重新編譯正在加載的內核提供的模塊會變得有點棘手,因爲亞馬遜的內核是使用Xen管理程序修改的模塊。您需要找出在您的實例中加載的特定內核源代碼。

乾杯

埃內斯托Benedito

8

您可以創建自己的AMI,但你需要使用亞馬遜提供的內核。他們提供的最新版本是2.6.21。我有一個我用於CentOS實例的fc(Fedora Core)內核列表。我很確定他們在Ubuntu上也能正常工作。

當您使用ec2-register註冊AMI時,您需要將它們烘焙。它們可以在啓動實例時進行更改,但我希望擁有正確的AKI(內核)和ARI(ramdisk)。添加對短暫磁盤的支持也很有幫助。你用更大的實例來支付額外的存儲空間,你可以使用它。我的魔法咒語EC2寄存器:

ec2-register --snapshot snap-12345678 -K pk-XXXXXXXXXXX.pem -C cert-XXXXXXXXXXX.pem \ 
--description "EBS CentOS 5.5 i386" --name "base-image-i386-4" --architecture i386 \ 
--root-device-name /dev/sda1 -b /dev/sdb=ephemeral0 -b /dev/sdc=ephemeral1 \ 
-b /dev/sdd=ephemeral2 -b /dev/sde=ephemeral3 --region us-east-1 \ 
--kernel aki-6eaa4907 --ramdisk ari-e7dc3c8e 

您可以更改區域,快照ID,描述,名稱,拱等

還記得內核&的ramdisk區域具體。我不記得我在哪裏得到這份清單,但我很難找到它。希望它能幫助別人。

2.6.21內核可作爲:

美國地區:

32位:

* aki-6eaa4907 
* ari-e7dc3c8e 
* ami-48aa4921 

64位:

* aki-a3d737ca 
* ari-4fdf3f26 
* ami-f61dfd9f 

歐盟地區:

32-bi T:

* aki-02486376 
* ari-aa6348de 
* ami-0a48637e 

64位:

* aki-f2634886 
* ari-a06348d4 
* ami-927a51e6 

AP域:

64位:

* aki-07f58a55 
* ari-27f58a75 
* ami-ddf58a8f 

32位

* aki-01f58a53 
* ari-25f58a77 
* ami-c3f58a91