AMI内核ID与EC2实例中安装的内核之间有什么关系?

时间:2014-03-11 08:51:33

标签: linux amazon-web-services amazon-ec2 amazon ami

根据我的有限理解,AWS EC2使用Xen作为基础技术,Xen虚拟机加载EC2的AMI内核以启动实例。

因此在EC2实例中我升级了内核版本(例如,从3.10升级到3.14),然后重新启动并使用uname -a确认新内核(3.14)正在运行。

尽管已经发生内核升级,但EC2实例仍然与原始AMI关联,内核版本较低。

我的问题是:

  • EC2的Xen基础是否使用新内核启动实例?
  • 如果不操作实例的AMI,是否可以使用升级提供的新内核功能(如新系统调用)?

2 个答案:

答案 0 :(得分:2)

这可能会部分回答您的问题。在创建实例时,您可以选择内核ID,如下所示:

enter image description here

如果您没有选择其他内核,它将在上面的屏幕截图中选择Use default指示的默认内核ID。

答案 1 :(得分:1)

  

EC2的Xen基础是否使用新内核来启动实例?

不,它没有。它引导我们与实例相关联的内核,即aki-xxxxxxxx。它基本上忽略了根卷上/ boot目录中的任何内容。这种行为与将内核映像放在单独的分区上并让内核始终从该分区启动并没有太大的不同。 (例如,当我在Chromebook上启动Ubuntu时,我会这样做)

  

如果不操纵实例的AMI,是否可以使用new   升级提供的内核功能(如新系统调用)?

没有。一旦你的内核启动了aki-xxxxxxxx内核,它就可以使用该内核的功能和系统调用。虽然大多数功能和系统调用都可用,因为特定的aki-xxxxxxxx内核需要与您的特定实例兼容。所以说对于Ubuntu 12.04 LTS你可能想要使用内核3.2或更高版本作为2.6内核将无法正常工作。

此外,这也意味着在选择aki-xxxxxxxx内核时,您需要注意选择与您的特定操作系统兼容的内核。

如果你想使用你自己的内核,你应该看看PV-GRUB:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html