[인프라 생존기]

[인프라 운영] "짐작은 재앙을 부른다: grep 한 줄로 잡아낸 솔루션의 민낯" (시즌 2-57편)

기록자 느혜미야 2026. 6. 1. 08:30

[지난 이야기] kill -9이라는 강제 종료의 칼을 빼든 뒤에야 비로소 평화가 찾아왔습니다. 1분마다 4GB씩 차오르던 지옥 같은 숫자들이 멈춘 순간, 뒤늦게 도착한 응용팀의 뻘쭘한 표정... 하지만 이 '종결' 뒤에는 인프라 아키텍트의 치밀한 히스토리가 숨어 있었습니다.

👉 [[시즌 2-56편] "죽지 않는 좀비 프로세스와 4GB의 사투" 다시보기]


1. "내가 죽인 게 진짜 맞습니까?" – 영역을 넘나든 이유

앞서 말씀드린 대로 저는 응용 어플리케이션 담당자가 아닙니다. AA가 "프로세스 재기동하세요"라고 가이드를 던졌을 때, 사실 저는 고민에 빠졌습니다. 내 담당이 아닌 프로세스를 명령어로 내렸을 때, **'정상적으로 종료되었는가'**를 확신할 데이터가 제게는 없었기 때문입니다.

 

인프라 엔지니어에게 '대충 죽었겠지'라는 짐작은 곧 100% 장애라는 재앙으로 이어집니다. 그래서 저는 체면을 치우고 AA에게 집요하게 물었습니다. "제가 지금 죽인 프로세스를 ps -ef | grep으로 잡았을 때, 정확히 어떤 키워드가 남아야 '완전 종료'로 판단할 수 있습니까?"

2. 히스토리의 재구성: 왜 kill까지 가야 했나

단순히 제가 성격이 급해서 kill을 날린 게 아닙니다. AA가 알려준 키워드로 확인해 보니, 소프트웨어적인 종료 명령어(stop)를 내렸음에도 해당 프로세스는 여전히 메모리를 점유하며 **'좀비 상태'**로 버티고 있었습니다.

 

이 히스토리가 중요한 이유는 하나입니다. 정상적인 명령어로는 이 폭주를 막을 수 없었다는 증거이기 때문입니다. 제가 이 디테일을 놓치고 "명령어 내렸으니 됐겠지"라고 방관했다면, 응용팀이 현장에 도착했을 때 NAS는 이미 사망 선고를 받았을 겁니다. 아키텍트의 '확인 강박'이 시스템의 골든타임을 지켜낸 셈입니다.

3. 밝혀진 민낯: 솔루션 버그라는 결론

결국 이 모든 소동의 원인은 **'솔루션 자체의 심각한 버그'**로 밝혀졌습니다. 특정 임계치를 넘어서면 프로세스가 자폭하듯 무한 루프를 돌며 쓰레기 데이터를 NAS에 쏟아붓고, 심지어 자신을 종료하라는 명령조차 무시하도록 설계된 치명적인 결함이었습니다.

 

네트워크 담당자가 "껌"이라 비웃고, 응용팀이 "인프라 문제"라며 떠넘겼던 그 시간 동안, 인프라 아키텍트는 남의 집 프로세스 내부까지 들여다보며 이 '괴물'과 싸우고 있었던 것입니다.


📖 오늘의 인프라 묵상

"지혜로운 자의 마음은 그의 입을 슬기롭게 하고 또 그의 입술에 지식을 더하느니라" (잠언 16:23)

 

모르는 것을 부끄러워하지 않고 "정확히 무엇을 확인해야 하는가"라고 묻는 슬기로움이 결국 진실을 밝힙니다. 아키텍트의 날카로운 질문 하나가 솔루션의 버그를 만천하에 드러내는 가장 강력한 무기가 되었습니다.

 

[다음 이야기 예고!]

"UAK가 User인가요? 침묵이 만든 빌런의 확신" (시즌 2-58편)

 

장애 보고서의 팩트 폭격에도 불구하고, 빌런의 '근거 없는 자신감'은 장소를 가리지 않습니다. 이번엔 IBM 서버의 핵심 키워드인 **UAK(Update Access Key)**를 두고 벌어진 황당한 참견.

 

"그거 'User 뭣인가' 아니에요?"

 

무지한 자의 아는 척에 대처하는 아키텍트와 팀장의 '침묵의 기술'. 대꾸할 가치조차 느끼지 못한 그 싸늘한 현장의 공기를 기록합니다.