在 Amazon EC2 上更新内核后,RHEL 6.1 上的重启失败

在 Amazon EC2 上更新内核后,RHEL 6.1 上的重启失败

每次启动新的 RHEL 实例时,我都喜欢执行yum update以从最新的系统开始。但是,每次我尝试重新启动实例时,实例都再也无法运行。

我排除了根本原因是内核更新,以下是重现该问题的最少步骤:

  1. 启动新的 RHEL 6.1 实例
  2. 连接,然后运行:
    1. yum update kernel*
    2. reboot

系统处于宕机状态。EC2 管理控制台中的系统日志没有提供太多帮助:

...
Please stand by while rebooting the system...
md: stopping all md devices.
xenbus_dev_shutdown: device/console/0: Initialising != Connected, skipping
Restarting system.

没有提到内核恐慌、启动问题等。只是卡在那里。

从我读到的内容来看,似乎无法将默认内核与 EC2 实例一起使用。如果这是真的,那么yum在执行通用的 时,如何避免意外使用 更新内核,从而导致实例终止yum update

答案1

只需编辑文件:/etc/yum.conf 并在其中添加一个条目,如下所示:

排除 = 内核*

此后,yum 将排除所有以内核作为起始名称的软件包。

您可以在此网址中阅读更多详细信息:

http://www.cyberciti.biz/faq/redhat-c​​entos-linux-yum-update-exclude-packages/

关于您无法升级内核的问题,您说得对,您无法像在普通 PC 中升级那样升级内核。Amazon EC2 在内核设置的情况下使用自定义设置,有关详细信息,请访问此 URL,了解如何在 EC2 实例上执行内核升级:

http://www.vincestross.com/2009/04/upgrade-an-ec2-instance/

答案2

看起来您遇到了 RHEL 中包含的内核版本中的错误。去年 Xen 开发电子邮件列表上有一个关于此问题的帖子: http://old-list-archives.xen.org/archives/html/xen-devel/2010-11/msg00616.html

您可能应该尝试通过 EC2 控制台或命令行实用程序重新启动您的实例。

关于您无法升级内核的问题:现代 Amazon 机器映像 (AMI) 不再存在这种情况。较新的 AMI(如 RHEL 6 AMI)使用 PV-GRUB 启动,这允许您像在任何其他服务器上一样升级内核。

有关 PV-GRUB 的更多信息,请参阅此处的 EC2 文档:http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/index.html?UserProvidedkernels.html

答案3

问题是块设备的名称从 /dev/xvda 更改为 /dev/xvde,您可以更改 menu.lst 以指向 /dev/xvde1 和 fstab 以挂载 xvde 1 2 3 或标记驱动器并指向标签

我使用标签,问题就解决了。

答案4

亚马逊发布的最新版本似乎使用了 LABELS,但这并不能真正解决问题。当您开始安装另一个实例卷以对其进行恢复时,就会出现此问题。

相关内容