라즈베리파이 3와 OpenMediaVault를 이용한 홈 NAS 구축 Raspberry Pi


최근에 씨게이트 외장하드 6TB짜리를 하나 얻게 되었는데 이게 보조전원이 필요한 물건이라 애물단지로 전락해버렸다.
어떻게 할지 한참을 고민하다가 가족들이 모두 데이터를 백업할 수 있도록 홈 NAS를 구축하게 되었다.

집에 굴러다니는 라즈베리파이3를 서버로 하고 소프트웨어는 OpenMediaVault (이하 OMV)로 하여 설치를 하였는데
OMV 공식사이트에서 기본적으로 제공하는 OS 이미지가 라즈베리파이 3과는 호환의 문제가 매우 심하다.
NTFS 드라이브의 마운트도 안되며 내장 Wi-Fi 모듈도 잡지 못하는 상태라 사용하기 힘들다.

대안으로 순정 라즈비안 위에 수동으로 패키지를 설치하면 정상적으로 호환이 되는것을 발견하여 공유하고자 한다.


0. 준비물
  • - Raspberry Pi 3
  • - Raspbian OS Jessie Lite 이미지 ( ※ 중요! 최신 버젼인 Stretch와 호환되지 않는다. 아래에서 설명 )


1. Raspbian 설치

SD카드 리더기 등을 이용해 Raspbian OS를 설치하자. Raspbian의 버전이 Stretch 가 아닌 Jessie 여야만 한다.

이유는 OMV가 PHP5 패키지에 의존적인데 Stretch 버전부터는 PHP7이 기본으로 탑재되어 있어
OMV 설치를 해도 PHP5 패키지를 찾을 수 없다는 오류와 함께 실행되지 않기 때문이다. 반드시 Jessie 버젼으로 설치하도록 하자.


[라즈베리파이 공식 사이트에서 Jessie Lite 버젼 다운로드]


GUI환경에서 작업을 할 필요가 없기 때문에 Lite버전으로 진행하지만, CUI환경이 익숙하지 않다면 일반 버전으로 설치해도 상관없다.



2. OS 설치 후 OMV 설치하기


OS 설치가 끝났으면 OMV를 설치하기 위해 스크립트를 작성해보자.

Putty등을 이용하여 SSH로 접속 후 Nano나 Vim등의 편집기를 이용해 두 개의 스크립트 one.sh, two.sh를 작성하자.


[one.sh]
1
2
3
4
5
6
7
8
9
10
11
cat <<EOF >> /etc/apt/sources.list.d/openmediavault.list
deb http://packages.openmediavault.org/public erasmus main
# deb http://downloads.sourceforge.net/project/openmediavault/packages erasmus $
## Uncomment the following line to add software from the proposed repository.
# deb http://packages.openmediavault.org/public erasmus-proposed main
# deb http://downloads.sourceforge.net/project/openmediavault/packages erasmus-$
## This software is not part of OpenMediaVault, but is offered by third-party
## developers as a service to OpenMediaVault users.
# deb http://packages.openmediavault.org/public erasmus partner
# deb http://downloads.sourceforge.net/project/openmediavault/packages erasmus $
EOF
cs



[two.sh]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
export LANG=C
export DEBIAN_FRONTEND=noninteractive
export APT_LISTCHANGES_FRONTEND=none
apt-get update
apt-get upgrade
apt-get --allow-unauthenticated install openmediavault-keyring
apt-get update
apt-get --yes --force-yes --auto-remove --show-upgraded \
        --no-install-recommends \
        --option Dpkg::Options::="--force-confdef" \
        --option DPkg::Options::="--force-confold" \
        install postfix openmediavault
# Initialize the system and database.
dpkg-reconfigure openmediavault
omv-initsystem
 
cs


저장을 완료했으면

chmod + one.sh
chmod + two.sh

커맨드를 입력하여 스크립트 실행이 가능하도록 한 뒤에

