2009-01-15 34 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