시스템 안정성 문제의 근본 원인을 진단하고 찾는 데 도움이 필요합니다. 모든 징후는 일종의 하드웨어 문제(디스크 또는 RAM)를 가리키지만 지금까지 조사한 결과 아무 것도 밝혀지지 않았습니다.
이것은 Ubuntu 20.04를 실행하는 새로운 하드웨어를 갖춘 완전히 새로운 시스템입니다. 2x16GB RAM과 2TB 삼성 SSD(Samsung 970 EVO Plus)를 탑재한 NUC(D54250WYK / NUC8I5BEH)입니다. 이것은 또한 Ubuntu를 새로 설치한 것입니다. 시스템에는 도커 엔진과 약 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
많은 조사 끝에 해결책을 찾은 것 같습니다. (지금까지 충돌은 없습니다.)