15

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

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

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

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

4

6 回答 6

8

您可以创建自己的 AMI,但需要使用 Amazon 提供的内核。他们提供的最新版本是 2.6.21。我有一个用于 CentOS 实例的 fc(Fedora Core)内核列表。我很确定它们也可以在 Ubuntu 上正常工作。

当您使用 ec2-register 注册 AMI 时,您需要将它们烘焙到您的 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、描述、名称、拱门等。

还要记住内核和 ramdisk 是特定于区域的。我不记得我从哪里得到这个列表,但我很难找到它。希望它可以帮助某人。

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

亚太地区:

64 位:

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

32 位

* aki-01f58a53
* ari-25f58a77
* ami-c3f58a91
于 2011-01-27T21:55:50.707 回答
5

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

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

干杯

埃内斯托·贝内迪托

于 2010-06-16T17:36:26.043 回答
4

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

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

于 2009-01-15T23:07:55.727 回答
2

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

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

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

于 2009-02-10T05:31:06.480 回答
1

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

于 2009-01-15T23:10:31.277 回答
1

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

于 2009-01-26T07:41:24.167 回答