A fix was recently released for an ec2 kernel bug causing high load averages to be reported. The new kernel package was linux-image-2.6.32-309-ec2 and aptitude reports the exact version:
% aptitude show linux-image-2.6.32-309-ec2 | grep Version
Version: 2.6.32-309.18
We can get a list of available kernels with ec2-describe-images, official Ubuntu kernels are owned by account #099720109477. We can filter the results based on the image name, the following example (edited for brevity) shows stable kernels for Ubuntu Lucid:
% ec2-describe-images -o 099720109477 \
--filter name=ubuntu-kernels/ubuntu-lucid-i386\*
IMAGE aki-754aa41c ... linux-image-2.6.32-305-ec2 ...
IMAGE aki-5037dd39 ... linux-image-2.6.32-308-ec2 ...
IMAGE aki-3204f15b ... linux-image-2.6.32-308-ec2 ...
IMAGE aki-6603f70f ... linux-image-2.6.32-309-ec2 ...
While not shown above, the full version is displayed; however in this case there is only one kernel in the 2.6.32-309 series. This is easily seen by altering the example filter to ubuntu-kernels\*/ubuntu-lucid-i386\*, which will include images from ubuntu-kernels-testing, ubuntu-kernels-sandbox, etc. The second column lists the kernel ID, which may be used with ec2-modify-instance-attribute to actually change the kernel used by an EC2 instance:
ec2-modify-instance-attribute --kernel aki-6603f70f ${instance_id}
A list of your instances and the current kernels is conveniently displayed with ec2-describe-instances as well as the AWS Management Console.
Eventually the Ubuntu package maintainers would like to have the package manager (at a minimum) provide specific instructions whenever a new kernel is available; until they do, or Amazon adds such a feature to the AWS Console, this is the way to upgrade the kernel on EC2 instances.
No comments:
Post a Comment