IT 시스템을 운영하거나 또는 지원하다 보면, 프로그램이 비 정상적으로 죽는 경우를 자주 목격하게 된다. 일단 죽어도 문제가 없거나, 또는 ERP 나 MES 처럼 중간에 Data 가 손실되는 경우 크게 문제가 없다면, 그냥 다시 살아 올 때까지 기다리면 문제가 없다. 특히 해당 Application 이 Windows 의 서비스로 등록되어 있는 상황이라면 죽자 마자 잽싸게 운영 체제 차원에서 살리는 경우가 많으므로 이럴 때는 정말 문제가 되지 않는다.

   

하지만, 해당 Application 이 잠시 죽는 경우라도 많은 사용자들이 불편을 느끼는 경우라거나, 한번 이라도 Crash 가 발생하게 되면 (일반적인 표현으로 죽는다는 표현을 Crash 가 발생한다라고 표현을 한다.) 문제가 심하게 되거나 Process 가 재시작하는데 많은 시간이 걸리는 Process (SQL 엔진과 Exchange Store 서비스가 대표적이다.) 가 자주 죽는다면 꼭 해결을 해야 한다.

   

문제 해결 방법

   

안타깝게도 본인이 아주 우수한 커널에 대한 지식을 가지고 있지 않거나, 또는 해당 문제가 MS 의 Private Symbol 이 필요한 경우라면 자료를 수집하더라도 근본적인 해결은 불가능하다.

이를 위해서 MS 기술지원 서비스가 필요하며, 적지 않는 비용이 들지만, IT 가 절감해 주는 비용과 향상시키는 기업의 생산성을 감안해 볼 때, 해당 서비스를 사용할 가치는 있다. 어떤 일이 있어도 MS 가 자체적인 개발 제품의 소스 코드 공개를 기대할 수 없으니, 우리가 할 수 있는 것은 문제가 발생한 경우 MS 가 분석할 수 있는 최선을 자료를 수집하여 분석 의뢰하는 것이다.

분석 단가는 시간당 엔지니어 단가 중에 가장 높은 편에 속하니, 중요하지 않고 다시 설치하는 것이 나은 경우라면, 차라리 날 잡아 재설치 하는 것이 더 빠르고 싸다.

   

환경 정보 수집

   

어떤 패치가 깔려 있는지, 서버 버전은 무엇인지, 어떤 기능을 쓰고 있는지, 서비스 팩은 무엇인지… MS 기술지원 서비스에 대고 알려 주여야 할 것은 너무도 많다. 하나 하나 알려 주려면 그 뒷감당이 되지 않을 터, 여기 MS 가 요청할 만한 환경 정보를 한번에 수집할 수 있는 Tool 이 있다.

   

http://www.microsoft.com/en-us/download/details.aspx?id=23230

   

MPS Report 라고 하는 Tool 인데… 일단 해당 Tool 을 돌리게 되면, IP 부터 패치 버전, 서비스, 프로세스, 이벤트 로그, 메모리까지 전부 환경 정보를 수집하게 된다. 물론 보안에 필수적인 패스워드 등은 수집에서 제외되지만, 서버 명과 IP 만 해도 중요한 보안 정보일 수 있으니, 함부로 게시하거나 파일을 필요 이상의 인원에게 전송하지는 말자.

대부분의 경우 장애를 지원하는 MS 엔지니어가 요구하는 경우가 많으므로, 분석을 의뢰하기 전에 미리 수집해 두도록 하자. 시간이 절약된다.

Posted by 전략과 비젼