阿里云ECS登录问题修复

问题描述:

ECS突然无故重启,业务服务中断,尝试登录ECS手动恢复业务服务时发现SSH报错:

Connection to xx.xx.xx.xx closed by remote host.
Connection to xx.xx.xx.xx closed.

使用非root账户证书登录正常,但无法sudo,提示:

Segmentation fault  

问题排查:

查看/var/log/kern.log 日志:

Jan 13 15:11:57 xxx  kernel: [15497.531991] su[14855]: segfault at c0 ip 00007f178a24cc6d sp 00007fff08e79870 error 4 in libc-2.19.so[7f178a203000+1ba000]
Jan 13 15:12:39 xxx kernel: [15539.828644] su[14985]: segfault at c0 ip 00007fb678effc6d sp 00007ffe5a7dc840 error 4 in libc-2.19.so[7fb678eb6000+1ba000]
Jan 13 15:13:01 xxx kernel: [15561.726876] su[15160]: segfault at c0 ip 00007fecc7ed9c6d sp 00007ffcd2cca760 error 4 in libc-2.19.so[7fecc7e90000+1ba000]
Jan 13 15:17:39 xxx kernel: [15839.346744] sudo[16630]: segfault at c0 ip 00007f6f3ec9fc6d sp 00007ffceca98b20 error 4 in libc-2.19.so[7f6f3ec56000+1ba000]

基本可以看出是libc-2.19.so库出现问题了。
将问题描述后,申请工单请求阿里工程师协助。
对方恢复未果后给出建议:

将您目前的系统盘临时卸载挂载到同可用区下的同版本实例中,对比下/lib /lib64 等信息,尝试做替换(先重命名备份),
操作方法如下:
https://help.aliyun.com/document_detail/146752.html

按文档操作指引:

  1. 停止ECS运行
  2. 卸载有问题的ECS系统盘
  3. 将卸载的系统盘作为文件盘挂载到另一台正常的ECS上。
  4. fdisk -l 查看新盘符
  5. mount /dev/xxx /opt/bad_fs
  6. 对比正常的/lib 和 /opt/bad_fs/lib 区别
> find /lib -printf "%P\n" | sort > file_list.txt
> find /opt/bad_fs/lib -printf "%P\n" | sort | diff file_list.txt -

发现一个pam_shter.so文件不同

问题修复

将/opt/bad_fs/lib 下pam_shter.so备份
将/lib 下pam_shter.so拷贝到/opt/bad_fs/lib下
新旧两个文件如下:

-rw-r--r-- 1 x x  6168 Jan 13 18:44 ./x86_64-linux-gnu/security/pam_shter.so
-rwxr-xr-x 1 x x 12113 Apr  9  2018 ./x86_64-linux-gnu/security/pam_shter.so_bak
  1. 卸载bad_fs umount /dev/xx
  2. 在阿里云控制台卸载云盘
  3. 重新将其挂载到原ECS上,启动
  4. 登录正常,恢复业务系统。

参考:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容