라즈베리파이를 개발도구로 사용하다가, 더 이상 사용하지 않게되면, 여러분들은 어떻게 하시겠는가? 대학 졸업작품이나 무언가를 만들고 난 다음 대부분 이러한 개발보드들은 구석에 짱박힌다. 라즈베리파이는 가격이라도 싸지만, 십수년전 임베디드 초기 보드들은 대부분 져렴해도 100만원 정도의 가격으로 판매되었다. 과제 진행하려고 사놨다가 과제가 끝남과 동시에 어딘가 보관되었다가 수년이 지나서 중고나라로 나오는 경우가 대부분이었다. 사실, 리눅스나 윈도우 CE를 설치하고 간단한 프로그래밍 이후 다시 무엇인가를 만들어서 사용하기가 난해하다. 상용품 보다 이쁘지도 않고 말이다. 

     

      그러다가 임베디드 장비에 안드로이드를 올리면서 조금 달라지긴 했지만, 아주 오래된 안드로이드 4.0 이하는 화면 UI이던 뭐던 딱히 쓸만한 게 없었다. 그래도 이런저런 앱이나 만들다가 또 다시 중고나라 장터에... 그런데 라즈베리파이의 경우 가격도 싸지만, 이런저런 활용도가 상당히 많다. 특히 3B 이후로는 하다하다 안되면, 레트로파이등을 설치해서 게임 에뮬레이터로 쓰기 나쁘지 않다. 그러다가, 라즈베리파이 4가 나오면서 사실상 윈도우10도 설치해보고, 설치된 윈도우에 카카오톡을 설치해서 회사에서 간헐적으로 쓰거나, Visual Studio를 설치하고 ARM 설정 넣고 간단한 프로그램을 작성해서 구동하였다. 근데 USB 3.0하드를 포함해서 NAS를 만들어 실제 지벵서 사용하는 사용자가 많이 늘었다. 그런데 말이다.

     

      라즈베리파이4의 경우 두개의 USB는 하드웨어 리소스가 공유되므로 삼바를 이용하여 윈도우 공유 자료실을 만들더라도 속도가 5GBps(최대)를 넘을 수 없었다. 따라서, 큰 파일을 옮기는 경우 시간이 많이 걸릴 수 밖에 없었다. 라즈베리파이 5의 경우에는 PCIe를 통해 NVME SSD를 사용해서 아쭈 빠른 읽고 쓰기가 가능해졌다. 게다가 USB 접불로 인해서 동작에 문제가 발생되거나 덜렁거리지 않아진 것은 정말 좋은 선택으로 보인다. 

     

      사실, OpenMedaiVault는 상용 NAS의 대명사인 시놀로지에 비하면 기능은 상당히 열악하다. 실제로 보면 웹 인터페이스가 제공되기는 하지만, 그냥 잘 만들어진 SAMBA ADMIN 정도라고 생각된다. 상용 NAS에는 플러그인이 정말 좋은것들이 많다. 예를들면 레드마인이라던지, Gitlab이라던지 말이다. 조금만 클릭클릭해주면 NAS를 정말 블링블링하게 사용할 수 있지다. 그리고 불편하지만 SAMBA라면 간단한 설정 몇개로도 충분히 설정이 가능하다. 그럼에도 불구하고 OpenMedaiVault는 초심자들이 접근하기 용이하도록 인터페이스를 제공하고 있는 것 만으로도 충분히 가치가 있어 보인다. 그리고 나중에는 뭔가 더 좋아지지 않을까 하는... 기대감이 조금은...

     

    1. 준비물

      준비해야되는 내용은 다음과 같다. 

      - 라즈베리파이 5 x 1

         > NVMe를 이용할 수 있는 라즈베리파이

      - NVME 확장 보드(HAT)x 1

         > 라즈베리파이의 PCIe를 NVMe로 변경해주는 보드

      - NVME SSD x 1

         > 라즈베리OS가 설치된 저장공간

      - NVME 외장 케이스 x 1

         > 윈도우에서 라즈베리파이 OS를 NVMe SSD에 설치할 때 사용

      - Power Adapter

        > 라즈베리파이 전원 5V 5A

     

    2. 라즈베리파이 OS(운영체제) 설치 

      NVMe에 라즈베리파이 OS를 설치하는 방법은 기존 게시물을 참고해서 진행한다. 

      > 라즈베리파이5의 NVME에 라즈베리파이 OS 설치방법:  https://makeutil.tistory.com/259

     

    3. OpenMediaVault 설치

    3.1. 네트워크 연결 및 ip 정보 확인

      NAS는 네트워크에 연결되어서 동작하기 때문에 당연히 네트워크는 활성화 되어있어야 한다. 그리고 가능하면 고정 ip를 이용하는 것이 좋다. 

    3.2. 고정 ip  설정

      고정 ip를 설정하는 일반적으로 2가지 방법을 이용한다. 첫번째는 공유기에서 라즈베리파이의 MAC어드레스를 이용하여 동적으로 설정되어있어도 특정 ip로 할당 받는 방법이 있고, 그 다음으로는 라즈베리파이의 설정으로 ip를 고정시키는 방법이 있다. 물론, 고정된 장소에서 사용하는 것이 아니라면 공유기에서 MAC을 통해서 설정하는 것이 유리하고, 집이든 회사이던 고정된 장소에서만 계속 사용할 것이라면 라즈베리파이와 공유기에 모두 설정하는 것이 좋다. 왜냐면, 다른 장치가 라즈베리파이에서 고정한 ip를 이용하는 경우 문제가 발생 될 수 있기 때문이다. 

     

      어쨋든 내가 사용하는 네트워크에 연결되도록 만든 다음 ip를 확인해 주도록 하자. 유선을 사용하는 경우 eth0, 무선을 사용하는 경우라면 wlan0를 확인하면 된다. 필자의 경우 무선으로 연결하였고, ip는 192.168.0.88설정 하였기에 아래와 같이 wlan0가 지정한 ip로 설정된 것을 확인할 수 있다.

     

      $ ifconfig -a

       

    또는 특정 장치만 확인하려면 eth0나 wlan0만 확인하면 된다. 

      $ ifconfig eth0 or wlan0

     

     

    3.2. 설치 준비 및 다운로드

      $ mkdir -p ~/omv

      $ cd ~/omv

      $ wget -o - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install 

     

     

     

    3.2. 설치

      다운로드가 완료되면 설치를 진행한다. 

      $ chmod +x install

     

      관리자 권한으로 설치 시작

      $ sudo ./install -n

     

      오류가 발생되었다. 이유가 무엇인지 좀 찾아보자. 설명을 대충 보자하니, 데스크톱 환경에서는 못쓴다고 한다. 처음부터 서버를 설치할 것을 그랬나 싶다. 여기서 데스크톱 환경은 모니터 등을 윈도우가 표시되는 라즈베리파이 배포본을 이야기 한다. 물론, 이런 GUI 환경도 삭제할 수 있다. 

     

      Windows 환경 제거

      이 명령을 실행하면, 윈도우가 부팅되지 않느다. 따라서 연결부터 문제가 좀 될것 같긴한데, 어쨋든 실행해 주도록 하겠다. 

      $ sudo apt purge xserver* lightdm* raspberrypi-ui-mods

     

    그리고 다시 설치를 진행한다. 

     

    3.3. 네트워크 재 설정

      Xwindow에서 네트워크를 설정한경우, Xserver가 지워졌으므로, ip할당등이 되지 않는 문제가 발생된다. 재부팅 해보면, 부팅시 systend-networkd-wait-online.service에서 오류가 발생되어 부팅이 지연됨을 확인할 수 있다. 따라서 오류의 원인을 해결하기 위해서 아래와 같이 network-manager를 설치한다. wlan을 이용하여 설정하고 있던 필자는, 유선 이더넷을 연결하여 인터넷에 연결하도록 한 다음 진행하였다. 

     

    $ sudo apt install network-manager

     

     

     

      다음은, 무선랜을 자동으로 연결할 수 있도록 설정파일 수정한다. 수정할 내용은 이전 게시물 중에서 숨겨진 네트워크 설정 방법하고 동일하다. 따라서 아래 링크를 통해서 무선이더넷을 설정할 수 있다. 

     

      > 숨겨진 무선네트워크를 터미널에서 연결하는 방법 : https://makeutil.tistory.com/256

     

    설정 결과는 다음과 같이 확인할 수 있다. 

     

      그러면 다시 유선 이더넷을 빼고 확인해보면 되겠다. 아래에 보면 유선 이더넷(end0)은 끊어졌고 wlan만 ip를 할당받아온 것을 확인할 수 있다. 

     

      설치가 완료되었다면 이제 설정을 진행한다. 

     

     

    4. OpenMediaVault 설정

      설치가 무리없이 완료되었다면, 이제 OpenMediaValut를 설정해 주도록 하자. 동일한 네트워크에 있는 PC에서 웹브라우저를 실행하여 라즈베리파의 ip를 이용하여 OpenMedaiVault에 접근할 수 있다. 

    4.1. 네트워크 테스트

      라즈베리파이의 ip를 알고 있으므로, 윈도우의 터미널에서 ping을 이용하여 라즈베리파이가 네트워크에 연결되어있는지를 확인한다. (*라즈베리파이의 ip를 192.168.0.88 이라고 가정)

     

      C:\> ping 192.168.0.88

     

    응답이 제대로 확인되면 설정을 진행한다.

     

    4.2. OpenMediaVault의 로그인 화면 연결

      웹브라우저의 주소창에 다음과 같이 입력한다. 

       http://192.168.0.88

     

     

      로그인 화면이 표시되면 관리자 ID와 Password를 입력하여 로그인한다. 초기 ID는 admin, 패스워드는 openmediavault이다. 정상적으로 로그인되면 Dashboard를 확인할 수 있다. 

     

     

    4.3. 관리자 계정 비밀번호 변경

      관리자 비번을 변경하려면, 프로필 아이콘(사람모양)을 클릭하여 'Change Password'를 클릭한다. 그리고 표시되는 비밀번호 변경 페이지에서 변경할 패스워드를 입력해주고 종료한다.

     

    4.4. 저장소 지정

      저장소는 외부 장치와 현재 라즈베리파이가 설치되어있는 NVMe를 이용할 수 있다. 왼쪽 메뉴 항목에서 다음의 항목으로 진행한다. 하드 디스크가 1개 이므로 저장소를 설정할 수가 없다.

     

      Storage > File Systems

     

    4.4.1. 저장장치가 1개인 경우 

      파티션을 나누어서 사용이 가능하다. 다만, 라즈베리를 설치하면 통짜로 파티션이 설정되므로 Gparted를 이용하여 분할을 해주어야 한다.

     

    1) 파이앱 설치

      터미널에서 아래의 명령을 실행하여 pi-apps을 설치해주자.

      $ wget -qO- https://raw.githubusercontent.com/Botspot/pi-apps/master/install | bash

     

    2) gparted 설치

      pi-apps를 실행해서 gparted를 선택하여 설치한다.  

      : Pi-Apps > System Management > GParted 클릭 > 설치

     

    3) nvme 크기 조정

      설치가 완료되면, nvme의 파티션을 변경하기 위해서 gparted를 실행한다.

     

    파티션 크기를 변경할 장치를 선택한다.

     

      저장용 파티션인 237G 파티션을 선택하여 크기를 64GByte로 설정하고 나머지는 새로운 파티션으로 나누도록 한다. 

    그럴려면 위의 파티션 정보에서 ext4 root 파티션인 nvme0np2를 선택하고 크기를 237기가에서 64기가로 변경한다.

     : 메뉴 > Partition > Resize/Move 클릭

     

      그리고 회색 unallocated 부분에서 마우스 오른쪽 클릭후 New를 선택하여 할당되지 않은 영역을 하나의 파티션으로 생성한다. 

     

      크기는 전체영역으로 해주도록 하자. 

     

      크기 재조정이 완료되었다면, Resize/Move 버튼을 클릭하여 적용한다. 그리고 마지막으로 175기가 신규 파티션에서 마우스 우측클릭후 Format to에서 ext4를 선택한다. 

     

     

    설정이 완료되면 V 아이콘을 클릭하고 Apply를 눌러서 마무리하도록 하자.

     

      이제 다시 NVME 부팅을 활성하 하고, 파티션을 위해서 설치시 사용했던 메모리를 제거하고 NVME만 연결될 수 있도록 해주고 다시 공유폴더 저장소를 지정하도록 하자. 

      $ sudo rpi-eeprom-config -edit

     

      최종 확인을 위해서 OpenMediaVault가 설치된 서버가 실행되면, sudo fdisk -l을 이용하여 175GByte 파티션이 생성되어있는 지 확인한다. 아래와 같이 나누어지는 것을 확인할 수 있다. 다음에 다시 하게 된다면 라즈베리파이 OS 설치 이후 바로 파티션 부터 나눠야겠다. 

     

       다시 저장소 지정을 하기 위해서

          저장소 > 파일시스템 > 마운트(>)를 클릭하면, 아래의 그림과 같이 파일시스템의 정보가 출력된다. 해당 파티션을 클릭하여 저장소로 지정한다. 

     

      최종적으로 노란색 Pending 메시지에 V를 클릭하여 파티션 작업을 마친다. 

     

     

    4.5. 공유 폴터 생성

       Storage > File System에서 Shared Folders 탭을 클릭

     

    1) 만들기 버튼(+) 클릭

     

    2) 공유 폴더 정보 입력

       - 공유항목 이름 (Name)

       - 공유할 저장소 지정 (File System)

       - 상대경로 지정 

       - 폴더의 권한 지정

     

    만들어진 결과는 다음과 같다.

     

     

    4.6. 새로운 사용자 만들기

      관리자는 시스템을 사용하기 위한 권한을 지정하는 것이므로, 본인만 사용하는 NAS라고 하더라도 admin 계정을 매번 사용하지 않는게 좋다. 따라서, 일반 계정을 생성하여 사용하길 권한다. 라즈베리파이에서는 기본사용자인 pi가 생성되어있다. 계정을 추가하거나 아니면 pi 계정에서 편집을 선택하여 비번을 수정해주어도 된다.

     

    브라우저의 왼쪽 메뉴에서 User > User를 클릭하여 +아이콘을 클릭하여 사용자를 추가할 수 있다. 입력할 사항은 아래와 같다. 

      - 사용자 이름

      - 비밀번호

     

    4.7. 권한설정

      새 사용자를 추가했으니, 저장소 하위의 공유 폴더를 클릭하고, 생성한 사용자가 접근하게끔 하려는 폴더를 클릭 해서 선택하고 권한버튼을 클릭한다. 

     

      방금 등록한 사용자를 클릭한 다음 부여하고자 하는 권한을 체크해준다. 

     

    4.8. SMB 서비스 활성화 및 공유폴더 설정

      윈도우에서 리눅스의 디렉터리를 공유하기 위해서 몇가지 파일 공유 방법을 이용할 수 있는데, 통상적으로 리눅스에서 제공하는 SAMBA를 이용한다. 그러려면, SAMBA를 사용할 수 있도록 설정을 해주어야 한다. 

    1)  메뉴 > 서비스 

      서비스에서 SMB/CIFS 를 활성화 시켜야 한다. 

     :  메뉴 > 서비스 > SMB/CIFS > 설정

     

    2) 공유폴더 지정

      앞서 추가 권한을 설정했던 폴더를 공유폴더로 지정한다.

      메뉴 > 서비스 > SMB/CIFS > Shared 클릭

     

      생성을 클릭하고 공유폴더를 선택한다.  그리고 추가적으로 해당 공유 폴더의 옵션을 지정한다. 예를들면, 게스트로 누구든지 사용할 수 있게 한다던지 아니면, 읽기만 가능하게 한다던지 말이다. 

     

     

    5. Windows에서 접속 및 사용하기

      공유폴더의 설정이 완료되었으므로, 이제 다른 PC에서 접속이 가능해졌다. 

    5.1. 브라우저를 이용한 접속

      다음의 순서로 접속이 가능하다.  정상적으로 연결이 되면 ID와 패스워드 입력화면이 출력된다. 앞서 설정한 사용자 계정과 암호를 입력하여 파일 브라우저 상에서 접근이 가능하다. 

     

      윈도우 버튼 > 실행 > \\192.168.0.88 

     

      정상적인 경우라면 패스워드입력 다이얼로그가 출력되며, 등록한 사용자 계정을 입력하면 다음과 같이 라즈베리의 저장소가 탐색기에 표시된다. 

     

     

     

    5.2. 네트워크 드라이브 설정

      브라우저를 이용하는경우 매번 입력해야되는데, NAS는 항상 켜있으니까, PC가 켜지면 내 하드 디스크처럼 자동으로 연결되도록 설정할 수 있다. 

      

       윈도우 > 내 PC > 네트워크 드라이브 연결 > 폴더에 \\192.168.0.88 입력 후 Browse 버튼을 클릭

     

    표시되는 네트워크의 폴더에서 192.168.0.88 항목을 클릭하여 공유가능한 폴더를 선택한다. 

     

      확인이 되었으면 마침을 눌러서 연결한다. 

     

     

     간단한 윈도우 파일공유는 이것으로 어느정도 정리되었다고 보고, 뭔가 좀 괜찮은게 없나 싶어서 끄적거려보았다.  대시보드 설정을 살짝 건드려보았는데..

     

      대시보드를 모니터링 용도로 사용하기 나쁘지 않다. 리눅스에서 직접 SAMBA나 NFS를 적용하여 쓰는 것도 괜찮지만, 모니터링은 별도로 만들지 않으면 다소 불편한데 반해서 깔금하게 한눈에 확인할 수 있으니 편리하긴 할 것 같다. 

     

     

     6. 마치며

      필자는 시놀로지 제품을 이미 쓰고 있어 그렇게 편리하다거나 한 느낌은 없다. 다만, NAS를 구매하기 애매하고, 간혹 아시워서 기능이 필요하다고 생각이 된다면, 나쁘지 않은 선택인 것 같다. 그리고 공유기에서 외부 접속에 관련된 설정을 해놓고, IoT 플러그를 이용해서 원격에서 켜거나 끌수 있다면 꽤 괜찮게 쓸수 있다는 생각을 했다. 

     

      플러그인이나 부가 기능은 사실 시놀로지와 같은 상용 장비를 따라가긴 힘들것 같아서 사용상의 일부 제한은 있지만, 그래도 어렵게 설정파일을 뜯어고치지 않아도 쉽게 사용할 수 있다는점은 충분히 매력이 있어보인다. 

     

      어쩌다보니 너무 길어졌는데, 디스크가 1개인 경우에 마운트가 되지 않을 거라고는 생각하지 않았는데 그러한 부분은 좀 아쉽긴하다. 만약 하나의 NVMe에서 모든걸 해결하려면 필자와 같이 하는수 밖에 없을 것 같고, NVME 2개 짜리 HAT을 이용하는 경우라면 또 다르게 설정하는게 좋을것 같고... 어쨋든 간단하게 설치하고 사용할수 있는 NAS, 무선으로 네트워크를 설정해놓으니 부팅시간이 좀 걸리긴 하지만 NVME를 사용해서 구성하면 생각보다 빠릿빠릿한 개인용 NAS를 써볼수 있겠다. 

    반응형
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기