我有一个 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
答案2
这是我写的一篇文章,描述了如何访问无法启动的 EBS 启动实例的根磁盘:
修复 EC2 实例的根 EBS 卷上的文件
http://alestic.com/2011/02/ec2-fix-ebs-root
您可以禁用启动脚本,然后尝试另一次启动。
tls nosegneg 警告不太可能导致任何与启动相关的问题。