我有一个运行了几个月没有任何问题的ec2服务器,但由于不明原因我最近不得不重启。
现在看来,它启动时遇到了麻烦,可能是因为我要求它在启动时运行的脚本。 从EC2pipe理控制台看系统日志,我发现一个可怕的消息,我怀疑可能是原因。
还有其他的理论,但似乎挂在我的脚本运行的中间。
有没有办法让我在不同的运行级别启动服务器,或者在某种types的救援模式下绕过这个启动脚本并修复任何错误?
[ 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]
我相当确定你无法启动EC2实例进入救援模式或单用户模式。
如果是EBS支持的实例,则可以将EBS根卷附加到另一个实例并以此方式访问它。
否则,您可能不得不使用AWS高级支持 。
下面是我写的一篇文章,描述如何访问不启动的EBS启动实例的根磁盘:
修复EC2实例的根EBS卷上的文件
http://alestic.com/2011/02/ec2-fix-ebs-root
您可以禁用启动脚本,然后尝试另一次启动。
这种警告不可能导致与启动有关的任何问题。