每次我启动一个新的RHEL实例时,我都喜欢进行yum update ,以最新的系统开始。 但是,每次我尝试重新启动实例后,实例就再也无法启动了。
我解决了根本原因是内核更新,这里是重现问题的最小步骤:
yum update kernel* reboot 系统停顿。 来自EC2pipe理控制台的系统日志没有什么帮助:
... 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 ?
只需编辑文件:/etc/yum.conf并在其中添加一个条目,如下所示:
排除=内核*
之后,yum将排除所有的包,其内核的起始名称。
你可以阅读更多的细节在这个url:
http://www.cyberciti.biz/faq/redhat-centos-linux-yum-update-exclude-packages/
关于你无法升级内核的问题,那么你是正确的,你不能升级内核就像你在正常的PC升级。 在内核设置的情况下,Amazon EC2使用自定义设置,有关详细信息,请按照此URL指示如何在EC2实例上执行内核升级:
看起来您在RHEL中包含的内核版本中遇到了一个错误。 去年Xen开发邮件列表中有一个关于这个问题的线索: http : //old-list-archives.xen.org/archives/html/xen-devel/2010-11/msg00616.html
您应该尝试通过EC2控制台或命令行实用程序重新启动您的实例。
关于您无法升级内核的问题:现代亚马逊机器映像(AMI)不再是这种情况。 较新的AMI,例如RHEL 6 AMI,启动了PV-GRUB,它可以让你像在任何其他服务器上一样升级内核。
有关PV-GRUB的更多信息,请参阅此处的EC2文档: http : //docs.amazonwebservices.com/AWSEC2/latest/UserGuide/index.html?UserProvidedkernels.html
问题是块设备的名称从/ dev / xvda更改为/ dev / xvde,您可以将menu.lst更改为指向/ dev / xvde1和fstab以装入xvde 1 2 3或将驱动器标记为标签
我使用标签,问题是固定的。
我被这个问题困住了,但现在看来我已经陷入困境了。 内核提示现在看起来并不相关,但是我发现删除/var/lib/dhcp-client/*文件确实有帮助。
直接由AWSomeday的一些技术培训师,亚马逊在监测中进行的两项检查是:
所以首先要做的是检查你要做什么监控步骤。 如果1/2确定,则可能是您有DHCP问题的好机会。 所以上面的解决scheme可能会为你工作。
看来,由亚马逊发布的新版本使用LABELS,但这并没有真正解决这个问题。 当您开始安装另一个实例卷以便对其进行一些恢复时,会出现此问题。