系统稳定性问题 - 磁盘变为只读、系统停止、终端输入/输出错误

系统稳定性问题 - 磁盘变为只读、系统停止、终端输入/输出错误

我需要一些帮助来诊断和查找系统稳定性问题的根本原因。所有迹象都表明存在某种硬件问题(磁盘或 RAM),但到目前为止我的调查没有发现任何问题。

这是一个全新的系统,具有新的硬件,运行 Ubuntu 20.04。它是一款 NUC (D54250WYK / NUC8I5BEH),配有 2x16GB RAM 和 2TB 三星 SSD (Samsung 970 EVO Plus)。这也是 Ubuntu 的全新安装。该系统上安装的东西很少,只有 docker 引擎和大约 8 个容器。

症状是系统经常会完全停止运行。我几乎无法通过 SSH 登录到机器,有一次我可以,并且我运行的每个命令都给出:

-bash: /usr/bin/ls: Input/output error

其他时候,我根本无法远程登录,而是直接打开计算机上的终端,我可以看到终端记录了许多错误,主要是磁盘已满或无法写入磁盘。

重新启动即可解决问题,并且系统可以正常运行 1 到 6 天,然后问题再次出现。

检查 dmesg 和 syslog 在系统无响应之前我没有看到太多内容。我猜测由于磁盘是只读的而无法写入日志。我确实看到其他服务有点抱怨,例如:

[826122.177679] systemd[1]: This usually indicates unclean termination of a previous run, or service implementation deficiencies.
[826122.178711] systemd[1161852]: containerd.service: Failed to connect stdout to the journal socket, ignoring: Connection refused
[826122.178970] systemd[1161852]: containerd.service: Failed to execute command: Input/output error
[826122.179022] systemd[1161852]: containerd.service: Failed at step EXEC spawning /usr/bin/containerd: Input/output error
[826122.179430] systemd[1]: containerd.service: Main process exited, code=exited, status=203/EXEC
[826122.179439] systemd[1]: containerd.service: Failed with result 'exit-code'.
[826122.179568] systemd[1]: Failed to start containerd container runtime.

我还看到大量 UFW 防火墙的日志记录,阻止各种请求(有些是针对我允许的端口,我不确定为什么会发生这种情况)。

根据研究,这似乎是硬件故障,可能是磁盘或内存。因此,我对两者进行了尽可能多的诊断:

  • smartctl报告没有错误并且 SSD 运行状况良好
  • badblocks系统运行良好,没有问题,零错误
  • fsck没有发现任何问题,除非我因关机不良而重新启动(已立即修复)
  • memtest86运行了多个循环,没有出现问题,报告的错误为零

我还能做什么来更好地诊断这个问题?我可以打开更多日志记录吗?我可以使用其他诊断工具来找出原因吗?

答案1

经过大量挖掘,我似乎找到了解决方案(到目前为止没有崩溃

相关内容