Amazon EC2实例如何选择其内核?

时间:2009-01-15 22:45:42

标签: amazon-web-services amazon-ec2 kernel fedora

我有一个使用亚马逊提供的Fedora 8 64位AMI的Amazon EC2实例,我想将其升级到Fedora 10。

我尝试通过运行“yum update”来升级内核和所有软件包。这似乎工作正常,我看到我现在已经安装了fc10内核,并且所有已安装的软件包也已更新到Fedora 10版本。

然而,我也注意到fc8内核仍然安装,当我重新启动我的映像时,它返回运行fc8内核,而不是fc10内核(我从“uname -a”的输出中推断出来)

我需要采取一些额外的步骤才能让我的映像在fc10内核下启动,或者这是否可能?亚马逊的文档没有对我有用。

6 个答案:

答案 0 :(得分:8)

您可以创建自己的AMI,但需要使用亚马逊提供的内核。他们提供的最新版本是2.6.21。我有一个用于CentOS实例的fc(Fedora Core)内核列表。我很确定他们也可以和Ubuntu一起使用。

当您使用ec2-register注册时,您需要将这些内容烘焙到您的AMI中。它们可以在您启动实例时进行更改,但我喜欢使用正确的AKI(内核)和ARI(ramdisk)。添加对临时磁盘的支持也很有帮助。您需要为更大的实例支付额外的存储空间,您也可以使用它。我对ec2-register的神奇咒语:

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,描述,名称,拱门等。

还记得内核& ramdisks是针对特定地区的。我不记得我在哪里得到这个清单,但我找不到它。希望它可以帮助别人。

2.6.21内核可用:

美国地区:

32位:

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

64位:

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

欧盟地区:

32位:

* 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

答案 1 :(得分:5)

您无法将自己的内核映像上传到EC2 / Amazon。只有授权用户才能上传内核映像。 即使您上传自己的Linux操作系统映像并在EC2中从中启动,也会加载与您最初上载的内核不同的预定内核。这是亚马逊制定的政策决定。您可以做的最多是更改默认内核版本,从您希望实例启动的预定和可用亚马逊内核列表中进行选择。

可以然而构建你自己的内核模块或重建那些被加载的内核的模块。编译自己的模块或重新编译由正在加载的内核提供的模块有点棘手,因为亚马逊中的内核是使用Xen管理程序修改的。您需要找出在您的实例中加载的特定内核源代码。

干杯

Ernesto Benedito

答案 2 :(得分:4)

看起来你不能。这家伙试过了,但还没有成功。

http://developer.amazonwebservices.com/connect/thread.jspa?messageID=72964#72964

答案 3 :(得分:2)

从技术上讲,至少在最近,您无法选择内核。您只能选择要在图像中打包的模块。亚马逊保留对内核的完全控制权。这可能是必要的,因为Xen虚拟化必须以某种特殊方式与内核交互。

在最近的更新中(几个月前,我上次检查过),亚马逊已经扩展了一些API和工具,允许您从他们提供的几个内核中选择一个。例如,您可以在2.6.16和2.6.18之间进行选择。

看起来最终可能会支持构建自己的“内核映像”,但是这方面所需的工具并不完整。我猜他们(亚马逊)只向特殊合作伙伴提供此功能,因为我看到几个第三方图像突然显示有特殊关联内核图像。

答案 4 :(得分:1)

根据我使用OpenSolaris AMI的经验,这是不可能的。在EC2环境中也禁用pkg图像更新工具以精确防止这种情况发生。原因可能是每个图像都与特定的ramdisk和内核(aki和ari)相关联。并且,它们无法更新为新的。我认为,这也适用于其他AMI,正如您所说的那样。

答案 5 :(得分:1)

可能你最好的选择是创建自己的AMI;加载AMI时获得的内核是创建AMI时运行的内核。