sudo one.sh
sudo two.sh

를 실행한다. two.sh의 경우 관련 패키지 업데이트 및 설치를 많이 하기 때문에 많은 시간이 걸릴 것이다.
(one.sh는 별다른 커맨드라인이 뜨지 않으며 two.sh 실행 후 다시 one.sh를 실행하면 안된다!)

[디폴트 계정]
admin / openmediavault


스크립트의 실행이 완료되면 이제부터 브라우저 주소창에 [http://라즈베리파이의 ip주소] 를 입력하면 OMV를 이용할 수 있다. 디폴트 Port는 80이며 로그인 후 변경 가능하다.

덧글

  • 전단지 2018/04/16 14:39 # 삭제 답글

    작성해주신 내용 잘 읽었습니다. 저 역시 OMV 설치 이후 무수히 많은 방법으로 WIFI를 살려보려했지만 포기한 상태였는데 알려 주신 방법으로 다시 설치를 해봐야겠습니다.
    그리고 혹시 OMV 설치 이후 KODI까지 설치를 하였는지 여쭤보고 싶습니다. KODI역시 설치가 안되어 별로도 파이를 하나더 구동중입니다.
  • MSKim 2018/06/27 21:49 #

    늦은 답변 죄송합니다. KODI는 따로 설치를 하지 않았습니다만 검색해보니 OMV와 같이 설치할 수 있는 듯 하네요.
  • 질문입니다. 2018/11/04 12:19 # 삭제 답글

    안녕하세요. 라즈베리파이3B로 NAS만들고 있는 사람입니다.

    OMV OS자체를 마이크로 sd카드에 까니, 작동을 안하더라구요.

    좌절하고 있던 참에 도움이 된 글이 주인장님 블로그입니다. 결국 NAS만들었구요.

    만들고나니 궁금한게 생겼습니다.질문은 3개입니다. 좀 많죠 ㅎㅎ;

    1.one.sh하고 two.sh의 역할이 궁금합니다.

    2.two.sh에서 뭐뭐를 설치하는건가요?
    vsfptd가 설치된것 같지도 않은데, OMV웹에서 설정만으로 ftp를 사용할수 있네요.

    3.two.sh의 언어는 리눅스 자체언어인가요?
    할줄아는게 C언어하고 파이썬 조금인데 처음보는 언어라서요. 리눅스 언어는 따로 부르는 이름이라도 있나요?

    진짜 주인장님 블로그없었으면 NAS절대 못만들었을겁니다. 감사합니다!
  • MSKim 2018/11/04 16:05 #

    안녕하세요. 먼저 제 글이 도움이 되셨다고 하니 다행입니다.

    질문에 대해 답변드리겠습니다.
    첫번째로 one.sh와 two.sh는 Raspbian에서 OMV 패키지를 설치하기 위해 사용자가 입력해야 하는 명령어들을 간단하게 입력하기 위해 만든 셸 스크립트라고 보시면 됩니다.
    두번째로, two.sh에서는 OMV를 설치하는 스크립트이며, 리눅스 패키지를 먼저 최신으로 업데이트 하며, OMV를 설치할때 의존성이 있는 패키지를 자동으로 다운로드하기 때문에 안에 ftp에 관련된 패키지가 포함되어 있거나 혹은 자체적인 ftp 기능을 구현해놓은게 아닐까 생각됩니다.
    마지막으로, 첫번째 답변에 적어놓은 것처럼 two.sh에 기술된 내용은 특정 프로그래밍 언어가 아니라 리눅스 shell에서 사용자가 입력해야 하는 명령어를 단순히 순차적으로 실행할 수 있도록 명령어를 저장한 것입니다.

    셸 스크립트에 대한 자세한 내용은 https://opentutorials.org/course/2598/14204 링크를 참조하시면 많은 도움이 되실 것 같습니다.

    감사합니다.^^
댓글 입력 영역