홈 서버 갖고 놀기 - 하드웨어

악식·2023년 8월 3일
0

홈서버-갖고놀기

목록 보기
1/1

홈 서버 만들기

이 글은 SBC (싱글 보드 컴퓨터)를 이용해서 NAS와, 개발 환경 구성이 가능한 홈 서버를 구성하는 방법에 대해서 다루며, 이는 실용적이기보다는 취미에 가깝습니다.

이 글에서 사용하는 기기는 ODROID N2+ 입니다.

만드는 이유

구글 포토

구글 포토가 고화질 용량 무제한 서비스를 중단했습니다.

구글 포토는 최대 15GB 의 사진 저장 용량을 제공하며(이 제공량은 구글 드라이브의 용량과 공유된다), 만약 화질을 '원본' 화질이 아니라 '고화질'로 설정할 경우, 저장 용량에 포함되지 않고 무한정으로 업로드가 가능했습니다. 그리고 그 무한정 서비스가 중단되었습니다.

그래서 저는 간단하게 파일을 옮기거나, 아주 중요한 파일들을 저장하는 용도로 클라우드 저장소의 용도를 되돌리고, 장기 보관하는 대용량 파일들 (사진, 기타 자료들)을 다른 곳에 저장하기로 합니다.

대안

대용량의 파일을 보관하는 방법은 여러 가지가 있습니다.

  1. 외장 저장 매체 (하드 디스크 등)를 사용한다.
  2. 대용량 클라우드 스토리지 서비스를 유료로 사용한다.
  3. AWS 등의 클라우드 웹 서비스를 사용한다.

다만, 제 취향의 문제로 위의 선택지들은 택하지 않기로 합니다.

좀 더 합리적인 대안

개인 서버에 파일을 저장하는 것에는 RAID 구성을 하지 않는다면 안정성에 문제가 있습니다. 다음의 선택지도 추가로 추천 드립니다.

  • 15기가의 구글 포토 용량을 다 쓰신 뒤에, 새 구글 계정을 만드세요.
  • 구글 계정은 전화 번호 하나당 4개까지 만들 수 있다고 합니다.
  • 만약 4개의 구글 계정(60GB)를 전부 소진했다면 새로운 전화번호가 있다면 또 구글 계정을 만들 수 있습니다.
  • 드랍박스나 N클라우드 등의 별개 클라우드 서비스의 무료 플랜을 활용합니다.
  • 드랍박스는 구글 계정 연동을 지원합니다. 구글 계정 하나당 2기가씩 무료 플랜을 더 사용할 수 있습니다.
  • 구글 드라이브에 유료 플랜을 결제합니다. 1년에 12만원 정도 지불하면 2테라 바이트의 구글 드라이브 저장공간을 사용할 수 있습니다.

역시나 취향적인 문제로 위의 선택지는 택하지 않기로 합니다.

목표

  • NAS 를 구성해서, 홈 네트워크에서 접근이 가능하게 만들기
  • 개발용 소프트웨어 가동이 가능하도록 만들기
  • 가능하면 이 모든 것을 저렴한 가격으로.

하드웨어 준비

서버 PC

TL;DR

OROID N2+를 사용합니다.

NAS 제품들

기성 NAS는 가격이 상당하고, 어플리케이션 구동에 필요한 성능을 제공하지 않으므로 선택지에서 제외합니다.

데스크탑 PC, 랩탑

남는 PC 부품을 이용해서 구성할 수 있지만 전력 소모량과 발열, 크기 문제로 선택지에서 제외 합니다.

SBC (싱글 보드 컴퓨터)

라즈베리파이의 등장 이후로, 유사한 폼팩터의 제품이 많이 출시 되었습니다. 이것들을 통틀어 싱글 보드 컴퓨터라고 합니다. 소형에, 저전력, 저발열, 고성능이고 다양한 I/O를 지원해 인기를 끌었습니다.

다음은 염두에 둔 선택지들입니다.

  • 라즈베리파이4B는 저성능은 아니지만, 다른 제품에 비해 부족한 편이었고, 부팅용 스토리지로 SD카드를 쓰거나 USB 외장 SSD/HDD를 사용해야 했습니다. SD카드는 수명이, USB 외장은 연결 안정성이 걱정되었습니다.

  • ODROID N2+는 성능이 무척 뛰어났고, 부팅용 스토리지로 SD카드 말고도 eMMC를 지원했습니다. 수명면에서도 안정성 면에서도 괜찮아보였습니다. 외장 스토리지 역시 사용 가능하고요.

  • M1은 성능은 라즈베리파이4B와 N2+ 사이로 보입니다. 인공신경망 전용 유닛이 있어서 기계학습에 강하고, SD카드, eMMC, USB 말고도 SATA와 M2 각각 한 슬롯씩 지원했습니다. 락칩이라고 하는 독특한 CPU를 사용하는데, 초기 단계라 문제를 일으키는 경우가 다소 있다고 합니다.

  • HC4는 NAS 사용을 전제로 만들어져, 연산 성능이 뛰어나지 않다고 합니다. 단, SATA 슬롯이 두개나 있어 안정적으로 연결이 가능합니다.

사용 목적을 고려하여, ODROID N2+ 를 사용하기로 결정합니다.

NAS 목적에 좀 더 가깝다면 SATA 슬롯이 많은 HC4가, 지원 소프트웨어나 넓은 유저층을 생각하면 라즈베리파이4B가, 기계학습용 머신이라면 M1이 좀 더 괜찮아 보입니다.

보조 부품

