1. 개요
가정에서 간단하게 사용하기 위한 서버. 데이터 공유가 주목적이 되는 것은 NAS로 따로 분류한다.홈서버를 구축하는 데는 단점이 많이 따른다. 대역폭을 많이 사용할 경우 인터넷 계약 해지가 될 위험도 있고 홈서버 구축에 대해 공부하는 데도 시간이 많이 들어간다. 공짜 기기를 사용한다 한들 x86이라면 전성비 때문에 데이터 센터보다 싸지 않다.[1] 거기다 네트워크 해킹, 화재 위험성이나 관리 노력 등을 생각하면 데이터 센터 사용이 훨씬 합리적이다. 또한 데스크톱 PC 기반 홈 서버에는 기업용 서버에서 지원하는 특화 기능을 지원하지 않는다는 점에도 감안해야 한다. 고성능 서버의 경우에는 발열과 소음에도 신경써야 한다.
그럼에도 불구하고 홈서버를 구축하는 것은 주로 학습, 취미 등에 목적이 있기 때문이다. 예를 들어 자기 소유의 홈서버를 학습 목적으로 해킹한다고 해도 절대 처벌받지 않는다.
또 토렌트나 데이터 백업[2] 등 부하가 지속적으로 걸리는 작업을 할 때도 유용하다. 이런 작업을 주 컴퓨터에서 하면 사용자는 작업하는 시간 동안 컴퓨터를 느리게 써야 한다.
가상PC 서버(하이퍼바이저) 혹은 마인크래프트 등의 게임 서버로 활용되기도 한다.
2. 하드웨어
주로 개발보드[3], 중고폰, NAS, 인터넷 공유기, 똥컴 등이 활용된다. 그 중 새로운 장비를 돈 아끼지 않고 사서 성능이나 전성비를 맞추는 케이스에 대해서는 이 문서보다는 서버, NAS(저장장치) 문서 참조바람.인터넷 공유기의 경우 USB 연결되는 공유기를 활용하는 경우가 많고 운영 체제로는 제조사에서 지원을 받거나 OpenWrt 계열을 올린다.
윈도우 CE의 경우 5.0버전 이후로 전원을 꺼도 메모리가 리셋되지 않게 업그레이드되었다. 그 결과 2006년 이후에는 인터넷 되는 CE 5.0 기기를 활용해 홈서버를 구축한 경우도 있었다. 아이스테이션 넷포스 PMP 등이 이에 해당한다.
2.1. 단일 기판 컴퓨터(SBC)/임베디드 개발자보드
- 아두이노로도 텍스트로그를 기록하는 정도의 서버는 구현 가능하다. 아두이노와 연동된 센서로 텍스트 데이터를 기록한 뒤 그것을 볼 목적으로 웹 모듈을 다는 것이다. 웹하드 서비스를 만들 수도 있다. 하지만 아두이노는 8비트 MCU를 사용하므로 본격적으로 서버로 쓰는 것은 거의 불가능하다. 아두이노의 성능은 80286 정도다.
- 동시접속자 50명 이하라면 ARM 서버를 사용해 볼 만하다. 라즈베리 파이에 충전기 꽂아서 쓰는 것도 포함이다. ARM은 싸구려 하드웨어를 쉽게 구할 수 있고, 전기요금 폭탄 맞을 일도 없다. 하지만 모바일 목적 기기다 보니 성능이 나쁘다는 단점이 있다. 부동소수점 연산능력도 낮다. 따라서 웹서버 정도만 되어도 부적합하다. 그리고 OS를 ARM계열용을 써야 하므로 리눅스 아니면 좀 써먹기 힘들다. 윈도우도 ARM용이 있지만 영 마이너해서 자료 찾기가 어렵다.[4]
라즈베리파이같이 컴퓨팅 성능이 상당한 저가의 개발자 보드가 나오자, 여기에 NAS용 운영체제를 깔아서 자작NAS로 만드는 경우가 늘어났다. 게다가 선택 폭도 꽤 넓다. 대부분은 크기가 소형이라 상용 소형 NAS과 비슷한 크기를 가진 NAS를 만들 수 있다. 가장 널리 알려진 것으로 라즈베리 파이가 있으며, 비글보드부터 초소형 x86기반 보드인 라떼판다에 이르기까지 여러 가지 옵션을 선택할 수 있다. 오드로이드는 아예 NAS 사용을 노리고 하드 장착이 간편하고 기가비트 네트워크를 지원하는 대신, 무선랜, HDMI 등의 불필요한 스펙은 다 빼버린 HC시리즈도 판매한다. 특히, 바나나 파이, 마스보드, 큐비보드 등은 아예 SATA포트와 RJ45 포트가 기본 탑재되어 NAS를 자작하기 좋다.
리눅스를 설치해 저전력 홈서버로도 사용할 수 있다. 다만 대부분이 ARM 프로세서 기반이라 해놀로지는 사용할 수 없으니 유의.
이들은 대부분 임베디드 사용을 전제하고 만들어져 대부분 전력 소모 측면에서 구형 데스크탑에 비해 훨씬 유리하다.
성능은 (아주 고성능이라곤 할 수 없지만) 비슷한 가격에 구매할 수 있는 상용 NAS 신품보다 훨씬 뛰어나다. 하지만 중고 구형 노트북에 비해서는 가성비가 좋지 않다.
2.2. 안드로이드 기기
안드로이드 스마트폰과 휴대폰 충전기로도 간단한 NAS나 서버의 흉내가 가능하다. 남아도는 안드로이드 공기계로 서버를 만들기도 한다.[6]가장 큰 장점은 경량, 작은 크기, 무소음, 저전력이다. 완충된 스마트폰이 소모하는 전력은 2.5W 미만으로 매우 적다. 그리고 폐휴대폰은 판로나 활용방안이 거의 없으므로 기회비용이 몇천원에 가깝다. 팬을 이용한 공랭을 하는 게 아니기 때문에 오랫동안 관리 없이 방치하더라도 먼지가 쌓여서 불이 날 걱정은 없지만 이쪽은 배터리가 문제다. 차라리 데스크탑이나 노트북이라면 쿨러 청소를 해줄 수 있겠지만, 배터리가 부풀었다고 가스를 빼고 사용할 수는 없지 않은가? 가스를 빼는 법이 있긴 하지만 극히 위험하다! 안전한 사용을 위해서라면 배터리 없이 켜야 하는데 암페어가 충분해야 먹히며 간혹 불가능한 모델도 있다. 예외로 갤럭시 노트4의 경우, 충전기와 배터리를 장착 후 부팅했다가 바탕화면 나오면 배터리를 분리하고 배터리 경고 메시지를 닫으면서 사용이 가능하다.[7][8]
단점은 용량, ARM 계열의 CPU 속도 한계, 네트워크 속도 등을 들 수 있다.
스마트폰의 CPU 자체가 ARM 계열이기에 속도가 저가형 상용 NAS 수준이라는 문제가 있다. 갤럭시 S2의 성능은 아톰 초기형 N270 넷북의 40% 정도[9]에 불과하다. 이는 펜티엄 2급 정도에 해당한다.
용량을 보면, 구형폰의 경우 microSD를 합쳐도 32GB~64GB 정도다. 정상적인 하드디스크를 장착한 상용 NAS 용량의 털끝에도 미치지 못한다. 그럼에도 불구하고 정상적인 사용 상황에서는 OTG와 충전을 동시에 할 수 없으므로 외장하드를 달아서 용량을 늘릴 수도 없다. 이 문제를 해결하려면 직접 전기 작업을 해야 한다. 분리형 배터리를 사용하는 폰에 직접 전원을 꽂고 OTG 기능을 이용해 외장하드를 달아서 보완할 수 있다. 개조하는 방법
또한 네트워크 링크가 무선랜에 의존하게 되므로 큰 트래픽이 요구되는 경우 적합하지 않다. OTG 허브를 꽂고 USB-LAN 젠더를 꽂거나, 역테더링을 통해 보충할 수 있다.
2.3. 똥컴의 재활용
쓸모없는 컴퓨터에 리눅스 깔아서 서버화 시키거나 나스 특화OS를 설치하여 깔아서 자작나스로 사용하는 경우가 꽤 흔한 편이다. 이미 갖고 있는 부품을 사용하여 조립해도 좋고, 구매하더라도 아톰 넷북/코어 2 듀오급 노트북이 2~3만원 정도면 구할수 있어서 부담스럽지도 않다. 임베디드 보드보다 가격은 저렴한데 성능은 2~4배 가까이 우월하다. 그래서 대체로 접속자 50명~400명 정도일 경우 ARM보다는 일반 PC를 서버로 사용하는 게 낫다.[10]그 정도의 낮은 성능으로 어떻게 홈서버를 굴리냐는 의심이 생기기 쉽다. 하지만 방문자 수가 그리 많지 않은 개인 블로그 서버 정도라면 펜티엄3급 이상이면 충분하다. 2006년의 한 사례에서는 13W짜리 펜티엄 3 CPU, 128MB 램 데스크탑에 2.1GB HDD를 부착한 후 800MB짜리 SU리눅스[11]를 깔아서 블로그 서버를 운영했다. 당시 저자는 10GB만 있으면 FTP 서버를 운영할 수도 있겠으나 포기했다고 한다.[12] 그보다도 더 이전인 1999년에는 486DX-66+32MB RAM 3대를 리눅스에 클러스터로 연결해서 서버로 운영했던 기록도 있다. 그러니까 x86이라면 성능은 문제될 일이 없는 것이다. 성능 나쁘기로 유명한 넷북 1세대라 하더라도 ARM 계열이나 펜티엄 3보다는 성능이 더 좋다. 니코니코 대백과 역시 초기에는 아톰 넷북인 eeePC로 구동했다.
보통은 공간문제 소음문제 때문에 눈에 띄지 않는 다락방에 두고 서비스를 하게 되며, 이 때문에 외국에서는 '다락방 서버'라고도 부른다.
전력소모를 줄이려면 언더볼팅을 하고 평소엔 꺼 놓다가 쓸 때에만 웨이크 온 랜 기능을 이용해서 사용하는 게 좋다.
구형 노트북(저전력 설계가 아닌 제품)을 사용할 경우 데스크탑보다 전력소모량이 훨씬 낮다. 코어 2 듀오 T6500에 13.3" 모니터를 장착한 노트북으로 실험을 진행해보면 전기 사용량은 다음과 같다. 배터리 완충된 상태에서 전원만 연결시 0.48W, 간단한 작업을 해서 CPU 사용량 15~25%일 때는 25W, 동영상을 재생하는 등 CPU 사용량을 95% 이상으로 올리면 41W다. 최대 전력 사용 가능량은 65W다. 활용 하지만 이것 역시 배터리를 분리해야 배터리로 인한 화재를 막을 수 있다. 쿨러 청소도 필수다. 큰 하드 용량을 위해 외장하드를 쓰게되면 USB 2.0의 속도가 걸리는게 문제.
구형 데스크탑은 전성비가 낮아 전력소모가 크다는 게 단점이다. 전성비를 고려하지 않고 구입한 사무용 데스크탑은 모니터가 꺼졌을 때 150W 정도의 전력을 소모한다 (108kWh)[13] 데스크탑은 저전력으로 설계해야만 노트북 수준의 전력 소모량으로 줄어든다. 데스크탑을 홈서버로 사용한다면 외장 그래픽 카드나 사운드 카드같이 NAS에는 필요 없는 부품은 제거하는 게 좋다. 특히 구형 데스크탑을 사용할 경우 파워 서플라이를 반드시 교체하는 것이 좋다. 만약 교체가 어렵다면 먼지 청소라도 해놓고 사용하자. 10년 이상 사용한 파워 서플라이에서 화재가 나서 수천만원의 재산피해를 낸 사례가 있다.
과거에는 IT 기술의 수준이 낮아 이런 용도가 더욱 유용했다. 2000년대 초에는 개인이 방화벽, 인터넷 공유기를 사려면 비쌌다. 따라서 그 시절 유선 인터넷을 공유하고 싶으면 라우터를 직접 만드는 게 훨씬 쌌다. 리눅스 (386 CPU에 4MB RAM 이상) 또는 FreeBSD 환경이 필요했고 랜카드 2개가 필요했다. 이런 목적으로는 주로 10Mbps ISA 랜카드를 사용했다.
2.4. 그 외 필요 하드웨어
용도에 따라 랜카드, 레이드 카드 등이 필요할 수 있다.3. 소프트웨어
3.1. 운영 체제
주로 Proxmox, TrueNAS, 헤놀로지, 리눅스, ESXi 등을 사용한다. 해외에서는 Unraid 등도 많이 사용한다.3.2. 애플리케이션
주로 톰캣, 도커, 쿠버네티스, Aria2 등을 사용한다.
[1]
x86 구성 저전력 PC나 구형 노트북의 경우 25W 정도이므로 월 4천원, 구형 휴대폰의 경우 2.5W 정도이므로 월 5백원 정도가 소모된다.
[2]
rclone 문서 참조.
[3]
주로
라즈베리 파이,
오드로이드
[4]
100명 정도 원하면 RPI4모델 램4, 8GB 클러스터 구성도 나쁘지 않다.
[5]
하드의 대역폭이 떨어지는 단점이 있다.
[6]
요새는 더 간단해서 몇 천원 짜리 앱으로 DLNA서버와 DDNS 서버를 돌릴수도 있다!
[7]
상세 모델에 따라서 불가능한 제품도 있다.
[8]
전자공학도들이 많이 사용하는 직류 전원공급기(DC power supply)를 기기 메인보드에 있는 배터리 단자와 연결해서 사용하면 거의 모든 모델에서 가능하긴 하다. 다만 최근은 일체형 배터리 기종이 많아 이를 분해하고, 거기서 또 배터리 보호회로를 분리해서 가공하는 것이 요구되므로 평소에 공작 관련 취미가 있는 것이 아니라면 꽤 어려울 것이다.
[9]
이마저도 최신 모바일 셀러론/아톰 프로세서 성능의 5분의 1 수준이다.
[10]
400명 이상일 경우 신형 서버용 하드웨어를 구입하는 게 낫다.
[11]
서버 목적의 국산 리눅스. 링크에서 배포중.
[12]
2.5" IDE ATA/33 하드디스크는 약 1998년경 판매되던 것이다. 참고로 2006년이면 저 컴퓨터의 2배 가까운 성능을 지닌 코어 2 듀오 시리즈+ 1~2GB 램 + 80~120GB SATA 하드디스크 기종이 팔리던 시절이다. 도태된 지 오래인 구형 부품들만 조립해서 만든 기종인 것이다. 펜티엄 3급은 갤럭시 S2 정도의 성능밖에 안 되고 N270 아톰보다도 성능이 훨씬 떨어진다.
[13]
150W × 24h × 30일