테스트 및 프로그래밍에 사용하는 작은 서버가 있습니다. 현재는 실행 중데비안 9.4 확장 버전그리고4.14.0-0.bpo.3-amd64핵심.
오늘 SSH를 통해 연결을 시도했지만 연결할 수 없었고, 그 다음에는 핑을 시도했지만 액세스할 수 없었습니다. 그래서 전원 코드를 뽑아서 재부팅해야 했습니다. 그러다가 /var/log/syslog
정확한 내용이 포함된 이상한 줄을 발견했습니다.6140아래와 같은 캐릭터
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
그런 다음 시스템을 다시 시작하기 위한 새 로그 항목이 나올 때까지 아무것도 없습니다. 실제로 이런 일은 처음입니다.
그게 뭔지 아는 사람 있나요?
답변1
내용이 모두 0인 syslog 파일은 실제로 파일 시스템/syslog 쓰기가 손상된 것입니다.
시스템이 시스템 로그 파일에 쓰는 동안 시스템 충돌이 발생하며 이것이 최종 결과입니다.
이는 지난 몇 년 동안 Linux VM에서 여러 번 발생했으며 Raspberry 및 Banana Pis에서도 몇 번 발생했습니다.
일회성 이벤트에 대해 왜 그런 일을 했는지 조사하는 데 집착하거나(너무 많이) 많은 시간을 낭비할 필요가 없습니다. 왜 충돌했는지 알아내는 것이 더 걱정될 것입니다. 특히 정기적인 이벤트라면 더욱 그렇습니다.
추신: 일화적인 영역으로 이동하여 지난번에 Banana Pi R1에서 이런 일이 자주 발생했을 때 (결함이 있는) realtek WiFi 칩셋에서 원인을 추적할 수 있었습니다.
답변2
좀 확장해 보세요그 대답, syslog는 메모리 페이지의 내용을 부분적으로 디스크에 커밋하고 syslog의 메타데이터는 최신이 아닙니다. 문자열은 ^@
실제로 새로 할당된 메모리 페이지에 처음 포함된 것과 정확히 동일한 NUL 바이트입니다.