Linux 머신 정지 디버깅

15 개의 동일한 Linux RH 4.7 64 비트 서버가 있습니다. 클러스터 데이터베이스를 실행합니다 (클러스터는 응용 프로그램 수준임). 때때로 (매달 정도) 임의의 상자 (동일하지는 않지만)가 멈 춥니 다.

상자와 핑 작업을 할 수 있습니다. 상자에 ssh하려고하면 다음과 같은 결과가 나타납니다.

ssh_exchange_identification: Connection closed by remote host

SSH가 올바르게 설정되었습니다.

서버 룸에 가서 콘솔에 직접 로그인하려고하면 Alt+ 로 콘솔을 전환 Fn할 수 있으며 사용자 이름을 입력 할 수 있으며 문자가 표시되지만을 누른 후에 Enter는 아무 일도 일어나지 않습니다. 나는 8 시간을 기다렸다가 바뀌지 않았다.

모든 것을 원격 호스트에 기록하도록 syslog를 설정했는데 해당 로그에는 아무것도 없습니다. 컴퓨터를 재부팅하면 문제없이 작동합니다. HW 테스트를 실행했습니다. 모든 것이 정상이며 로그에 아무것도 없습니다. 머신은 NAGIOS로도 모니터링되며 동결 전에 비정상적인로드 나 활동이 없습니다.

나는 아이디어가 부족하다. 다른 무엇을하거나 확인할 수 있습니까?



답변

sshd가 서버 키를 보낼 수없는 방식으로 커널이 당황한 것처럼 들립니다. 아마도 네트워크 스택이 여전히 작동하는 방식으로 커널이 쐐기 화되었지만 vfs 계층을 사용할 수 없었습니다.

RHEL4 시스템에서 비슷한 문제가 발생하면 netdump 및 netconsole 서비스 및 전용 netdump 및 syslog 서버를 설정하여 충돌 덤프 및 커널 패닉 정보를 포착했습니다. 또한 kernel.panic sysctl을 10으로 설정했습니다. 이렇게하면 시스템 패닉이 발생하면 해당 시스템에서 커널 트레이스와 메모리 복사본을 모두 얻을 수 있으며 ‘crash’유틸리티로 분석 할 수 있습니다.

호스트 용 직렬 콘솔을 설정하면 확실히 이점을 얻을 수 있으므로 콘솔이 출력되어 마법의 sysrq 키에 부딪 칠 수 있습니다. 또한 네트워킹을 기꺼이 설정하고이를 지원하는 하드웨어가있는 경우 IPMI를 사용하여 원격으로 전원을 끄고 전원을 켜고 다시 시작하고 하드웨어를 쿼리 할 수 ​​있습니다.

(가치있는 가치를 위해 RHEL5는 kexec / kdump와 유사한 기능을 가지고 있으며 크래시 덤프 만 로컬에 저장됩니다)


답변

기억력이 부족한 도넛에 달러를 걸겠습니다. 어디에서 얻을 수 있는지 알아 내려고 시도하면서 시스템이 멈췄습니다. 모니터링이이를 포착하지 못할 정도로 빠르게 발생할 수 있습니다. 메모리 사용량의 원격 로깅을 포함하여 모니터링을 강화했습니다. 로그에서 OOM 메시지도 확인하십시오.

(일부 ssh 창을 열어 두어야 할 수도 있습니다.)


답변

나에게 이것은 시스템에 리소스가 부족한 것처럼 들리므로 ssh의 서버 측에 필요한 프로세스를 할당 할 수 없습니다.

실제 병목 현상은 프로세스 나 메모리에 따라 다를 수 있으며 확실한 유일한 방법은 로그와 콘솔을보고 무언가가 있는지 확인하는 것입니다. 다음에 발생할 때 간단히 준비하기 위해 사전 시작된 ssh 작업 (각 머신마다 하나씩)의 시나리오를 설정하고자 할 수 있습니다.

그것이 정말로 나쁘다면, 더 많은 내장 명령으로 다른 쉘을 시작하는 것을 고려하여 추가 프로세스를 시작할 필요없이 더 많은 조사를 할 수 있습니다. 또한 “tail -f / var / log / *”가 매우 유용 할 수 있습니다.

행운을 빕니다.


답변

내가 비슷한 것을 본 것은 KVM 스위치가 사용되고 키보드 핫키 (예 : alt + n)가 서버 간을 전환하는 데 사용 된 경우뿐입니다. 매번 발생하지는 않았으며 서버가 전환되어 해당 서버에서 영향을 받았으므로 즉시 눈에 띄지 않았습니다. KVM 스위치 자체의 물리적 버튼을 사용하여 서버 간을 전환하면 잠금이 발생하지 않습니다. 단축 키를 자주 사용하는 경우 서버에서 새 로그인을 허용하지 않는 경우가 있습니다. 기존 SSH 세션은 영향을받지 않았습니다.


답변


답글 남기기