안녕하세요..
처음 NAS DIY 하시는 분들께 조금이나마 참고가 될 부분이 있으면 좋겠다 싶어서 글 올려봅니다.
DIY는 7월초 쯤에 했구요... 저도 뭐 처음 해본거라 잘 모르고 한 부분이 있으니 조언도 좀 부탁 드립니다.
1. 배경
저는 한 6년동안 DS210j를 사용했습니다. 아시는 분은 아시겠지만 저가형 모델이고 연식이 좀 되다보니 점점 느려지더군요. 무엇보다도 DSM이 업데이트 될때마다 짜증이 솟구치기 시작했습니다. 화려해서 좋긴하다만 뭐 하나 클릭하고 수십초 기다렸다가, 또 하나 누르고 기다리고...
처음에는 시놀로지의 다른 모델로 재구매를 해야 겠다라고 마음 먹었으나... 좀 쓸만하다 싶으면 4,50만원대라서 부담이 되더군요. 이정도면 PC 본체 한대 값인데 PC 보다는 범용성이 떨어지니... 일단 검색질을 해보니 가격 측면에서 부담을 느낀 분들이 DIY를 많이 하시더군요. 동일한 가격대의 상용 NAS 보다 더 나은 성능을 취할 수 있다는게 매력이라고... 게다가 굳이 리눅스를 설치하지 않고 XPenology(우리나라에서는 해놀로지라고 하더군요)를 구성해서 저렴한 하드웨어로 DSM의 편의성을 가져갈 수 있는 방법도 있고... XPenology 말고도 기타 NAS 전용 OS도 더러 있더군요.
저는 리눅스, XPenology 이 두가지를 고민 하다가 리눅스를 택했습니다.
사실 DSM이 NAS 자체의 역할에 충실하도록 만들어져서 편의성은 있으나, 어느 부분에서는 제한적인 느낌도 없지 않았거든요. 그리고 XPenology는 DSM의 정식 업데이트가 불가능 하다고 하네요. 그러면 만약 DSM에 보안 취약점이 있다면 그것도 문제라고 생각했습니다.
2. 부품 선정
NAS는 곧 서버이므로 전력이 낮아야 한다... 라는 것이 DIY 하신 분들이 그러시더군요. 저도 거기에 공감을 하고 저전력 하드웨어일 것, 그리고 최대한 저렴한 하드웨어일 것... 으로 선정을 해봤습니다. 그래서 제 선택은 아래와 같습니다.
메인보드 : ASRock Q1900-ITX (12만원)
- 동영상 시청시 트랜스 코딩이 원활하게 되려면 i5 급이 되어야 한다는 말이 있어서 고민을 했지만, J1900으로 트랜스 코딩 해봤는데 아무 문제 없다고 하는 분도 있어서 그냥 J1900으로 결정했습니다.
메모리 : 삼성 PC3-12800 8G 노트북용 (3.5만원)
파워 : 마이크로닉스 Classic II SE 500W +12V Single Rail 85+ (4.5만원)
케이스 : 쿨러마스터 elite 110 (7만원)
- 사실 U-NAS NSC-400을 사고 싶었는데 수입을 해야 되고 또 물건 자체도 비싸더군요. 그래서 뭐 아쉬운대로...
하드 : 210j에서 쓰던건데 잘 기억이 안나네요. 아무튼 2TB
총 비용은 27만원 들었습니다.
3. 조립
조립은 뭐 그냥 케이스 생긴대로, 메인보드의 설명서를 보면서 진행했고 부팅도 다행히 문제 없이 잘 되었네요.
4. 도메인 신청
IP를 매번 외우기가 귀찮아서 도메인을 써보기로 했습니다. 마침 이벤트 기간이라 7천원으로 저렴하게 도메인을 가질 수 있었네요. 이 도메인을 공유기의 공인 IP에 연결을 하려고 했지만, IP가 나중에 바뀌면 어쩌지? 라는 생각이 들었습니다. 검색질을 해보니 공유기의 DDNS를 이용한 방법이 있더군요.
이 방법은 NAS가 DDNS를 지원하는 공유기에 연결 되어 있을 때 가능한 방법인데, 공유기에 할당된 공인 IP가 변경되면 이걸 DDNS가 자동으로 반영하게 하고, 구매한 DNS에는 CNAME으로 DDNS에 등록된 도메인을 잡아주는 방법입니다. 이렇게 하니까 IP가 바뀌든 말든 신경 쓰지 않고 구매한 도메인을 그대로 쓸 수 있어 좋네요.
5. 우분투 설치
리눅스는 우분투 서버가 좋다길래 최신의 LTS 버전을 받아서 설치했습니다. 그리고 부팅 후 공유기에서 할당된 NAS의 IP를 DMZ로 잡아줘서 공유기의 NAT가 NAS에 영향을 끼치지 않도록 하고, 대신 NAS에 별도로 방화벽을 설치했습니다. 리눅스에서의 방화벽 rule 설정 도구(?)로는 iptables를 사용했으나 최근 들어 firewalld라는 것이 생겼다고 합니다. 사용하는 건 firewalld가 좀 더 간단한 것 같아서 firewalld를 설치했습니다.
6. 블로그를 위한 웹서버 설치
apache, mariadb, php로 웹서버를 설치했습니다. 그리고 블로그는 wordpress로 설치했구요. 설치 후 브라우저에서 확인해보니... 속도가 느리더군요. J1900의 저렴한 성능 때문인가 싶어서 살짝 걱정을 했습니다. 스트리밍 할 때 트랜스코딩도 버벅 거리면 어쩌지...ㅜ
뭐 일단 다른 건 차치하고, 블로그를 어떻게 하면 빠르게 돌릴수 있을까 싶어 검색을 해보니 jekyll이라는 것이 있더군요. static blog system이라서 속도가 무지 빠르다... 라고 해서 설치를 해봤습니다. 과연 속도는 빠르긴 한데, 글을 등록 할 때 html 문서를 작성하듯 해야 해서 조금 불편합니다. 찾아보니 sublime text라는 걸 깔아서 jekyll plugin을 곁들여 사용하면 또 편하다고 하길래 이것도 깔아서 써보니 좀 낫긴 합니다. 일단은 이런 형태로 써보기로 했습니다. 요새 검색을 좀 해보니 sublime text가 사용자 층이 많은 거 같네요. 굳이 마우스 없이도 키보드로 커맨드를 쉽게 실행 할 수 있다는게 좋은 점인 듯 합니다.
7. 윈도우와 NAS 간 파일 공유를 위한 samba 서버 설치
윈도우에서의 파일 공유 폴더를 잡아주는 것 처럼 samba의 설정 파일에 공유 폴더를 잡아주니까 문제 없이 되더군요. 마우스로 설정 했느냐, 키보드로 설정했느냐 정도의 차이인 것 같네요.
8. 미디어 서버 설치
미디어 서버로 어떤 것을 사용할까 고민을 하다가, 처음에는 minidlna로 설치를 해봤습니다. 굉장히 간단해서 좋았으나 DLNA만 지원하는 거 같더군요. 그리고 트랜스 코딩 기능도 없는 것 같았습니다. 그래서 또 검색을 열심히 해봤습니다. 어떤 사이트였는지 기억은 잘 안나는데, 미디어 서버 종류를 비교해 놓은 위키 사이트 였습니다.
그 중 PLEX가 단연 돋보이더군요. 설치도 쉽고, 관리도 웹으로 가능하고, 인터페이스도 너무 좋고, 트랜스 코딩도 되고... 얼른 설치하고 몇 가지 설정을 좀 해준 뒤, DS210j(라고 해야 되나... 스마트 폰이라고 해야 되나 잘 모르겠습니다만)로는 지원되지 않았던 동영상을 틀어봤는데 너무 잘 나옵니다. 그 동안 못 봤던 동영상이 문제 없이 플레이 되는 것을 보고 감탄 했습니다. 안드로이드 앱(유료)도 있어서 정말 편하구요. J1900에서 트랜스 코딩이 문제 없이 된다는 것을 확인 했네요...ㅜ 그것도 원본 화질 플레이로... 그동안 동작도 제대로 안되고 느려터진 시놀로지 앱들 쓰느라 괴로웠는데... 여기서 아주 대만족 했습니다...ㅎ
9. 토렌트 서버 설치
토렌트 서버로는 transmission을 선택 했습니다. 웹 기반 환경이라서 토렌트 사용하기가 편하네요. 한 가지 버그가 있었는데, 설정 파일에 설정을 완료한 후 transmission을 중지했다가 다시 start 하면 설정 파일이 default로 다 변경 되어 버리더군요. 이걸 해결 하려면 stop/start를 하지 말고 reload를 해야 합니다.
이상 허접한 후기 였습니다.