대부분의 부품은 ODROID 제조사인 하드커널에서 같이 팔고 있습니다.

  • eMMC 모듈 256GB : 추후 업그레이드가 곤란하므로 최고 사양으로 결정합니다.
  • eMMC Module Writer : 기본 탑재 OS 이외의 OS를 사용하고 싶다면 필요합니다.
  • 파워 어댑터 12V 5A : 공식 홈페이지에서 12V 2A를 같이 판매하지만, 넉넉한 것으로 따로 구매했습니다.
  • N2 공식 케이스 : 상품이 담겨 있는 박스의 크기가 적당해서, 이것을 가공해서 케이스처럼 써도 적당할 것 같다고 생각이 듭니다.
  • 공식 쿨링 팬 : 가격이 비싸지 않으니 구입했습니다.
  • 이더넷 케이블 : 케이블메이트의 제품이 왔습니다. 연결 부위에 있는 고무 손잡이(체결 해제 시 누르기 쉽게 하는 용도의)가 공식 케이스에 살짝 간섭이 있지만 큰 문제는 없습니다. 이더넷 케이블은 따로 사는 게 나을 것 같습니다.
  • 와이파이 모듈 : 혹시나 해서 구매했으나, 크게 필요는 없었습니다.
  • 동전 배터리(CR2032) : RTC 유지에 사용됩니다.
  • USB3.0-SATA 인터페이스 : NEXT-318U3를 구입했습니다.
  • 3.5인치 NAS용 HDD : NAS 구성에 사용합니다.

참고로, HDD는 해외직구가 훨씬 저렴합니다.

사진의 16테라 제품은 Renewed 제품입니다. 새 거는 아닙니다.

기타 부속품

키보드와, 모니터는 가지고 있는 것을 사용합니다. 최초 연결시에만 사용하고, SSH 연결 이후에는 사용하지 않습니다.

총계

약 45만원.
HDD 가격을 제외하면 25만원.

하드웨어 설치

실제로 도착한 ODROID N2+를 보면 무척 작습니다. 남성용 반지갑과 비슷한 사이즈입니다.

https://wiki.odroid.com/odroid-n2/odroid-n2

위키 페이지입니다.

OS 설치

가장 먼저 eMMC 모듈을 eMMC 모듈 라이터에 연결합니다. 흰색으로 위치가 그려져 있는 곳에 놓고 움직이면 살짝 걸리는 것을 느낄 수 있습니다. 아주 조금 힘을 주어서 누르면 결합하는 소리가 들립니다. 그 뒤 PC에 연결하면 LED 빛이 들어오면서 USB 메모리처럼 사용이 가능합니다.

이렇게 됩니다.

https://wiki.odroid.com/odroid-n2/getting_started/os_installation_guide

위키에서 제공하는 정보대로, 원하는 OS 이미지를 다운로드한 뒤, 메모리를 PC에 연결하고, Etcher를 다운로드해서 실행한 뒤 이미지를 플래시해줍니다.

https://wiki.odroid.com/odroid-n2/os_images/ubuntu

하드커널 (ODROID 제조사)에서 제공하는 Ubuntu 22.04 Minimal을 설치했습니다.

그 뒤 eMMC 모듈 라이터에서 eMMC 모듈을 제거한 뒤, 모듈을 기판에 장착해줍니다. 마찬가지로 eMMC 모듈의 위치가 기판 위에 문자와 흰색 선으로 표기되어있고, 그 위에서 살짝 걸리는 곳에서 눌러서 결합하면 됩니다.

파워 어댑터와 USB 커넥터 근처에 조그만한 핀이 있는데 팬을 연결하는 곳입니다. 팬을 구입하셨다면, 이곳에 팬 커넥터를 연결합니다. 팬 커넥터를 연결하기 전에, 케이블을 살짝 꼬아주세요.

https://wiki.odroid.com/odroid-n2/getting_started/examples_wiring_fan

이렇게요.

공식 케이스를 같이 사용하시면, 팬 케이블을 빼낼 공간이 없다는 걸 알게 되셨을 겁니다. 위키에서 보여준 것처럼 MicroUSB 밑의 공간을 쓰거나, 드릴 등을 이용해서 케이스에 구멍을 내줍시다.

팬 케이블을 정돈한 뒤, 팬에 동봉된 육각 스페이서를 이용해서 방열판에 팬을 고정해주시면 팬 설치도 완료됩니다.

동전 배터리를 잘 준비하셨다면 그것도 끼워줍니다.

HDD는 NAS 구성 시 연결하겠습니다.

공식 케이스를 위치에 맞게 연결해주고 (방열판 옆에 있는 홈에 맞춰서 케이스를 결합하는 방식입니다.) 이더넷 케이블을 통해서 가정용 라우터와 연결해줍니다.

추후 SSH로 연결할 것이지만, 당장은 디스플레이와 입력 장치가 필요하니, HDMI 케이블로 모니터와 연결하고, 키보드도 USB로 연결해줍니다.

마지막으로 파워 어댑터 케이블을 꽂으면, 전원이 들어옵니다.

이어서

현재 다음의 작업을 마치고 실제로 사용하고 있습니다.

  • 리눅스 SSH 터미널 연결
  • 사용자 권한 등 기본적인 리눅스 설정
  • 외장 HDD 포맷, 마운팅, Samba를 통한 NAS 연결
  • 간단한 파이썬 어플리케이션 구동

내용이 자세해지므로, 추후 마저 작성할 예정입니다.

profile
Wandering wondering.

1개의 댓글

comment-user-thumbnail
2023년 8월 3일

좋은 글이네요. 공유해주셔서 감사합니다.

답글 달기