매니아 데이터 센터 구축, 10년 만의 작은 결실
382
69230
Updated at 2015-11-16 16:51:59
안녕하세요, 홈지기입니다.
매니아가 앞으로 나아가는 데 뜻깊은 이정표라고 할 만한 성과가 있어 이렇게 소개해 드리고자 공지를 작성하게 되었습니다.
매니아가 단독 서버를 구매해서 운영을 한 지 올해로 10년째입니다. 그 전엔 호스팅을 받아 운영을 해 왔지만 초보 개발자로서의 투철한(?) 실험 정신 때문에 서버 과부하가 자주 걸렸고 서버 구매를 해야 했던 시절이 있었지요. 멋진 운영진과 함께하고 있었기에 저는 매니아 운영에 참여하는 시간의 대부분을 프로그래밍 공부와 실험에 쏟았고, 그 결과가 지금 보시는 매니아의 모습입니다.
독학으로 프로그래밍을 더디게 배워 나간 긴 시간 끝에 원하는 프로그램은 거의 무리 없이 짤 수 있는 수준까지는 도달했지만 계속 매니아 운영의 발목을 잡던 한 가지 큰 핸디캡이 있었습니다. 서버관리를 스스로 할 수 있는 지식이 부족해 위탁을 해서 운영을 해야 했다는 점입니다. 아래 사진이 지난 2년 전에 저희 서버들이 위탁 설치된 데이터 센터의 모습입니다. 보시는 것 처럼 당시 3대를 운용하고 있었구요. (아마 대부분의 중소규모 사이트는 저희와 비슷하거나 열악한 상황일 것이라고 생각합니다.)
과거의 매니아 서버 운용 체계가 가지고 있었던 큰 단점들
서버의 위탁 운영은 빠르게 서버 운용 기술력을 확보할 수 있다는 장점이 있었지만 네 가지 큰 단점이 있었습니다. 매니아의 넉넉치 않은 광고 수익에 비해 소요되는 큰 비용적인 문제, 보안 문제, 꼼꼼한 장애 대처 시나리오의 부재, 그리고 서버단에서의 최적화나 효율성 증대를 통한 매니아의 발전이 더디게 이뤄진다는 것이었습니다. 서버 지식이 부족한 상태로 저희는 서버들을 모두 신규로 구매해서 운용해야 했고, 때문에 대당 300만원 가까이 년간 유지비용도 수백만원이 드는 큰 규모의 투자가 필요한 부분이었기에 부담이 많았지만, 저희는 이 비용이 들더라도 지출을 늘려 이미지 업로드 용량 제한, 느린 속도 등을 통한 타협은 하고 싶지 않았습니다. 매니아를 아껴주시는 분들께 큰 불편함을 드리지 않으면서도 비용을 줄일 수 있으면 좋겠다고 항상 생각하고 있었습니다.
독자 데이터 센터 구축을 위한 연구 시작!
프로그래밍 수정을 통한 사이트 성능 최적화는 지난 3년간 연구해 오면서 달성을 했지만 서버 3대로 매니아를 서비스하면서 분산 컴퓨팅 등 더 고급 서버 운용 기술을 확보하기 위한 자원은 턱없이 부족하였습니다. 실제 서비스가 되는 데만 해도 3대 모두의 성능이 필요했기 때문입니다. 그리하여 작년에 있었던 매니아의 대대적인 리뉴얼을 마무리하고 본격적으로 저희 창고의 공간에 데이터 센터를 작게나마 직접 만들어서 위탁 서버 운영이 가지고 있는 단점을 상쇄시켜 보자는 결심을 했고 지난 설날 즈음 부터 지금까지본격적으로 서버 운용관련 하드웨어를 구입함과 동시에 리눅스 운용과 분산 컴퓨팅에 대해 공부와 실험을 계속해 나갔습니다.
리눅스에 대해서는 깊이 있는 지식을 인터넷에서 얻기 힘들어서 평소 인터넷 검색을 통한 독학 보다는 책자를 통해 공부를 하게 되었습니다. 그 과정에서 서버 운용에 대한 충부한 지식을 쌓기 위해 지난 8개월간 참고했던 서적들이 꽤나 쌓이게 되었습니다.
그 결과 자가 데이터 센터를 구축할 수 있겠다는 확신이 점점 쌓였습니다. 때마침 ebay에서 파격적인 서버 매물이 나와서 서버들을 다수 매입해 현실 가능성을 체크하게 되었습니다. 레노버 TS140이라는 제품인데 가성비가 뛰어나 엄청난 직구 판매고를 올렸던 제품이지요.
연구는 모두 성공적으로 끝났고 위 서버들은 모두 중고로 다시 판매를 한 후 충분한 안정성을 위해 고급 사양의 서버들을 구매하기로 마음 먹고 중고 서버, 중고 서버랙, 중고 네트웍 스위치, 중고 CPU, 중고 메모리, 중고 UPS 배터리 등의 매물을 알아보았습니다. 정말 하늘이 도운 덕인지 모두 엄청난 염가에 구할 수 있었고 저희 창고 공간의 문제와 앞으로 있을 확장과 고장에 대비한 여유분을 포함해 2개의 랙에서 반씩 채울 수 있는 정도로 초기 서버군을 준비했습니다. 운이 정말 좋았던 덕분에 이 전체 과정에서 든 비용은 위 사진의 새 서버 3대를 구매하는 것 보다 훨씬 저렴했습니다.
지하 창고에서 최종 완성 된 미니 데이터 센터(라고 쓰고 창고라고 읽는다)
정말 말도 안되는 비용으로 이렇게 나름 빵빵한 서버 센터를 구축할 수 있게 되었습니다. 모두 사용한 지 3년이 넘은 제품들이지만 cpu 25개에 30불이라니 말을 다 했을 정도죠.
3개월간의 테스트를 무사 통과한 새로운 데이터 센터 시스템
사실 창고에서 이런 설비를 갖춘다는 것이 너무 맨땅에 헤딩하는 것이 아니냐, 혹시 잘못되기라도 하면 어쩌나 걱정을 했지만 충분히 공부를 하고 시작했고 앞서 데스크탑용 서버들로 실험을 마친 상태였기 때문에 큰 문제는 없으리라 예상하긴 했습니다. 그래도 혹시 몰라 서버 이전 후 3개월 되는 즈음 문제가 없다고 판단되면 매니아 분들께 이 소식을 알리고자 했고 오늘이 만으로 3개월이 되는 날입니다. 3개월 동안 서버 이전 과정에서 생긴 문제점들만 제외하면 그 이후로는 아무런 문제도 없었습니다. 수많은 시행착오가 오가는 과정에서도 분산 컴퓨팅을 구축해 둔 덕분에 지금까지 아무런 문제가 없었고 현재 가용중인 12대의 모든 서버가 제 역할을 지금도 잘 해내고 있습니다.
중고 시스템의 단점을 커버하기 위한 조치들
이 시스템이 겉으로 보기엔 그럴듯 해 보이지만 하드디스크와 SSD들을 제외하고는 대부분이 중고 제품들이라는 것은 매우 큰 리스크입니다. 모두 사용된 지 3년이 지난 제품들이라 사실상 언제 어느 부품이 고장나도 이상할 것이 없는 제품들이죠.
그래서 서버가 워낙 말도 안되게 싸게 덤핑으로 나온 제품을 한 종류로만 32대를 충분한 수를 구입해 두었습니다. 32대를 사도 새 서버 한 대 값 정도 밖에 안드니 이런 신세계가 없었지요. 고장에도 대비하고 아직 갈 길이 먼 서버쪽 기술 연구에도 활용이 될 수 있도록 넉넉하게 구비를 했습니다. 현재 저 중에 실제로 서비스에 투입되고 있는 서버는 10대 정도입니다. 나머지는 추후 트래픽 증가에 대해 대비하기 위해, 각종 실험과 공부를 위해, 그리고 고장이 난 부품 대체용으로 넉넉하게 준비를 했지요.
그리고 정전을 대비하기 위한 UPS, 창고에 불이났을 때를 대비한 소방 시스템, 지진이 생기거나 도둑이 들거나 했을 때를 대비해 데이터를 1시간 마다 복사해 두도록 외부에도 서버를 2대 운용하고 있는 상태입니다. 최종적으로 현재 총 12대를 가동시키고 있는 셈이지요.
새로운 시스템이 가져다 줄 혜택들
안정적으로 운용이 된 지 3개월이 지나 비용대비 효과를 판단해 보니 엄청나게 좋은 소식들이 있었습니다. 총 12대를 운용한 결과 월간 유지비에서 가장 큰 비용이 드는 전기세와 통신비를 다 합쳐도 기존 3대를 위탁 운영했을 때의 60%의 가격으로 트래픽은 기본적으로 10배 이상 소화할 수 있고(사실상 수십GB까지 확장이 가능 가능합니다.) 분산 기술과 스토리지 레이드 구성을 통해 시스템에 문제가 생겨도 시스템 다운 시간을 최소화 할 수 있다는 점이 정말 만족스러운 부분입니다. 예전엔 서버가 고장나서 하드웨어를 교체하거나 수리해야 했을 때 언제 복구가 될 지 알 수 없었지만 지금은 모든 부품들이 여분이 많은 상태이기 때문에 언제 무슨 사고가 나도 복구가 가능한 것이지요.
새로 구매한 중고 서버들은 원래 사용하던 서버와 같은 세대의 제품이기 때문에 대당 속도측면에서는 크게 다르진 않습니다. 다만 같은 시기에 나왔지만 배터리와 캐시메모리를 탑재한 레이드 카드와 듀얼 파워 구성 등 내부 제품들이 고급 제품으로 채워져 있어 만족스럽고, 분산 처리 기술 덕분에 이 많은 서버 자원들이 한 데 묶임으로써 엄청난 컴퓨팅 파워를 가지게 되었습니다.
또한 서버 시스템을 제가 직접 관리하게 되면서 보안 수준도 급격히 올라가게 되었고, 엄청난 규모의 동시 접속자 트래픽을 소화할 수 있으며 유사시 초대규모의 DDoS 공격을 맞아도 버틸 수 있는 시스템도 모두 확보한 상태라 문제 없는 탄탄한 운영을 할 수 있을 것으로 기대하고 있습니다.
그 밖의 소득
이 모든 과정에서 남의 도움을 받지 않고 독학으로 큰 실패와 낭비 없이 자체 데이터 센터를 구축하는데 성공한 것에 대해 큰 성취감과 자신감이 생겼습니다. 그리고 이 과정에서 많은 분들께서 아실 사이트인 풋셀(footsell.com) 커뮤니티와도 이번 기회에 인연을 맺어 매니아 커뮤니티의 플랫폼을 풋셀 커뮤니티에 이식하는 작업을 짬을 내서 준비하고 있습니다. 텍스트 위주인 매니아와 중고 마켓 및 갤러리 중심인 풋셀은 특성이 서로 달라 매니아 커뮤니티의 플랫폼이 좀 더 많은 니즈를 충족시킬 수 있도록 성장시킬 수 있는 기회로 보고 저희 데이터 센터에서 풋셀 커뮤니티 또한 매니아의 플랫폼 및 서버 이용을 할 수 있도록 콜라보레이션 작업을 준비하고 있습니다. 그 대가로 광고 수익을 저희도 쉐어하는 방식으로 운용될 계획입니다. 풋셀 사이트의 규모가 작아서 금전적으로는 큰 도움은 안되겠지만 먼 미래를 바라봤을 때는 의미 있는 실험이 될 것이라고 생각합니다. 매니아 플랫폼을 등에 업고 공개 될 풋셀 커뮤니티의 새로운 모습은 이 달 말 중으로 아마 보실 수 있으리라 생각됩니다.마치며
이번 작업은 엄청 힘들기도 했지만 참 즐거웠습니다. 독자 웹 커뮤니티로서 가장 큰 핸디캡이던 부분이 오히려 강점이 되었으니까요. 이번 작업을 통해 많은 것을 배웠고, 매니아 분들이 더 편하고 재밌게 매니아를 이용하실 수 있도록 이제는 소프트웨어적인 경쟁력을 키워나갈 예정입니다. 내년 중순 즈음에 또 신선한 변화를 꾀하기 위한 준비가 뒤에서 계속 이루어지고 있을 예정이니 많은 기대 부탁드리겠습니다.
하루 빨리 알려드리고 싶었던 소식이었는데 참느라 힘들었네요.
앞으로도 매니아의 전진은 계속됩니다!
137
Comments
이전 페이지로
공지사항 리스트
이런글에 1등으로 덧글을 달아서 영광입니다
구서버는 버리신건가요?