서버하면 무슨 생각이 떠오르십니까?"어렵다"
"뭔가 그럴싸한 물건"
"300백만원 넘어가는 컴퓨터"
"그건 먹는거냐?"
보통 이런 생각들이 대부분 입니다. 물론 그렇습니다. 일반적으로 사용하는 서버는 그렇지요.
하지만 실제로는 그런것만 서버는 아닙니다. 서버는 지금 당신이 사용하는 컴퓨터 자체가 될수도 있습니다.
실제로 구글같은 경우는 셀러론으로 서버를 운영하기도 했지요 :)
이렇듯 우리주위에는 많은 서버가 있습니다. 실제로 다양한 방법으로 서버를 운영하시는 분들도 있고 잠깐 열었다가 닫는 경우도 있습니다만.
중요한 것은 상시 가동되는 서버는 어떻게 만드냐는 것입니다.
일단 가정용서버의 기초에 대해서 생각해 보면 다음과 같습니다.
전력소모 / 가격 / 소음
바로 이런 기초적인 설계를 해보면
고가의 pc를 구입하는 것은 좋지 않을 것입니다. 고성능의 상대적으로 고가인 서버는 가정에서는 필요가 없다는 거지요.
서버의 성능서버는 성능을 그렇게 요구하지 않습니다. 이게 무슨말이냐 하면 우리가 생각하는 것과는 달리 낮은 성능으로도 충분히 돌릴수 있다는 것입니다. 실제로 제가 운영중인 서버의 경우 펜티엄3의 650E를 사용중이나 점유율은 10%에서 머물고 있는 상황입니다. 동접수 70명인데도 말입니다. 물론 여타 프로그램의 상황에 따라서 다를수는 있지만 중요한 것은 높은 성능은 낭비 라는 것입니다.
그럼 어떤pc면 충분할까요?
목표사항은
낮은전력의 소모와 저소음 그리고 낮은 가격입니다. 이를 만족시킬수 있는 물건은 있기는 있습니다.
바로 Via의 플렛폼이지요 :)
Via의 플렛폼은 저전력 저소음 (상대적으로)낮은 가격을 무기로 내새우고 있습니다. 특히 All in one 보드인 점이 마음에 드는 부분으로, 카피시나 여타 저전력이 필요한 곳에서 많은 이용을 하고 있습니다. 하지만 역시 새로 pc를 만든다는 점에서 가격의 벽이 있다는 점이 계속 걸리는 군요.
그래서 현실적인 선택을 하자면 펜티엄3 계열로 가게 됩니다.
펜티엄3의 전력소모는 현재 팔리는 pc의 비해 매우 낮습니다. 거의 1/3정도라 보시면 될 정도지요. 대략 13~20W정도 소모를 하는 정도로 형광등 1개 정도라고 말하면 딱 비유가 맞을것입니다.
메인보드의 경우
810이 가장 좋습니다. 옥션에서 주로 팔리는 펜티엄3보드중 하나인데 특징이라면 그래픽이 내장이라는 것입니다. 서버운용시 그래픽카드는 전력만 낭비하는 물건이기에 가급적 피하는 것이 좋겠습니다만, 810E를 구하기 힘들다면 적당히
Via 694X를 구하는게 좋겠습니다. 참고로 당시 Via694는 지금의 Via와는 다르게 명작입니다.
메모리의 경우 그렇게 선택의 여지가 없습니다. 간단히 많을수록 좋습니다만 256mb는 128 2개보다 비싸더군요. 그래서 저는 128 3개를 넣었습니다.
하드디스크, 이게 중요합니다. 데이터를 얼마나 공유할수 있느냐는 결국 하드디스크에 달려 있기 때문입니다. 그렇다고 새로 ide하드를 살순 없겠고...현재 적당한 수준은 40~60G가 괜찮습니다. 제조사는 임의 선택으로 가는게 좋겠군요. 어짜피 삼성하드라도 AS기간은 지났으니 말입니다.
안탑깝게도 랜을 사야 합니다. 펜티엄3때는 내장랜이 아니었기 때문입니다. 그래서 저도 굴러다니는 랜카드를 하나 사용했습니다. 미래를 내다본다면 기가비트 랜카드가 좋겠지만 상대적 고가인 관계로 옥션에서 중고 1000원짜리 랜카드를 구입하시는 게 좋습니다. 리얼택 제품이면 무난하군요. (전문적인 서버 운영이 아니라면 리얼택도 괜찮습니다.) 물론
3com도 있지만 wol미지원인 관계로 넘기겠습니다.
파워는 소음이 적은 것을 사야 합니다. 하지만 펜티엄3 파워의 경우 소음이 적은게 없군요. 이경우 2가지 선택이 있습니다. 하나는 matx파워를 사서 atx케이스에 넣어서 사용하던가 아니면 저소음atx파워를 사용하는 것입니다.
후자를 추천하는게 역시 낳겠습니다만 파워를 안쪽에 넣어서 사용하는 케이스들의 경우 전자를 하는 바입니다.
쓸모없는 것들
odd 쓸모 없습니다. 아마 설치만 하고 바로 빼버리는 것중 하나일테니 적당히 본체에 있던것을 사용하다가 다시 빼버리도록 합시다.
이렇게 해서 서버가 완성되었습니다. 그 다음으로는 프로그램을 선택해야 할 차레입니다.
os의 선택
일단os부터 선택을 하자면 저는
윈도우2000을 선택했습니다. 윈도우xp의 경우 잡아먹는 메모리와 cpu가 높은 관계로 선택에서 빠졌으며 9x는 사멸화 단계라서 사용하기 힘들다는 문제점이 있습니다. 리눅스도 사용할수 있습니다. 하지만 앞서 말했듯이 클럽박스 문제에서 걸리는군요.(에뮬로 돌리는것은 생각하지 맙시다.)
이렇게 해서 설치를 하면 대략 1G정도 용량을 잡아먹게 됩니다. xp의 경우 2~3G를 잡아먹는 것에 비해서는 상당히 좋은 편입니다. 특히 저성능에 잘 되있어서 xp같이 버벅거리는 모습도 없구요.
웹프로그램의 선택
이제 다음으로는 웹프로그램을 선택해야 합니다. 윈도우2000에서 기본적으로 제공하는 IIS 서비스를 사용하는 방법이 존재합니다. 그러나 문제는 server버전이 아닌한 3명까지 밖에 접속을 하지 못한다는 비효율성이 있습니다. 따라서 IIS를 사용하지 않고 하는 방법을 고심해 본 결과 쉽고 좋은 프로그램을 찾았습니다.
바로 Webshare입니다.
로그기능도 지원하며
이렇게 누가 받고 있는지, 혹은 누가 트래픽을 일으키고 있는지 알수 있습니다.
Webshare는 적은 용량에 간편한 구조로 되어있습니다. 또한 관리적 측면에서도 용이한 면이 있습니다. 누가 받고 있는지 그리고 업로드도 가능하며 속도제한도 걸어놓을수 있습니다. 그리고 무엇보다 한글로 되어있다는 점이지요.
다른 방법이라면 아파치 통합 팩인 apm설치판을 사용하는 방법도 있습니다. 이 것은 블로그나 제로보드 같은 프로그램을 사용하기 위한 팩입니다. 이걸 사용하면 홈페이지를 운영하는데에는 편하지만 문제는 메모리를 잡아먹는데에서 시작을 합니다.. mysql부터 엄청나게 잡아먹더군요.
넷리미터
만약 속도가 VDSL급이라면 업로드에 어려움이 있을 것입니다. 왜냐하면 VDSL의 속도는 대략 400kb정도 밖에 안돼기 때문입니다. 저도 서울의 아파트에서 생활을 하나 인터넷은 광랜이 지원돼지 않는 아파트입니다. 세대수가 적어서 그렇습니다만 어째뜬 이런 낮은 성능의 인터넷을 사용하여 서버를 사용할 경우 다음과 같은 문제가 생깁니다.
- 내가 인터넷을 해야 하는데 ping과 다운 수치가 심각하게 위험하다.
- 업로드의 형태가 불균형하다
이런 문제가 있는 경우 가장 쉬운 답은 인터넷 속도를 제한하는 것입니다. 쉽게말해 리미터(Limiter)를 달아버리는 것입니다.
제가 사용하는 인터넷 속도 리미터 프로그램입니다. Netlimiter 1.3버전으로 각 프로그램마다 업로드 속도를 조절하고 현재 인터넷 트래픽 상황이 분석가능합니다.
일반적인 설정은 클럽박스 3개의 프로세스에 5k정도의 업로드 제한을 걸어놓고 하는 것입니다. 아! 절대로 넷 리미터에서 총 업로드 제한이나 웹샤뤠 업로드 제한을 걸어놓으면 안됍니다. sand error라는 문구를 계속 뿜어내기 때문입니다. Webshare에서 인터넷 업로드 속도를 걸어놓고 해야 문제가 발생하지 않습니다.
포트개방
1번. 포트번호를 입력하거나
2번 슈퍼dmz로 고정시키는 방법이 있습니다.
공유기를 사용하는 사람이라면 여기서 주목을 해야 합니다. 공유기 자체가 하나의 방화벽 역할을 하기 때문입니다. 그래서 그냥 아무 포트나 설정해도 안열리는 것은 공유기에서 모든 포트를 막고 있기 때문이지요. 따러서 공유기 설정에서 포트를 열어주어야 합니다.
먼서 프로그램쪽 포트를 선택합니다. 일반적으로 포트는 80번 포트를 가장 많이 이용을 합니다. 하지만 저는 왠지 귀찮아서(...) 5555포트를 설정했습니다.
다음으로는 공유기 설정을 합니다. 가상서버에서 프로그램에서 설정했던 포트(예 80번 포트)를 입력하고 서버의 사설 아이피를 넣어주시고 저장을 하면 됩니다. 사설아이피는 실행 -> cmd -> ipconfig에서 엔터를 하면 나옵니다. (ip Adress에 나올겁니다. )
슈퍼DMZ아니면 dmz로 전포트 개방을 하는 방법이 있습니다. 이것은 공유기가 좀 좋은(...)경우에 사용이 가능합니다. 구형 공유기는 없거나 지원을 안하는 기능입니다. 슈퍼DMZ의 좋은 점은 맥 어드레스로 지정된 컴퓨터에 한하여 전 포트 개방을 하기에 포트설정을 할 필요 없이 어느 포트나 사용이 가능하다는 것입니다. 이렇게 보면 편리한 기술이긴 하나 문제는 공유기가 고급에 속해야 지원이 되는 기술입니다. 저의 공유기는 랜스토리의 BR-015B V2라서 지원은 하는데 이상하게 먹히지가 않더군요. 그래서 결국 가상서버로 했습니다.(랜스토리 잊지 않겠다.)
다운로드 프로그램다음은 다운로드 프로그램을 알아봅시다. 상시적 다운로드체제를 하기 위해선 많은(...)다운로드 프로그램이 필요합니다. 취향이긴 합니다만 이쪽 문서를 참조해 주시면 되겠군요.
emule
일단 당나귀계열을 열어야 하겠습니다. 당나귀 프로그램은 많은 프로그램이 있으나 현재에는 emule이 가장 많이 사용하는 편입니다. 또 쉽기도 합니다.
clubbox
한국이라는 지리적 상황은 인터넷에서도 적용은 됩니다. 음...자료가 많으니 이걸 포함시키지 않을수가 없군요. 50kb의 다운로드 속도이긴 하지만 뭐 괜찮지 않겠습니까? 어짜피 서버로 사용하니 길게 켜둘 테니깐요.
winny2
일본쪽 자료를 받을때에는 일본에서 가장 많이 사용하는 프로그램을 찾아야 할 것입니다. 일본은 winny와 emule을 사용하지만 winny에만 특화된 자료도 있기에 추가를 하였습니다.
utorrent
최근들어 새롭게 p2p를 하는 방식인 토랜트 파일입니다. 토랜트 방식의 특징은 업로드에 따라서 다운로드속도나 갯수가 결정되는 특징이 있습니다. emule도 그렇지만 토랜트가 이 점에서 더 강한 면이 있더군요. 토랜트 파일을 받는 프로그램은 2가지가 있습니다. bittorrent나 utorrent가 있으나 이중 utorrent가 더 가볍고 좋습니다.
FlashGet
가장 기본적인 프로그램입니다. 웹에 있는 프로그램 다운시 괜찮습니다.torrent나 당나귀 프로그램도 다운받을수 있는 장점도 있습니다. 다만 대다수 토랜트에서 플레시겟을 막아논 상태이니 참고하시기 바랍니다.