로컬이나 용량이 작은 여러 usb에 분산해서 저장해놓으니까 막상 원하는 파일이 어디에 있는지 몰라서 이 usb, 저 usb 뒤적거리다 결국은 못찾는 경우가 여럿있었다.
그래서 어차피 라즈베리파이는 웹 서버 때문에 24시간 구동도 하겠다. 파일서버 하나 구축하면 접근성도 쉽고 어떤 파일을 찾고 있는지도 용이할 것 같다.
라즈베리파이 3 에서 부팅을 위한 sd card는 아무래도 용량이 기대한 만큼 크지가 않기에 하드디스크를 하나 구매한 뒤 마운트 해서 사용해보자.
라즈베리파이 3는 이동을 자주하는게 아니므로 외장용 하드디스크 말고 그냥 일반 하드디스크를 구매했다.
용량은 4TB.
SATA-USB 변환 케이블로 하드디스크에 전력 공급 및 라즈베리 파이에 연결 시켜줬다.
$ sudo lsblk
lsblk를 이용하여 sda라는 명으로 디스크가 추가된 것이 보인다.
$ sudo mkfs.ext4 /dev/sda
하드디스크를 ext4로 포맷시켜준다.
이 때 UUID도 같이 출력된다. 자동마운트를 설정해줄거라면 기억해두자.
마운트를 할 디렉터리를 생성해준다. /home/storage라는 디렉터리를 생성해주었다.
$ mount /dev/sda /home/storage/
mount 명령어를 통해 /home/storage에 하드디스크가 정상적으로 마운트 된 것을 확인 할 수 있다.
ln -s [마운트 된 디렉터리 경로] private
웹 서버에 마운트 된 디렉터리의 경로로 심볼릭 링크를 생성해준다.
이전에 생성해둔 심볼릭링크에 경로를 덮어씌워서 -Tf 옵션을 사용했고 새로 만드는거라면 -s 옵션만 사용하면 된다.
웹 서버에서 심볼릭 링크를 설정한 경로에 접근하면 하드디스크에 업로드한 파일들을 열람할 수 있다.
/files/ 와 하위디렉터리 내부에 존재하는 파일이 보이는 이유는 Options +Indexes +FollowSymLinks 옵션을 설정해두었기 때문이다.
AllowOverride all은 HTTP 인증을 위해 추가한 것이고 인증을 할 것이 아니라면 삭제해도 된다.
라즈베리파이가 리부트되면 재마운트를 해주어야하는데 자동으로 마운트 되게하는 옵션을 설정한다.
UUID는 하드디스크 포맷 때 확인한 UUID를 입력해주면 된다.
$ sudo vi /etc/fstab
UUID='[하드디스크의 UUID]' /home/storage ext4 defaults,noatime 0 0
이제 리부트되도 하드디스크가 연결되어있다면 자동으로 연결된다.
$ sudo blkid
하드디스크 포맷할 때 UUID 확인을 못했다면 blkid 를 통해 확인 가능하다.
'Raspberry Pi' 카테고리의 다른 글
Raspberry Pi 3 안전하게 종료하기 (0) | 2023.04.17 |
---|---|
Raspberry Pi 3 메일서버(sendmail) 구축 (0) | 2022.07.25 |
Raspberry Pi 3로 WOL 패킷 전송 (5) | 2019.12.24 |
Raspberry Pi 3 SSL certificate 오류 (0) | 2019.01.08 |
Raspberry Pi 3 ssh 보안 키 접속 (1) | 2018.08.21 |