들어가기 전에 배경 설명부터 하자. 카이스트 FTP 서비스는 각종 오픈소스 프로젝트를 미러링하는 서비스이다. 서비스의 운영은 전적으로 SPARCS에서 담당하며, KAIST 정보통신팀과 KT에서 하드웨어를 지원하였다. SPARCS 소유의 각종 서버들을 관리하는 휠 그룹이 있으나, 카이스트 FTP는 ‘지금까지는’ 휠과는 별도로 놀았다. FTP 관리자들이 학교에 있었을 때는 하드웨어나 소프트웨어 문제에 발빠르게 대응할 수 있었으나, 현재는 학교에 있는 FTP 관리자 수가 옛날만큼 못하다.
카이스트 FTP는 두 대의 서버(ftp, ftp2)로 구성되어 있다. ftp는 옵테론 265를 두 개 사용하며 총 하드디스크는 2.5TB RAID 5이다. ftp2는 제온 5110 하나에 4TB RAID 5로 구성되어 있다. 모든 RAID 5 어레이는 하드디스크 12개로 구성되어 있다. Apache, 데비안, 모질라, 우분투 외 7개의 주요 미러는 ftp에서 돌아가고, 그 외의 미러는 ftp2에서 돌아간다. 이 두 시스템은 독립적이면서도 의존적이다.
사진은 SPARCS 서버실이다. SPARCS 서버 왼쪽에는 학교에서 설치해 둔 기숙사 및 1호관 지역으로 가는 네트워크 케이블이 밀집해 있고, 여기에서 광케이블 하나를 따서 SPARCS 서버 및 동아리방으로 네트워크를 공급한다. 맨 위에 보이는 포스트잇이 덕지덕지 붙은 서버가 ftp이고, 은색 랙 아래에 가려서 안 보이는 서버가 ftp2이다.
사건의 발단은 올해 초로 거슬러 올라간다. ftp2의 하드디스크 중 하나가 고장나서 한 동안 ftp2는 하드디스크 11개로 돌아갔다. 고장난 하드디스크는 7월 중에 수리를 받아서 시스템에 장착한 다음 레이드 재구성을 시도하였다. 당시는 방학이었기 때문에 서버에 신경을 쓰는 사람이 많지 않아서 나 또한 ‘수리를 받았으니 레이드 재구성이 되어 있겠지’ 하는 생각으로 하드디스크를 꼽은 채로 그냥 뒀다.
서비스는 뒤에서 굴러가는 듯 했으나, 기대와는 달리 시간이 지나도 레이드가 예상대로 재구성되지 않았다. ‘새로 수리받은 하드디스크가 왜 고장났을까’ 반신반의하는 가운데 설상가상으로 ftp2의 하드디스크가 하나 더 터졌다. RAID 5는 하드디스크가 하나까지는 터져도 무방하나, 두 개 터지면 어레이를 사용할 수 없다. 기왕 손상된 건 어쩔 수 없으니 더 이상의 손상을 막기 위해서 ftp2를 9월 초에 껐고, 새로 수리받자마자 고장난 하드디스크도 같이 빼 두었다. 바로 이 때부터 Sage와 같은 일부 서비스의 미러링이 중단되었다.
ftp 쪽도 영 심상찮았다. 하드디스크 하나가 SMART 오류를 보고하기 시작했다. SMART 오류가 한 번 발생한 하드디스크는 언젠가는 터지고 마는 시한폭탄이라고 보면 된다. ftp2의 하드디스크 교체와 어떻게 잘 맞물려서 ftp의 하드디스크가 터지기를 기다리고 있었다. ftp2의 고장난 하드디스크를 RMA 부치려고 생각했던 날 고장을 예고한 ftp의 하드디스크가 결국 터졌다. ftp2 쪽 하드디스크는 보증 기간이 남아 있었으나, ftp 쪽 하드디스크는 보증기간이 얼마 없어서 새로 사야만 했다.
이번 하드디스크 고장 때문에 서비스를 중단한 기간이 꽤나 길었기 때문에, 다음에 하드디스크가 터졌을 때를 대비하기 위해서 예비용 하드디스크를 같이 샀다. 새 하드디스크를 ftp와 ftp2에 밀어넣은 다음, ftp는 단순히 레이드를 재구성시켰다. ftp2는 고장난 디스크 때문에 눈물을 머금고 어레이를 지운 다음 다시 구성했다. 4TB xfs 파티션을 잡은 다음, 미러링되는 파일이 들어갈 폴더를 다시 잡아 주고 알아서 동기화되길 기다렸다. 처음부터 새로 받아오는 거라서 동기화 시간이 좀 오래 걸렸다.
현재 카이스트 FTP 서비스는 정상 작동하고 있다. 카이스트 FTP 고객에게 좋은 소식이 하나 있다면, kr.archive.ubuntu.com을 다음 미러로 넘기기로 결정하였다. 우분투 한국 로코팀 관계자가 kr.archive.ubuntu.com을 다음으로 보내는 게 어떨까 먼저 제안하였고, 잠깐 메일링이 돈 다음에 그냥 다음으로 넘기기로 했다. 우분투 미러는 카이스트 FTP의 트래픽 잡아먹는 괴물주요 고객이다. 사용량을 분석해 보면 우분투와 페도라가 각각 1/3씩, 나머지 전부의 합이 1/3이다. 이 1/3을 다른 미러가 가져가 준다면 우리 미러의 다른 사용자들이 더 득을 볼 것이라고 확신한다.