問題描述:
ECS突然無故重啟,業(yè)務(wù)服務(wù)中斷,嘗試登錄ECS手動恢復(fù)業(yè)務(wù)服務(wù)時發(fā)現(xiàn)SSH報(bào)錯:
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庫出現(xiàn)問題了。
將問題描述后,申請工單請求阿里工程師協(xié)助。
對方恢復(fù)未果后給出建議:
將您目前的系統(tǒng)盤臨時卸載掛載到同可用區(qū)下的同版本實(shí)例中,對比下/lib /lib64 等信息,嘗試做替換(先重命名備份),
操作方法如下:
https://help.aliyun.com/document_detail/146752.html
按文檔操作指引:
- 停止ECS運(yùn)行
- 卸載有問題的ECS系統(tǒng)盤
- 將卸載的系統(tǒng)盤作為文件盤掛載到另一臺正常的ECS上。
-
fdisk -l查看新盤符 mount /dev/xxx /opt/bad_fs- 對比正常的/lib 和 /opt/bad_fs/lib 區(qū)別
> find /lib -printf "%P\n" | sort > file_list.txt
> find /opt/bad_fs/lib -printf "%P\n" | sort | diff file_list.txt -
發(fā)現(xiàn)一個pam_shter.so文件不同
問題修復(fù)
將/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
- 卸載bad_fs
umount /dev/xx - 在阿里云控制臺卸載云盤
- 重新將其掛載到原ECS上,啟動
- 登錄正常,恢復(fù)業(yè)務(wù)系統(tǒng)。
參考: