예기치 않은 Linux 서버 종료를 조사하는 방법은 무엇입니까?


16

데비안 6의 공격대 10에서 4xSSD가 장착 된 새로운 Xeon 55XX 서버에서 서버가 구축 된 후 2 주 이내에 2 개의 임의 종료가 발생했습니다. 종료하기 전에 대역폭 로그를 살펴 본다고해서 비정상적인 것은 아닙니다. 서버로드는 일반적으로 매우 낮으며 (약 1) 멀리 배치됩니다. 서버가 다운되는 동안 정전이없는 것 같습니다.

나는 / var / log를 보았지만 조사해야 할 로그와 무엇을 찾아야할지 확실하지 않습니다. 힌트를 주셔서 감사합니다.


무슨 문제가 있었습니까?
— cherouvim

답변:


11

먼저 "셧다운"이라고 물어봐야합니까? 머신이 재부팅되거나 실제로 정지 했습니까? 중지되면 잘못 구성되었거나 (BIOS에있을 수 있음) 시스템이 실제로 종료 된 것입니다 (예 : init 0).

그렇지 않은 경우 문제는 커널 패닉이나 소프트웨어 트리거 하드웨어 결함처럼 들리므로 주 후보는 / var / log / syslog 및 /var/log/kern.log입니다. 물론 서버가 일부 서비스 (예 : 아파치)를 실행하면 힌트를 얻을 수도 있습니다.

종종 이런 상황에서는 로그 항목이 생성되지만 시스템에 문제가 있기 때문에 항목을 디스크에 쓸 수 없습니다. 박스가 같은 위치에 있으면 콜로 파트너가 시리얼 콘솔에 연결할 가능성이 있습니다. 위의 로그에서 의심스러운 것을 찾지 못하면 내가 볼 곳입니다.

머신이 직렬 콘솔에 연결되어 있지 않고 로그에 아무것도없는 경우 네트워크를 통해 다른 상자에 syslog를 보내는 것을 고려할 수 있습니다. 네트워크 인터페이스가 약간 더 오래 지속될 수 있으며 syslog 서버에서 로그 메시지를 읽을 수 있습니다. rsyslog 또는 syslog-ng를 살펴보십시오.

최신 정보:

아래 @Johann에 동의합니다. 중지의 원인은 프로세서 온도 워치 독입니다. lmsensor 또는 smartctl (보통 가장 쉬운 방법)을 통해 상자의 온도를 확인 / 플로팅하십시오. 수집 된 것이 시간이 지남에 따라 많은 수의 변수를 추적하는 데 필적 할 수 없다는 것을 알았습니다. IPMI와 lm- 센서 및 hddtemp를 모두 수행 할 수 있습니다. 또한 일부 BIOS :는 온도 정지 이벤트를 기록합니다.


기계가 꺼지고 지원을 수동으로 시작하도록 요청한 직후에 다시 작동했습니다.
— alfish

온도가 문제인 경우 munin을 설치하여 시간에 따른 온도 데이터를 추적하여 추세를 파악하십시오.
— pkhamre

온도 문제 +1 데이터 센터의 내 서버 중 하나에 동일한 기능이 있었으므로 시스템을 구축 할 때 CPU 팬 중 하나를 연결하는 것을 잊었습니다.
— Grant

9

먼저을 확인하고 싶습니다 /var/log/syslog. 당신이 확실하지 무엇을 찾아야하는 경우, 당신은 단어를보고 시작할 수 있습니다 error, panic하고 warning.

grep -i error /var/log/syslog

사용 가능한 시스템 그래프가있는 경우 (예 : Munin). 그것들을 점검하고 비정상적인 패턴을 찾으십시오. munin이 설치되어 있지 않은 경우 설치하는 것이 좋습니다 ( apt-get install munin munin-node)

또한 시스템 충돌과 관련 될 수있는 흥미로운 메시지가 있는지 루트 메일을 확인해야합니다.

확인해야 할 다른 로그 파일은 응용 프로그램 오류 로그입니다. 예를 들어 /var/log/apache2/error.log또는 유사합니다. 문제를 일으키는 정보가 포함되어있을 수 있습니다.


6

내 경험상 "예기치 않은 정지"는 거의 항상 과열로 인해 발생합니다. lm_sensors를 통해 온도와 팬 속도를 확인하고 그것들이 좋은지 확인하십시오.

최근에는 동일한 패턴이있었습니다. 지원이 수동으로 시작한 후 약 1 시간 후에 서버가 중지되었습니다. 이 시간이 지나면 CPU 온도가 BIOS에서 구성된 임계 값 (iirc 60 또는 70 ° C)에 도달하여 시스템이 중지됩니다. CPU 팬 고장으로 인한 이러한 모든 문제. 팬을 교체 한 후 모든 것이 정상으로 돌아 왔습니다.


2

/ var / log 디렉토리에는 여러 개의 로그 파일이 있으며 하위 디렉토리도 포함됩니다.

/var/log/boot

과

/var/log/boot.log

위의 파일로 시작하십시오.


그리고 "무엇"을 찾으십니까?
— Pierre.Vriens

실패한 유형에 따라 다릅니다. 대부분의 경우 근본 원인은 커널 충돌, 정전 또는 과열로 인한 CPU 종료로 인해 로그 파일에 항목을 쓰거나 디스크에 플러시 할 사람이 없기 때문에 메시지가 전혀 없습니다. .
— asdmin

1

종료를 트리거 한 원인을 확인하는 두 가지 방법이 있습니다. 먼저 하드웨어의 문제에 대해 대역 외 관리 콘솔을 확인하십시오. SNMP를 구성하고 이메일을 받거나 경고를위한 모니터링 소프트웨어에 트랩을 추가하는 것이 좋습니다.

그런 다음 운영 체제를 통해 /var/log/messages(RedHat 기반 배포판) 또는 /var/log/syslog(Debian Based distros)를 확인할 수 있습니다.


0

디스크 하위 시스템은 문제가 발생했을 때 영향을 받기에 충분히 복잡합니다. 로그 파일에는 거의 아무것도 없기 때문입니다.

시리얼 콘솔을 통해 로그인하십시오. 여기에는 케이블을 연결하고 회선을 픽업하는 다른 시스템이 필요하지만 실제로 문제를 잡을 가능성이 더 큽니다.

물론 노드에 Oracle의 ALOM / ILOM과 유사한 내장 관리 시스템이있는 경우 가능한 문제점 및 로그 파일을 확인할 수도 있습니다.


-1

다음 명령으로 시스템이 다운되었다는 사실을 시스템이 알고 있는지 확인할 수 있습니다.

sudo last -1x reboot
sudo last -1x shutdown

info =>가 없으면 전원이 끊어 지거나 외부의 무언가가 손실 될 수 있습니다

재부팅 / 종료 시간에 대해 로그에 info => 검색이있는 경우

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.