我有一个使用亚马逊提供的Fedora 8 64位AMI的Amazon EC2实例,我想将其升级到Fedora 10。
我尝试通过运行“yum update”来升级内核和所有软件包。这似乎工作正常,我看到我现在已经安装了fc10内核,并且所有已安装的软件包也已更新到Fedora 10版本。
然而,我也注意到fc8内核仍然安装,当我重新启动我的映像时,它返回运行fc8内核,而不是fc10内核(我从“uname -a”的输出中推断出来)
我需要采取一些额外的步骤才能让我的映像在fc10内核下启动,或者这是否可能?亚马逊的文档没有对我有用。
答案 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时运行的内核。