我有一个使用亚马逊提供的Fedora 8 64位AMI的Amazon EC2实例,我想升级到Fedora 10.
我尝试通过运行"yum update"来升级内核和所有软件包.这似乎工作正常,我看到我现在安装了fc10内核,并且我所有已安装的软件包也已更新到Fedora 10版本.
但是,我也注意到仍然安装了fc8内核,当我重启我的映像时,它返回运行fc8内核,而不是fc10内核(我从"uname -a"的输出中推断出来).
我需要采取一些额外的步骤来使我的映像在fc10内核下启动,或者这是否可能?亚马逊文档没有找到对我有用的东西.
您可以创建自己的AMI,但需要使用Amazon提供的内核.他们提供的最新版本是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
您无法将自己的内核映像上传到EC2/Amazon.只有授权用户才能上传内核映像.即使您上传自己的Linux操作系统映像并在EC2中从中启动,也会加载与您最初上载的内核不同的预定内核.这是亚马逊制定的政策决定.您可以做的最多是更改默认内核版本,从您希望实例启动的预定和可用的亚马逊内核列表中进行选择.
但是,您可以构建自己的内核模块,或者为要加载的内核重建内核模块.编译自己的模块或重新编译由正在加载的内核提供的模块有点棘手,因为亚马逊中的内核是使用Xen管理程序修改的.您需要找出在您的实例中加载的特定内核源代码.
干杯
Ernesto Benedito