메뉴 닫기

홈 서버란 무엇이고 왜 필요한가?

프롤로그

홈 서버 구축에 대한 게시글을 연재하려고 합니다. 최근에 맥미니를 다른 컴퓨터로 교체하면서 새로운 서버 환경을 구축하다보니 자연스럽게 이 분야에 대한 글을 주로 찾아보게 되네요. 제 생업과도 무관하지 않고, 평소에 이와 관련된 지식을 좀 더 늘리고 정리하고 싶던 터라 연재물의 주제로 잡았습니다. BMW 코딩과 마찬가지로 홈 서버 개념에 대한 설명에서부터 서버 구축을 위해 필요한 지식, 준비물과 실제로 서버를 구축하는 방안 등에 대해 설명드리고자 합니다.

 

홈 서버의 정의

홈 서버 구축을 위한 실제 방법을 알려드리기 전에 서버의 개념을 먼저 설명드리도록 하겠습니다. 서버와 대비되는 말은 클라이언트입니다. 서버란 네트워크를 통해 클라이언트에게 정보나 서비스를 제공하는 컴퓨터 혹은 프로그램을 의미합니다. 우리가 흔히 인터넷과 연결하여 사용하는 거의 대부분의 서비스들이 서버 - 클라이언트의 관계를 형성하고 있습니다. 가장 대표적인 것이 웹입니다. 웹은 웹브라우저(크롬, IE, 파이어폭스 등)라는 클라이언트와 웹서버(Apache, IIS, Nginx 등)로 구성되어 있습니다. 웹브라우저를 통해 우리는 네이버, 다음, 구글과 같은 웹서버에서 제공하는 서비스를 이용할 수 있습니다. 게임은 게임 서버와 실제 게임을 하는 게임 클라이언트로 구성되어 있습니다. 그 외에도 날씨, 내비게이션, 쇼핑, 금융 등 거의 모든 인터넷 서비스들이 서버를 통해 클라이언트에게 다양한 정보와 서비스를 제공합니다.

홈 서버란 집에서 개인 혹은 가족과 같은 소규모의 인원을 대상으로 서비스를 제공하는 가정용 서버를 의미합니다. 물론 홈 서버라고 해서 위와 같이 임의의 다수를 대상으로 서비스를 제공할 수 없는 것은 아닙니다만, 일반적인 가정의 인터넷망과 시스템은 이를 대응하기 어렵기 때문에 적은 인원을 대상으로 한정적인 서비스를 제공하는 편이 품질을 높이는데 좋습니다. 홈 서버는 다른 말로 파일 저장과 공유의 측면이 부각된 NAS(Network Attached Storage)라고 불리기도 하고, 소비의 측면에서 HTPC(Home Theater PC)라고 불리기도 합니다. 최근에는 홈 서버에서도 여러 가지 가상화(Virtualization) 기술을 적용하면서 Home Lab이라고 부르기도 합니다. NAS, HTPC, Home Lab 등 각각 추구하는 바가 다르고 그에 따라 하드웨어의 구성도 다를 수 있지만, 넓은 의미에서는 홈 서버의 범주에 속한다고 볼 수 있습니다(저의 개인적인 견해입니다).

좀 더 자세한 사전적 의미를 파악하고 싶다면 위키백과 등을 찾아보시기 바랍니다.

 

홈 서버는 왜 필요할까요?

사실 홈 서버를 통해 제공할 수 있는 서비스들 거의 대부분이 상용 서비스로 제공되고 있는 경우가 많습니다. 가령 파일 동기화를 위한 클라우드 서비스만 하더라도 Dropbox, iCloud, Box, Google Drive 등 셀 수 없이 많습니다. 비용이나 유지 보수의 측면에서도 홈 서버는 개인이 모든 것을 다 알아서 해야하기 때문에 상용 서비스를 이용하는 것보다 불리한 면이 많습니다. 그럼에도 불구하고 사람들이 홈 서버를 구축하려는 이유는 무엇일까요? 많은 사람들이 각자의 필요에 의해 홈 서버를 구축해 사용할 것이기 때문에 저의 의견이 그들 모두를 대변할 수는 없다는 점을 먼저 말씀드립니다. 사견이 많이 첨가된 일반적인 이유는 아래와 같을 것 같습니다.

  • 개인화(Personalized) : 많은 상용 서비스들은 비용의 이슈로 많은 사람이 사용할만한 서비스를 제공하기 때문에 내가 필요로 하는 마이너한 서비스는 제공하지 않는 경우가 많습니다. 홈 서버에서는 내가 필요로 하는 서비스를 내 마음대로 구성할 수 있습니다. 단, 이를 위해서는 어느 정도 개발적인 지식이 있어야 합니다.
  • 저렴한 비용(혹은 패키징) : 물론 홈 서버라고 해서 비용이 안 드는 것은 아닙니다. 홈 서버용 하드웨어를 구매해야 하고, 이에 대한 감가상각 비용이 있습니다. 인터넷과 연결하려면 인터넷망 이용료가 있습니다. 그리고 공유기와 서버를 켜두려면 전기세가 들고, 유지보수를 위해 개인적인 시간 투자(유지보수 비용)가 필요합니다. 비용이라고 하긴 어렵지만, 서버라는 전기 제품을 오래 켜두어야 하기 때문에 화재에 대한 위험 부담도 감수해야 합니다. 이런 비용에 비해 얻을 수 있는 효익이 더 크다고 판단된다면 홈 서버를 구축해도 좋습니다. 일반적인 상용 서비스들을 내가 원하는 수준으로 사용하려면 여러 상용 서비스들을 유료로 정기 구독해야 하는 경우가 많습니다. 예를 들어 상용 클라우드 서비스에서 1TB의 저장 공간을 임대하기 위해서는 한 달에 몇 십 달러를 지불해야 합니다. 개인 NAS를 클라우드로 활용하면 몇 TB이든 원하는 용량의 HDD만 구입하면 되고 증설할 수도 있습니다. 상용 서비스 대비 파일 공유와 저장에 대한 제약도 덜합니다. 홈 서버는 여러 상용 서비스 중에서 내가 필요한 부분만 잘 패키징해서 사용할 수 있다는 측면에서 비용적 측면에서 유리할 수 있습니다.
  • DIY(Do It Yourself) : 사실 이 부분이 홈 서버 사용의 가장 큰 이유이지 않나라는 생각도 듭니다. 내 마음대로, 내가 원하는 서비스를 제공하는 서버(혹은 프로그램)를 만든다는 것 자체에 대한 희열이 있는 것 같습니다. 일종의 어른들의 장난감인 측면도 부정할 수 없을 것 같습니다.
  • 공유 DNA : 내가 알고 있는 것 혹은 정보, 데이터를 남들과 효과적으로 공유하고 싶은 마음이 큰 것도 홈 서버 구축의 한 이유라고 할 수 있습니다.

 

홈 서버를 어디에 활용할 수 있나요?

홈 서버를 통해 어떤 것들이 가능한지 대표적인 몇 가지를 살펴 보겠습니다.

  • 파일 공유 : FTP, WebDAV, Samba, NFS 등을 이용해 파일을 서로 주고 받을 수 있습니다. 웹용 프로그램을 이용하면 웹 브라우저를 통해서도 파일을 주고 받을 수 있습니다.
  • 파일 동기화 : 파일 공유와 유사하다고 볼 수도 있는데, 여러 클라이언트에서 동일한 파일을 사용할 수 있도록 파일 동기화 서비스를 제공할 수 있습니다.
  • 웹 서비스 : 홈 서버에서 WordPress나 XpressEngine과 같은 블로그나 게시판, 포럼 서비스를 운영할 수 있습니다.
  • 토렌트 : 토렌트를 이용해 원하는 파일을 다운로드 받을 수 있습니다. RSS를 통해 주기적으로 원하는 종류의 파일을 다운로드 받도록 미리 예약해둘 수도 있습니다.
  • 메일 서버 : 나와 내 지인만을 위한 메일 서버를 구축할 수 있습니다.
  • 멀티미디어 감상 : 홈 서버에 영화, 음악, 사진 등을 올려놓고 TV나 스마트폰, 태블릿PC를 통해 감상할 수 있습니다.
  • TV 녹화 및 송출 : tvheadend와 같은 프로그램을 이용해 TV를 녹화하거나 원하는 기기에서 감상할 수 있습니다.
  • 우회 접속 : VPN, SSH, Proxy 서버를 구축하여 외부 네트워크에서도 내부 네트워크에 접속하거나, 회사에서 접속이 차단된 서비스에 접속할 수도 있습니다.
  • 채팅 서버 : 카카오톡과 같은 채팅을 위한 서버를 구축할 수 있습니다.
  • 개인 VDI : VDI(Virtual Desktop Infrastructure)란 컴퓨터 안에서 가상으로 동작하는 또 하나의 컴퓨터를 만드는 기술을 의미합니다. 홈 서버에 이를 지원하는 VMware, KVM, VirtualBox, Parallels를 설치하고 필요한 작업을 할 수 있습니다. 가령 인터넷 뱅킹을 하고 싶은데, 내 컴퓨터에 각종 ActiveX가 설치되는 것이 싫다면 뱅킹용 가상 머신을 하나 만들어서 각종 은행 업무를 볼 수 있습니다. 내 본체 컴퓨터에는 아무 영향도 없는 상태에서 말이죠. 혹은 주식 거래나 게임을 할 수도 있습니다. 간혹 게임 봇(bot)을 돌리는 분들도 계시는 것 같습니다.
  • 파일 백업 : 중요한 파일을 백업해 두는 용도로 사용할 수 있습니다.

댓글 남기기