하늘빛 블로그

생각하라! 질러라! 삽질하라!

라즈베리파이로 NAS 구축 완료했습니다

기본적으로 컴퓨터를 비롯한 여러 디바이스에서 파일을 공유하고 동영상 등을 스트리밍할 수 있다는 점에선 구글 드라이브랑 비슷하다. 다만 이번에는 웹 기반 환경은 구축하지 않았다.

원래 NAS를 구축하는 건 어려운 작업이 아닙니다. 사실 저장소에서 몇 개의 패키지를 설치하고 설정 몇 줄 바꿔주면 끝나는 간단한 작업인데, 하나하나의 작업에서 뭔가 문제가 하나씩 발생하는 바람에 그걸 일일이 해결하느라 며칠 걸렸습니다.

라즈베리파이에 유전원 허브를 통해 외장하드를 연결하고(전력공급 문제로 유전원 허브가 반드시 필요합니다), 하드를 마운트시키면(인식된 하드를 특정 디렉토리에 연결시켜서 접근할 수 있게 하는 작업이 마운트입니다)  samba를 통해서나 ftp를 통해서 접근이 가능해야 하는데, 처음엔 권한이 없다면서 불가능했습니다.

이건 /etc/fstab파일을 편집해서 마운트할 하드디스크 정보를 입력한 후 옵션에noauto,user,username=homme,uid=1006,gid=1006,dir_mode=0755,file_mode=0644,iocharset=utf8 라고 적어주는 것으로 해결했습니다.(noauto로 해서 일일이 수동으로 마운트하고 있는데, 이 옵션을 껐을때 제대로 외부에서 파일 쓰기 지우기가 가능한지는 모르겠습니다)

이제 samba는 잘 되는데, ftp에서 한글 파일명이 깨져서 제대로 이용할 수 없었습니다. 이건 ftp 클라이언트에서 인코딩 옵션을 EUC_kr이나 cp949로 설정해놓으니 해결할  수  있었습니다.

다 음으로 안드로이드 동영상 플레이어 중에 네트워크 스트리밍 재생이 가능한 Dice player를 이용해서 라즈베리파이의 동영상을 재생하려고 하였는데, 내부망에서 samba로는 접근이 가능했는데 ftp로는 불가능했습니다. 그래서 우회 방안으로 Es 파일탐색기라는 앱을 설치해서 여기서 sftp로 연결하는 방법을 시도해봤습니다.

이렇게 하니 접근이 가능했고 일단 재생이 되긴 하는데, 너무 끊어져서 도저히 못 봐줄 지경이었습니다. 대충 비교해보니 sftp보다는 ftp가 속도가 더 빨랐습니다. 그래서 ftp로 연결하는 방법을 기어코 찾아보기로 했습니다.

ftp 는 기본적으로 21번 포트를 사용하는데, SK에서 21번 포트랑 80번 포트만 딱 막아놨더랍니다(그래서 이 블로그 주소에도 :8000이 붙는 겁니다. 보통 기본 포트인 80번이 막히면 8080으로 많이 쓰는데 8000번이 더 보기 좋더라고요). 그래서 vsftpd 설정에서 8001번같은 다른 열려있는 포트로 변경해주었습니다. 근데도 안되니 미치겠습니다. 분명히 뭔가 방법이 있을텐데 말입니다.

해서 열심히 구글링을 해보니 외부에서는 임의의 포트명으로 하더라도 공유기의 포트포워드 설정으로 21번 포트로 연결되도록 설정을 바꾸면 된다는 것이었습니다. 그래서 포트포워드 설정을 바꾸고 vsftpd 포트 설정을 기본인 21번 포트로 돌려놓으니 이제는 외부에서도 ftp 접속이 가능해졌습니다.

이렇게 해놓고 동영상 스트리밍을 테스트해보는데, 구리기로 소문난 와이브로에서도 가장 오래된 에그 단말기인 KWI-B2200로도 비트레이트 2000kbps쯤 되는 동영상이 잘 재생되는 것이었습니다! 괜히 속도가 느려서 끊기는가 싶어서 괜한 에그탓을 했지 뭡니까? 추가비용 없이 모든 자료를 하드에 넣어두고 어디에서든 볼 수 있게 되었습니다.

 

이 렇게 대충 구축하는 데 성공했는데, 역시 대용량의 파일을 전송하기엔 아직 느립니다. 라즈베리파이는 CPU도 후지고 인터페이스도 100Mbps 랜과 USB2.0 뿐이니까요… 게다가 공유기와 랜선도 100Mbps 대응이라 초당 12MB까지밖엔 속도가 안 나옵니다.

따라서 공유기와 서버, 랜선 모두 기가비트 랜을 지원하는 녀석으로 바꿔야만 더 빠른 속도를 낼 수 있습니다. 요새 기가비트 지원하는 공유기야 얼마 안 하고, 랜선이 15미터짜리가 필요하다는 게 문제지만(집이 오래돼서 벽을 뚫고 매설되고 그런 거 없어서 방을 넘어가려면 빙빙 돌아가야 해서 긴 게 필요해요ㅠㅠ) 이 역시 얼마 안 할테고, 여기에 나중에 나올 미노보드 맥스(더 빠른 CPU와 기가비트랜, SATA2, USB3.0까지 모두 지원)로 서버를 교체하면 완벽한 기가비트 클라우드 환경을 구축하는 셈입니다.

CC BY-NC 4.0 This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.