GPU 서버를 들이고 서버실부터 다시 지었습니다
: 누리미디어 인프라 담당자의 GPU 서버 구축기 (1) 서버실 편
제목없음
제목없음
안녕하세요, 저는 누리미디어 개발운영팀에서 사내 서버와 네트워크를 담당하고 있습니다.
지난 글에서 AI 엔지니어들이 드디어 GPU 서버를 얻어 초록을 추출하고 논문을 OCR로 처리하기 시작했다는 이야기를 전해드렸는데요. (▶ 바로가기)
그 글 끝에는 이런 문장이 있었습니다.
"언젠가 이 과정을 실시간으로 함께 겪었던 인프라 담당자의 글에서 더 자세히 소개할 수 있을 것 같습니다."
이제 그 이야기를 해보려고 합니다.
AI 엔지니어들이 GPU로 무엇을 할지 고민하는 동안, 서버실에서는 조금 다른 싸움이 벌어지고 있었습니다.
열과 소음, 냉각처럼 모델 학습 화면에는 절대 보이지 않는 것들이었어요.
2025년 4월부터 2026년 7월까지 약 1년 4개월.
GPU 4장으로 시작한 누리미디어의 사내 GPU 인프라는 지금 총 12장을 운영하는 규모로 커졌습니다.
그사이 서버실을 여러 차례 뜯어고쳤고 금요일 밤부터 토요일 아침까지 12시간 동안 공사를 하기도 했습니다.
나중엔 추석 당일 새벽에 GPU가 고장 나기도 했습니다. 냉각기가 멈추지 않아 새벽 2시에 서버실 온도가 영하 1도까지 떨어진 적도 있었고요.
이 이야기는 두 편으로 나눠서 쓰려고 합니다.
이번 1편은 서버실이라는 공간 자체를 만들어가는 과정, 그러니까 열과 소음, 그리고 냉각 장치와의 싸움입니다.
제목없음
GPU가 필요했던 이유
시작은 2025년 4월이었습니다.
DBpia AI 검색과 AI 요약, 의미기반 검색 같은 AI 서비스를 직접 개발하려면 고성능 GPU가 필요했습니다.
도입 기안에는 활용 계획을 이렇게 7가지로 정리했습니다.
① 논문 데이터에 특화된 자체 딥러닝 모델 학습② 의미기반 검색용 임베딩 모델 학습③ AI 요약용 LLM 학습④ 주제 분류 모델 학습⑤ 딥러닝 모델을 활용한 데이터 생성⑥ 저품질 데이터 전처리용 LLM 개발⑦ 논문 데이터 검증용 임베딩 모델 개발
목록만 보면 담백하지만 하나하나가 다 직접 GPU를 만져보지 않으면 안 되는 일이었습니다.
클라우드 GPU를 빌려서 돌려볼 수도 있었지만 학습 데이터가 전부 자사 논문 데이터여서 보안 리스크도 함께 고려해야 했거든요.
그다음은 어떤 GPU를 살지 정하는 일이었습니다.
A100은 이미 세대가 오래돼 최신 딥러닝 모델을 학습하기엔 불리했습니다. H100은 성능은 좋았지만 그만큼 가격 부담이 컸고요.
당시 개발 업무와 비용을 함께 따져보니 L40S가 가장 적합하다는 결론이 나왔습니다.
견적도 꼼꼼히 비교했습니다.
총 3곳에서 견적을 받았는데 그중 두 곳은 요구 사양에 미달했습니다.
실제 업무에서 CPU 연산량이 많지 않다는 점을 근거로 CPU 등급도 한 단계 낮췄습니다.
여기에 벤더 할인까지 추가로 협의해서 최초 견적에서 10% 이상 비용을 낮췄습니다.
최종적으로는 사내 인프라를 통합으로 유지보수하는 업체를 선택했습니다. 관리 포인트를 늘리지 않고 문의 창구를 하나로 유지하기 위한 선택이었습니다. 이 결정 덕에 새벽에 문제가 생겨도 전화할 곳이 한 군데뿐이라 나중에 장애가 났을 때마다 큰 도움이 됐습니다.
짧게 쓰고 반납할 계획이었다면 클라우드가 나았을 겁니다.
하지만 저희는 장기간 계속 사용할 예정이었고 학습 대상도 자사 논문 데이터였습니다.
사용 기간이 길어질수록 클라우드의 시간당 비용이 누적돼 구매 비용을 넘어서는 시점이 오는데 저희 워크로드로는 그 시점이 생각보다 빨리 온다는 계산이 나왔습니다.
이런 조건이라면 클라우드보다 직접 구매해서 내부에서 운영하는 방식이 비용과 보안 측면에서 더 나았습니다.
제목없음
드디어 도착한 서버, 그리고 2주의 평화
그렇게 2025년 7월 23일, NVIDIA L40S 4장을 탑재한 누리미디어의 첫 GPU 서버가 사내 서버실에 들어왔습니다.
디스크 한 장에 문제가 생겨도 데이터를 지킬 수 있도록 RAID를 구성했습니다.
원격 관리 기능도 점검해뒀습니다. 서버실에 직접 가지 않아도 상태를 확인하고 이상이 생기면 메일로 알림이 오게 해두는 기능입니다.
예전에는 문제가 생기면 서버실에 가서 눈으로 확인하는 형태였거든요.
이번엔 처음부터 그 부분을 신경 써서 설계하려고 했습니다. AI 모델과 데이터를 보관할 약 10TB 규모의 공간도 마련했습니다.
서버실 입구
최초 GPU 서버 도입(L40S)
서버가 들어오던 날은 다들 기대에 부풀어 있었던 게 생생히 기억납니다. 몇 달을 준비한 프로젝트가 드디어 형태를 갖췄으니까요.
제목없음
서버실이 31도가 되던 날
8월 7일 오전이었습니다. GPU 한 장을 사용하는 작업을 돌리고 있었는데 서버실의 소음과 발열이 빠르게 올라갔습니다.
확인하러 들어가 보니 서버실 온도계는 고장 나 있었습니다. 에어컨에 표시된 온도는 이미 31도.
일단 급한 대로 할 수 있는 건 다 해봤습니다. 랙 옆 판넬을 뜯고 창고에 있던 선풍기를 가져왔습니다.
천장 배전함도 열어보고 서버실 문을 한 시간 동안 열어두기도 했습니다.
그래도 온도는 충분히 내려가지 않았어요.
결국 그날 저녁 GPU 서버 전원을 껐습니다.
애써 들여온 서버를 도착한 지 2주 만에 꺼야 한다니, 그 순간엔 정말 허탈했어요.
하루 뒤 서버실 온도는 25도까지 내려갔습니다.
역산해 보니 GPU 4장을 모두 가동했다면 32도를 넘겼을 가능성이 있었습니다.
에어컨 기사님을 불러 함께 검토했는데 답은 냉정했습니다.
에어컨 용량을 키워도 온도 하강 효과는 미미하고 천장에 선풍기를 달아도 별 영향이 없을 거라고 했습니다.
기존 에어컨에는 공기 순환 기능 자체가 없었고요.
일반 사무실 냉방 구조로는 GPU 서버의 발열을 계속 감당하기 어렵다는 이야기였습니다.
그때 처음 GPU 서버의 발열은 사무실 에어컨 상식으로는 가늠이 안 되는 수준이라는 걸 실감했어요.
GPU 서버를 외부 IDC(Internet Data Center, 인터넷 데이터 센터)로 옮기는 방법도 검토했습니다.
하지만 서버를 이설하려면 계약부터 물리적 이전까지 시간이 꽤 걸렸습니다.
학습 데이터가 전부 자사 논문 데이터였던 만큼 보안 원칙도 그대로 유지하고 싶었고요.
처음 GPU를 도입할 때부터 지켜온 원칙이었습니다. 이미 갖춰둔 랙과 네트워크 구성을 그대로 살릴 수 있다는 점도 컸습니다.
결국 서버를 옮기기보다 서버실 자체를 바꾸기로 했습니다.
제목없음
금요일 밤 10시, 서버실을 뜯다
문제를 다시 들여다보니 원인은 세 가지였습니다.
GPU를 켜고 끄면서 온도를 비교해보니 GPU가 가동되는 것만으로 서버실 온도가 6도 이상 올라갔습니다.
기존 랙의 위치와 방향도 냉방에 불리했습니다.
마지막은 추천 논문 생성 시스템 PC들이었습니다. 이미 사용을 종료할 예정이었는데도 서버실의 상당한 공간을 차지하며 계속 열을 내고 있었습니다.
사내 시스템 전체를 멈춰야 하는 작업이라 업무에 미치는 영향을 줄이려고 일부러 금요일 밤을 택했습니다.
8월 22일 금요일 밤 10시, 대대적인 서버실 개조 작업을 시작했습니다.
추천 논문 생성에 쓰던 PC 25대를 전부 퇴거시켜 공간을 확보하고 발열 자체를 줄였습니다.
천장 에어컨 방향에 맞춰 랙 위치를 다시 잡았습니다.
오래된 UPS를 교체해서 실시간 상태를 확인할 수 있게 했습니다.
전원·랜 케이블을 전부 정리하고 라벨링을 새로 했습니다.
작업이 끝난 건 다음 날 오전 10시. 총 12시간이 걸렸습니다.
서버실 전원을 내려야 했던 탓에 그동안 VPN과 스토리지, AD, DNS를 포함한 사내 시스템 전체가 함께 멈췄습니다.
협력업체 6개 사에서 총 10명이 투입됐습니다.
첫 번째 GPU 서버 한 대를 안정적으로 돌리는 데 생각보다 훨씬 많은 사람이 금요일 밤을 서버실에서 함께 보냈습니다.
새로 들인 UPS는 실시간으로 상태를 볼 수 있고 제조사 기술지원도 정상적으로 받을 수 있는 모델이었습니다.
오래된 UPS로는 정작 문제가 생겼을 때 뭐가 잘못됐는지조차 알기 어려웠거든요.
UPS 설치 모습
이렇게 열을 어느 정도 잡고 나니 이번엔 귀가 괴로웠습니다.
제목없음
이게 서버실인지 지하철인지
GPU 서버의 냉각팬은 생각보다 훨씬 시끄러웠습니다.
당시엔 서버가 있는 3층 업무 공간에서도 팬 소리가 들릴 정도였거든요.
정확한 수준을 알아보려고 8월 26일 서버를 5층 방음실로 옮겼습니다.
데시벨 측정기를 들고 방음실 내부와 문 앞, 라운지를 오가며 직접 소음을 측정해봤습니다.
측정해보니 이랬습니다.
방음실 내부: 70~75dB, 지하철 안에서 느끼는 정도의 소음
방음문을 닫은 문 앞: 40~45dB
조금 더 떨어진 라운지: 35~40dB, GPU를 껐을 때의 평소 소음과 거의 같은 수준
차폐만 제대로 하면 소음을 확실히 줄일 수 있다는 걸 수치로 확인했습니다.
이 결과는 이후 GPU 전용 밀폐형 냉각 Rack을 도입하는 근거가 됐습니다.
제목없음
세 번째 공사, 그리고 작은 센서 하나
8월에 진행한 1차 개조만으로는 앞으로 있을 GPU 증설을 감당하기 어려웠습니다.
공간은 여전히 좁았고 소음 문제도 남아 있었습니다. GPU가 늘어나면 발열은 더 커질 예정이었고요.
당시 기안에는 이렇게 적었습니다.
"향후 GPU 서버 추가 도입을 고려한다면, 현재의 서버실 환경에서는 운용이 불가능하다."
그래서 10월 한 달 동안 서버실 공사를 세 차례 더 진행했습니다.
확장 공사 현장 (1)
확장 공사 현장 (2)
차수
일자
작업 내용
1차
10/18(토), 14시간
서버실 옆 창고 철거로 면적 확대, 문을 방음문으로 교체
2차
10/19(일), 9시간
신규 차단기 설치, 인터넷 회선 연장, 기존 랙·웹방화벽 이전
3차
10/26(일), 11시간
GPU 전용 냉각 Rack 설치, 스탠딩 에어컨 추가(옥상 실외기 포함)
순서에도 이유가 있었습니다.
창고를 먼저 철거해 공간을 확보해야 그다음 전기 공사와 냉각 장비 반입이 가능했거든요.
세 번을 합치면 총 34시간입니다.
1, 2차 공사 동안은 사내 전체 인프라가 약 30시간 동안 중단됐습니다.
인터넷과 VPN, 스토리지, AD, DNS는 물론 일부 외부 서비스 접근까지 영향을 받았습니다.
협력업체 6곳은 각자의 공정을 맡아 릴레이로 투입됐습니다.
한 회사가 철거하면 다음 회사가 전기 공사를 하고 그다음 회사가 냉각 장비를 앉히는 식이었어요.
일정 하나가 밀리면 뒤에 대기하던 업체 전체 스케줄이 함께 흔들리는 구조라 그 사이에서 순서를 조율하는 것도 만만치 않았습니다.
공사를 거치며 서버실 모습도 완전히 달라졌습니다.
새로 설치한 GPU 전용 냉각 Rack은 자체 냉각기를 내장한 밀폐형 구조였습니다.
내부 온도를 22~26도로 유지하면서 소음까지 랙 안에 가둬주는 장비입니다.
앞서 측정했던 소음 데이터가 정확히 이 장비를 고르는 근거가 됐습니다.
여기에 서버실 안의 뜨거운 공기가 한쪽에 갇히지 않도록 후면에 써큘레이터도 함께 설치했습니다.
GPU 전용 냉각 랙
여기에 작은 장치를 하나 더 추가했습니다. 바로 온도 센서입니다.
냉각 랙 내부가 28도 이상이 되면 담당자 휴대폰으로 알림이 가고 40도를 넘으면 랙의 앞뒤 문이 자동으로 열려 내부 열을 배출합니다.
8월에 온도계가 고장 난 줄도 모르고 있다가 31도를 뒤늦게 발견한 경험 때문에 이번에는 사람이 직접 확인하지 않아도 되는 장치를 반드시 넣고 싶었습니다.
센서 두 개에 들어간 비용은 고작 수십만 원이었어요. 전체 GPU 프로젝트에서 보면 정말 작은 금액이었죠.
그런데 이 작은 센서가 이후 여러 차례 서버의 이상을 가장 먼저 알려주는 존재가 될 줄은 그때는 몰랐습니다.
제목없음
냉각기가 멈추다
2025년 12월 23일 오전 10시 35분, 랙 전면 화면까지 먹통이라 화면으로 문을 열 수도 없는 상황이 찾아왔습니다.
제조업체와 통화하면서 랙 후면 차단기를 내렸다가 다시 올려 내부 제어 장치를 재부팅했습니다.
약 5분 뒤 냉각 기능이 다시 돌아왔습니다.
그사이 AI 사업부에는 GPU 작업을 잠시 멈춰달라고 요청해 발열부터 줄였습니다.
장애를 인지하고 정상화하기까지 약 40분이 걸렸습니다.
확인해보니 진짜 원인은 냉각 랙 안에 들어 있던 작은 제어 컴퓨터였습니다.
냉각기가 작동하는 순간 전력이 튀면서 제어 장치가 영향을 받은 것으로 추정됐습니다.
제어 장치는 새 제품으로 교체했습니다. 전기 노이즈를 줄여주는 장치도 함께 추가했어요.
이 일을 겪고 나서 긴급 대응 매뉴얼을 만들었습니다.
장애가 발생했을 때 누가, 언제, 무엇을 해야 하는지 5단계로 정리한 문서입니다.
덕분에 나중엔 담당자가 자리에 없어도 다른 팀원이 같은 장애를 그대로 처리할 수 있게 됐습니다.
제목없음
영하 1도가 된 서버실
2026년 4월 30일 새벽, 이번에도 온도 센서가 울렸습니다. 그런데 이번엔 상황이 정반대였습니다.
온도가 계속 떨어지고 있었거든요.
01:10 서버실 온도가 떨어지기 시작
01:15 장애 인지
01:40 원격으로 GPU 서버 안전하게 종료 (당시 온도 6도)
02:20 서버실 도착, 냉각기 강제 중단 (영하 1도)
02:49 랙 문 개방, 제습 진행
04:02 19도로 회복 후 철수
제어 장치가 이번엔 반대 방향으로 오동작하면서 냉각기가 멈추지 않고 계속 돌아갔습니다.
새벽 2시 20분에 서버실에 도착했을 때 온도는 이미 영하 1도. 더 무서웠던 건 서버 상판에 맺힌 습기였어요.
전자 장비에 특히 위험한 게 결로입니다. 뜨겁게 달아오른 장비에 차가운 공기가 급격히 닿으면 표면에 물방울이 생깁니다.
수분이 닿으면 큰 장애로 이어질 수 있고요.
냉각기를 강제로 멈추고 랙 문을 연 뒤 제습을 하면서 온도를 19도까지 끌어올렸습니다.
새벽 4시 2분이 되어서야 서버실에서 나올 수 있었습니다.
다행히 전체 하드웨어를 점검한 결과 이상은 없었습니다.
이후에는 제어 장치와 연결 케이블을 전부 교체하고 제어 장치 전용 무정전 전원도 추가했습니다. 제어 장치 자체도 이중화했습니다.
냉각 랙 장애는 두 달에 한 번꼴로 반복됐습니다.
근본 원인으로 추정된 전기 노이즈를 이때부터 본격적으로 손보기 시작했어요.
제목없음
1편을 마치며
여기까지가 서버실이라는 공간을 만들어가는 과정이었습니다.
4월에 GPU 도입을 검토하기 시작해 7월에 서버를 들이고, 8월과 10월에 걸쳐 서버실을 통째로 뜯어고쳤습니다.
그 뒤로도 12월과 이듬해 4월, 냉각 장치가 두 번이나 반대 방향으로 오작동하고 나서야 이 공간은 어느 정도 자리를 잡았습니다.
이 1년 동안 뼈저리게 배웠습니다. GPU 서버를 들이는 일은 결국 그 장비가 견딜 수 있는 공간을 함께 만드는 일이었습니다.
서버 사양표에는 온도나 소음 기준이 나와 있지 않으니 저희가 직접 재고 겪으면서 알아내야 했습니다.
31도까지 오른 서버실에서 선풍기를 찾아 뛰어다니던 시간, 방음실에서 데시벨을 재던 시간, 영하 1도까지 떨어진 새벽 서버실에서 결로를 걱정하던 시간.
그 모든 순간이 지금의 냉각 Rack과 방음문, 이중화된 제어 장치로 이어진 거예요.
당연히 사무실 에어컨이면 충분할 거라고 생각했던 게 저희의 착각이었습니다.
GPU 서버는 일반적인 사무실 장비와는 완전히 다른 종류의 발열체였습니다.
그 사실을 몸으로 겪고 나서야 진짜 대응을 시작할 수 있었습니다.
열을 잡고 소음을 줄이고, 냉각 장치의 오작동까지 두 차례 넘게 겪고 나서야 다음 증설을 위한 여유 공간을 확보했습니다.
공간을 다잡고 나니 이번엔 하드웨어가 예고 없이 고장 나기 시작했습니다. 무엇보다 예상치 못했던 건 전기와의 싸움이었습니다.
다음 편에서는 그 이야기를 이어가겠습니다.