EC2 救援模式,进程在启动时挂起

EC2 救援模式,进程在启动时挂起

我有一个 ec2 服务器,已经运行了几个月,没有任何问题,但是最近由于未知原因不得不重新启动。

现在,它似乎无法启动,可能是因为我要求它在启动时运行一个脚本。从 ec2 管理控制台查看系统日志,我发现一条令人恐惧的消息,我怀疑这可能是原因。

还有其他理论,但它似乎在运行我的脚本时悬而未决。

有没有什么办法可以让我以不同的运行级别启动服务器,或者以某种类型的救援模式绕过这个启动脚本并修复所有错误?

[  149.318024]   

[  149.318054]   ***************************************************************

[  149.318060]   ***************************************************************

[  149.318066]   ** WARNING: Currently emulating unsupported memory accesses  **

[  149.318071]   **          in /lib/tls glibc libraries. The emulation is    **

[  149.318076]   **          slow. To ensure full performance you should      **

[  149.318081]   **          install a 'xen-friendly' (nosegneg) version of   **

[  149.318085]   **          the library, or disable tls support by executing **

[  149.318090]   **          the following as root:                           **

[  149.318095]   **          mv /lib/tls /lib/tls.disabled                    **

[  149.318100]   ** Offending process: nginx (pid=803)                        **

[  149.318105]   ***************************************************************

[  149.318109]   ***************************************************************

[  149.318117]

答案1

我相当确定您无法将 EC2 实例启动到救援模式或单用户模式。

如果是电子商务然后您可以将 EBS 根卷附加到另一个实例并以这种方式访问​​它。

否则你可能不得不使用AWS 高级支持

答案2

这是我写的一篇文章,描述了如何访问无法启动的 EBS 启动实例的根磁盘:

修复 EC2 实例的根 EBS 卷上的文件
http://alestic.com/2011/02/ec2-fix-ebs-root

您可以禁用启动脚本,然后尝试另一次启动。

tls nosegneg 警告不太可能导致任何与启动相关的问题。

相关内容