2021-03-18 update log: fstab 관련 내용 수정
라즈베리파이에서 외장 SSD를 사용하는 경우 SSD 드라이브를 부팅 시 자동으로 마운트 시키는 방법입니다.
먼저 라즈베리파이 SSD를 연결했다면 SSD 드라이브를 잘 인식하고 있는지 확인합니다. "sudo lsblk"명령어를 사용합니다.
"sda"라는 디스크로 인식이 되어 있습니다. 그런데 마운트는 안되어 있네요. 그리고 다른 용도로 사용하던 SSD라서 파티션이 여러 개 나누어져 있는데 먼저 포맷부터 해주는 게 좋겠네요.
"sudo mkfs.ext4 /dev/sda" 명령으로 ssd를 ex4 파일 시스템을 포맷합니다.
잠시 기다리면 순식간에 끝납니다. 다시 확인해보면 아래와 같이 파티션 없이 정리가 된 것을 볼 수 있습니다.
이제 라즈베리파이에서 SSD가 자동으로 마운트 될 수 있도록 해 주겠습니다. 먼저 SSD가 마운트 될 폴더를 만들어 줍니다. 경로는 "/home/pi/externalSSD/"입니다.
다음으로, 연결된 SSD의 UUID를 확인합니다. "sudo blkid"명령을 사용합니다.
sda장치의 UUID가 확인되죠? 복사해 둡니다. (/dev/sda: UUID="f7ebfba9-8d86-4f76-9b5d-3700fbc0ecc8" TYPE="ext4") UUID를 사용하지 않고 "/dev/sda"를 사용할 수도 있는데 나중에 SSD가 많아지는 걸 대비해서 UUID를 사용합니다.
외장 드라이브를 자동 마운트를 시키는 방법 중 2가지 방법 알아보겠습니다.
방법 1. "/etc/fstab"
편집기로 "/etc/fstab" 파일을 열어서 마지막 줄에 마운트 정보를 입력하고 저장합니다.
UUID=f7ebfba9-XXXX-...0ecc8 /folder/path/to/mount fstype defaults,auto,users,rw,nofail 0 0
위에서 찾은 UUID의 디바이스를 "/home/externalSSD" 경로로 마운트하고 마운트 될 파티션의 파일 시스템은 ext4라는 뜻입니다. 그리고 뒤에 있는 옵션은 라즈베리파이 OS 공홈을 참고해서 넣어준 건데 정확히 내용을 파악하지는 못하고 있습니다. 옵션별 기능은 좀 찾아봤더니 다음과 같은 의미가 있다고 하네요.
auto / noauto: 부팅 시 자동 mount 여부
exec / noexec: 바이너리 실행 여부
ro / rw: read-only / read-write
nouser / user: user의 mount 권한 여부
atime / noatime / relatime: access time 기록 여부
suid / nosuid: suid와 sgid 비트 동작 허용 여부
dev / nodev: character나 block special device를 interpret허용 여부
defaults: 기본값(rw, suid, dev, exec, auto, nouser, async) 사용
그리고 맨 마지막에 있는 0 0은 dump, fsck 실행을 하지 않는 설정이라고 합니다. 이렇게 하면 부팅 시 자동으로 마운트를 시도하는데 만약 부팅시 해당 드라이브가 연결되어 있지 않다면 대기시간이 추가되어 부팅에 90초가량이 더 소요된다고 하니 이 부분은 참고해야겠습니다.
방법 2. "/etc/rc.local"
"/etc/rc.local"파일의 아랫부분에 다음과 같이 마운트 명령을 추가해 줍니다.
sleep 10s
mount -t ext4 UUID="f7ebfba9-8d86-4f76-9b5d-3700fbc0ecc8" /home/pi/externalSSD &
마운트 전 10 초 대기시간을 준 이유는 부팅 즉시 마운트를 했을 때 장치를 찾지 못하는 경우가 있어서 대기시간을 추가했습니다. 나중에는 장치 인식여부를 확인하는 스크립트로 변경하는 게 좋을 것 같습니다.
최종적인 파일내용은 다음과 같습니다.
이제 리부팅해서 에 들어가서 잘 되었는지 확인해보면 안 될 가능성이 높습니다. 왜냐하면 "rc.local"파일은 그 자체가 비활성화 상태이거든요. 그래서 따로 활성화를 시켜주어야 합니다.
활성화는 아래 링크를 참고해 주세요.
이렇게 까지 모든 과정을 마치고 리부팅을 해보면 마운팅이 자동으로 잘 되는 걸 볼 수 있습니다.
끝!
'Hardware > Home Assistant(라즈베리파이)' 카테고리의 다른 글
Zemismart WIFI 스위치 KS-811 펌웨어 수정 및 설치 & Home Assistant 연동(feat. 중성선 매립) (0) | 2021.01.30 |
---|---|
Docker 데이터 위치 변경 (0) | 2021.01.02 |
Home Assistant & Google Assistant 연동 (3) | 2020.12.21 |
라즈베리파이4 USB(SSD) 부팅 설정하기 (0) | 2020.12.12 |
댓글