개인적으로 라즈베리파이 하나는 Kodi를 활성화시키고 외장 하드를 달아서 멀티미디어 서버로 사용할 예정이라 외장 하드를 연결하는 방법을 정리해보겠습니다.

 

작년에 처음 라즈베리파이를 이용하여 Kodi 환경을 구성할 때 샀던 외장 하드는 도시바 칸비오 커넥트2(CANVIO Connect2) 2TB Black 제품입니다. 지금 다시 검색을 해보니 USB 3.0을 지원하는 모델이네요. 라즈베리파이에만 붙여쓰기에 뭔가 아까운 제품이군요. 기록을 위해 제품 사양을 백업해둡니다.

 

 

작년에 처음 라즈베리파이에 외장 하드를 달려고할 때 걱정했던 것은 혹시나 외장 하드가 전력이 약해서 제대로 동작하지 않으면 어쩌나 하는 것이었는데요, 다행히 동영상 파일이 제대로 읽히지 않는 문제 같은 것은 없었습니다. (지금 확인해보니 Kodi용으로 사용하던 라즈베리파이에는 5V/2.2mA 충전기를 사용하고 있었네요. 이번에 새로 셋업을 하면서 테스트했던 충전기는 5V/1.8mA 짜리였는데도 동작은 잘 했었습니다.)

 

PIXEL 윈도우가 떠있는 환경에서 라즈베리파이에 외장 하드를 연결하면 자동으로 인식하고 마운트까지 해줍니다.

 

[확인] 버튼을 눌러서 실제로 확인을 해보면 /media/pi/TOSHIBA 디렉토리로 마운트가 되어 있습니다. 제 외장 하드는 도시바 제품이고 레이블이 TOSHIBA로 되어 있어서 /media/pi/TOSHIBA 라는 폴더로 마운트가 됩니다.

 

실제로 마운트된 하드 디스크의 정보를 확인하려면 터미널 창에서 sudo lsblk -o UUID,NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL,MODEL 명령 또는 sudo blkid 명령을 입력해봅니다.

외장 하드가 /dev/sda1 장치로 연결되어 있고, /media/pi/TOS로 시작하는 이름으로 마운트가 되었다는 것을 확인할 수 있습니다. (실제로는 /media/pi/TOSHIBA 입니다. 터미널 창을 크게 만들면 전체 이름이 제대로 출력됩니다.) 또한 UUID가 E8~~~62이고, 파일 시스템이 ntfs인 것도 확인할 수 있습니다. 이 정보를 이용하여 라즈베리파이가 부팅할 때마다 자동으로 외장 하드를 마운트하도록 시스템 설정을 바꿀 겁니다.

 

일단 외장 하드의 파일 시스템이 ntfs인데요, ntfs 파일 시스템으로 된 외장 하드의 내용을 읽는 것은 기본 설정으로도 가능하지만 파일을 쓰기 위해서는 ntfs-3g 패키지를 추가로 설치해야 합니다. 그러므로 터미널 창에 sudo apt-get install ntfs-3g 명령을 입력합니다.

 

시스템이 부팅될 때 외장 하드를 자동 마운트를 하게 하려면 /etc/fstab 파일을 편집해야 합니다. (fstab은 file system table 약자입니다.) 보통은 "특정 UUID의 외장 하드를 OOO 디렉토리로 마운트를 하고 기본 속성은 XXX 형태로 설정해라"라는 의미의 명령줄을 입력해야하는데요, 이를 위해 먼저 마운트를 위한 디렉토리를 만들어야 합니다. 저는 /mnt/ 디렉토리 밑에 TOSHIBA 디렉토리를 만들고, 여기에 외장 하드를 마운트하도록 설정했습니다.

위에서 fstab 파일에 적어놓은 마운트 속성은 라즈베리파이 공식 사이트에 나와있는 설명을 일단 그대로 적었습니다. 나중에 필요하면 수정을 하면 되겠죠. fstab 파일 편집이 끝나면 시스템을 재부팅해서 /mnt/TOSHIBA 디렉토리에 외장 하드 파일이 나타나는지 확인하면 됩니다.

 

참고로 라즈베리파이 공식 사이트에서 설명하는 외장 하드 추가 방법은 아래 링크를 참고하면 됩니다.

https://www.raspberrypi.org/documentation/configuration/external-storage.md

 

(2017년 6월 20일 추가)

이전에 라즈베리파이 공식 사이트 설명을 참고해서 /etc/fstab 파일을 설정하였는데요, 이때 사용한 옵션이 그닥 좋은 옵션이 아닌 것 같습니다. 특히나 umask=000 으로 설정하면 디렉토리 뿐만 아니라 모든 파일의 권한이 777로 설정되면서 실행까지 가능한 형태로 생성이 됩니다.

 

아, 그 전에 ntfs 파일 형식을 사용하면 일반적인 리눅스에서 사용하는 파일 퍼미션 관련 설정(chown, chmod 등)을 할 수가 없네요. 그래서 ext4로 포맷을 해야하나 잠시 고민을 했었습니다만, 어차피 내부적으로만 사용하는 것이니 그냥 현재 ntfs 형식을 사용하기로 했습니다. (귀차니즘...)

 

그렇다 하더라도 모든 파일 권한이 777로 설정되는 것은 아닌 것 같습니다. 게다가 기존의 방식이라면 파일 소유주가 root입니다. 뭔가 너무 이상한 느낌이 들어서, fstab 매뉴얼을 뒤져봤습니다. 우분투 문서 쪽에 설명이 잘 되어 있더군요.

https://help.ubuntu.com/community/Fstab

이 내용을 기반으로 /etc/fstab 파일을 아래와 같이 변경했습니다. 이렇게 변경하면 외장 하드에 모든 파일과 디렉토리는 pi 소유로 생성되고, 파일은 664, 디렉토리는 777 형태로 생성이 됩니다. 일단은 이 형태로 써봐야겠습니다.

proc            /proc           proc    defaults          0       0
PARTUUID=9a0c5809-01  /boot           vfat    defaults          0       2
PARTUUID=9a0c5809-02  /               ext4    defaults,noatime  0       1
UUID=E8B88C56B88C2562 /mnt/TOSHIBA   ntfs   defaults,uid=pi,gid=pi,dmask=000,fmask=113,users,rw 0 0
# a swapfile is not a swap partition, no line here
#   use  dphys-swapfile swap[on|off]  for that

 

Posted by kkokkal
: