일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 버그
- IOS
- 컨트롤러
- 에어팟
- 정식버전
- BIQU
- Fedora
- sierra
- 3D프린터
- Mac
- 3D 프린터
- beta
- 맥북프로
- 모하비
- iOS 13
- Tarantula
- catalina
- AirPods
- 애플
- high sierra
- 터치바
- 업데이트
- Linux
- mojave
- macos
- tevo
- asahi linux
- 아이폰
- 시에라
- 맥
- Today
- Total
elsa in mac
[라즈베리 파이] 애플 HFS/HFS+ 외장하드 연결하기 본문
이번 포스트에서는 Raspberry Pi에 애플의 파일 시스템인 HFS 혹은 HFS+로 포멧된 저장장치(HDD or SDD)를 연결하는 방법에 대해 정리 해 봅니다. 이 포스트는 Raspberry Pi 3 B+, Raspbian kernel 4.19를 기준으로 작성되었습니다.
외장하드 케이스 전원
우선 Raspberry Pi는 일반 PC나 Mac과는 달리 USB 포트를 통해 외장 하드에 전원을 충분히 공급할 수 없습니다.
따라서, USB포트를 통해 외장하드를 연결하려면, 별도의 전원을 공급할 수 있는 케이스 혹은 케이블을 사용해야 합니다. 2.5인치라면 별도의 5V, 3.5인치 HDD라면 12V의 전원을 인가할 수 있는 케이스를 사용해야 합니다.
참고로 제가 사용하는 외장하드 연결장치는 이것 입니다.
aliexpress에서 구매한 것이고, 가격은 대략 6달러,, USB 3.0, UASP 지원.. 가성비 매우 좋습니다. ^^
HFS/HFS+를 지원하기 위한 Package 설치
Raspberry Pi는 기본적으로 HFS/HFS+ 파일 시스템을 지원하지 않습니다. 이를 지원하기 위해서는 추가적으로 설치를 해 줄 것들이 있습니다.
위의 스샷과 같이 sudo apt-get install 명령을 통해, hfsplus, hfsutils, hfsprogs, gdisk 등을 설치해 줍니다.
mount
HFS package를 설치했다면, 재 부팅 후, HDD나 SDD 외장하드를 연결하고, 부팅을 합니다.
부팅 후, 외장하드가 Raspberry Pi에 연결되었는지의 여부는 fdisk 명령으로 간단히 확인할 수 있습니다.
위의 터미널 스샷은 sudo fdisk -l(소문자 L) 명령을 내린 결과 화면입니다, 보면, /dev/sda 라는 장치로 465GB의 HDD가 연결된 것을 확인할 수 있는데요, 파티션은 두 개로 각각 /dev/sda1 과 /dev/sda2로 구분되어 있는 것을 알 수 있습니다. sda2의 Type이 Apple HFS/HFS+ 이죠.
기본적으로 HFS/HFS+ 외장하드를 연결하고 부팅을 하게되면, 특별한 설정을 하지 않아도 자동적으로 /media/pi 디렉토리 밑으로 HFS 파티션을 붙이게 됩니다.
위의 스샷은 mount 명령을 내린 경우로, 보시는 바와 같이 /dev/sda2 파티션이 /media/pi 밑에 HDD로 붙은 것을 알 수 있습니다. 문제는 ro(read-only)로 연결된다는 것인데, 이렇게 mount가 되면, 읽기만 가능하고 쓰기는 가능하지 않게 됩니다. 이렇게 mount되는 이유는 무엇일까 ? 원인은 부팅 message를 확인해 보면 그 이유를 알 수 있습니다.
위의 스샷은 dmesg 명령으로 부팅 과정에서 표시된 message를 확인한 것입니다.
맨 마지막에 보면, 외장하드가 journaled FileSystem로 write access를 지원하지 않기 때문에, read-only로 mount 했다는 것을 알 수 있습니다. 만일 write access를 허용하려면 force 옵션을 사용하라고 되어 있죠.
이 문제를 근본적으로 해결하는 방법은 외장하드를 Non-journaled HFS로 포멧하는 것이지만, 이미 자료들이 잔뜩 들어 있다면 그럴 수 없겠죠 ? 이미 자료들이 들어 있더러도, Journaled HFS 외장하드를 Non-Journaled HFS로 변경하는 것은 매우 간단합니다.
우선 해당 HDD를 다시 Mac에 연결합니다. 그리고 터미널을 열고 아래와 같이 diskutil disableJournal /Volumes/HDD 명령을 내려 줍니다. (대소문자 주의, 맨 뒤의 HDD는 DIsk Label로 사용자마다 다를 수 있습니다.)
iMac$ diskutil disableJournal /Volumes/HDD
Journaling has been disabled for volume HDD on disk2s2
명령을 내리면, 위와 같이 Journaling이 비 활성화 되었다는 안내문이 나타나게 됩니다.
이제, 외장하드를 분리하고 다시 Raspberry Pi에 연결한 후 부팅을 해 봅니다.
위의 스샷은 dmesg 입니다. write access.. 경고가 나타나지 않는 것을 알 수 있습니다. 아래는 mount 정보 입니다. read/write 속성이 활성화 된 것을 알 수 있습니다.
만일, journaled HFS를 그대로 유지한 상태에서 Raspberry Pi에서 사용하려면, 아래와 같은 작업을 해 주면 됩니다.
우선 mount를 해제 합니다.
umount /dev/sda2
다음 아래 명령을 통해, /dev/sda2에 대해 hfsplus 로 무결성 검사를 해 줍니다.
sudo fsck.hfsplus /dev/sda2
이제 다시 read/write 옵션을 적용하여 다시 mount를 해 줍니다. 아래의 예는 /plex 마운트포인트에 read/write 속성을 강제(force)하여 mount하는 예 입니다.
sudo mount -t hfsplus -o force,rw /dev/sda2 /plex
위와 같은 일련의 작업을 수행하면 Journaled HFS를 read/write 상태로 mount 할 수 있습니다. 하지만, 이 방법은 RPi를 부팅할 때마나 매변 해 줘야 하기 때문에 번거롭죠.. 앞서 살펴본 바와 같이 journaling을 비 활성화 해 주는 것이 보다 간편하다는 것을 알 수 있습니다.
'소소한 일상 > Raspberry Pi' 카테고리의 다른 글
라즈베리 파이 4 - USB-C 전원 문제를 개선한 PCB Rev 1.2 적용 (0) | 2020.02.25 |
---|---|
[라즈베리 파이] Plex Media Server 설치하기 (Raspbian Buster 버전) (4) | 2020.02.09 |