이똑똑
똑똑이의 개발블로그
이똑똑
  • 분류 전체보기 (28)
    • 라즈베리파이 (16)
    • 개발 (4)
    • 사진 (3)
    • 오큘러스 퀘스트2 (1)
    • 일상 (4)

블로그 메뉴

  • HOME
  • GUEST BOOK
  • ADMIN
  • WRITE

인기 글

태그

  • 라즈베리파이블로그
  • 카메라기본
  • 카메라
  • 노출3요소
  • ChatGPT
  • 메타퀘스트
  • 카메라사용법
  • 라즈베리파이wol
  • 아이폰wol
  • 고스트블로그
  • ftp편집
  • 리눅스외장하드
  • 라즈베리파이OS
  • 목감꼬라지
  • wol서버
  • 라즈베리파이
  • 라즈베리파이설정
  • wol설정
  • 크림페이
  • 라즈베리파이한글

최근 댓글

반응형
hELLO · Designed By 정상우.
이똑똑

똑똑이의 개발블로그

라즈베리파이

라즈베리파이 - 외장하드 연결

2022. 8. 4. 10:07

라즈베리파이를 NAS처럼 쓰기 위해서는 외장하드가 필수이다. 기본 OS를 설치하는 마이크로 SD카드의 용량이 작기도 하고, 마이크로 SD카드의 안정성이 그다지 높지 않기 때문이다.

속도를 위해서 가급적 USB 3.0 이상 지원되는 외장하드가 필요하다.(라즈베리파이 4이상 기준)

라즈베리파이 3B+의 경우 USB 2.0만 지원되기 때문에 속도 면에서 기대하기 힘들다.

또한 고용량의 외장하드의 경우 대부분 내부에 디스크가 들어있는데, 이 디스크를 돌리는데에도 꽤나 전력을 잡아먹기 때문에 가급적이면 별도 전원을 사용하는 외장하드가 좋다.

(혹시나 USB 허브를 이용해 연결한다면 이 허브 역시 반드시 전원을 사용하는 유전원 허브를 써야한다.)

 

 


외장하드 연결과 포멧


 

전원과 USB 케이블의 연결을 완료했다면 라즈베리파이에서 직접 정상적으로 연결됐는지 확인이 필요하다.

sudo lsblk

위 명령을 사용하면 현재 연결된 장치의 확인이 가능하다.

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0    7:0    0  45.9M  1 loop /snap/core18/2348
loop2    7:2    0  94.3M  1 loop /snap/core/12944
loop3    7:3    0   4.2M  1 loop /snap/rustup/1023
loop4    7:4    0  93.4M  1 loop /snap/core/12838
loop5    7:5    0    46M  1 loop /snap/core18/2407
sda      8:0    0 111.8G  0 disk
├─sda1   8:1    0   256M  0 part /boot
└─sda2   8:2    0 111.5G  0 part /
sdb      8:16   0   7.3T  0 disk
└─sdb1   8:17   0   7.3T  0 part 

작성 당시 외장하드 두개가 마운트되어 있기 때문에 sda, sdb로 뜬다.

상위 목록인 sda는 이름, sda1, sda2는 각각 파티션을 의미한다고 보면 된다.

여기서 내가 원하는 것은 7.3테라바이트의 외장하드를 아파치 경로인 /var/www/html안에 마운트하는 것이다.

리눅스는 윈도우와는 다르게 별도 드라이브 폴더로 뜨지 않고 a라는 경로에 마운트하면 해당 폴더 자체가 외장하드가 된다.

마운트 작업을 하기 전에 포멧을 해야하는데, 여기서 두 가지 방법으로 나뉜다.

  1. 윈도우와 호환되는 NTFS로 사용하기
  2. 리눅스에서 사용하는 EXT4로 사용하기

처음엔 왔다갔다 할 수 있도록 1번으로 썼었으나, 알 수 없는 오류로 인해 데이터가 싹 날아간 경험이 있다. 따라서 2번을 추천한다.

sudo umount /dev/sdb

뒤의 sdb는 각자 환경에 맞게 sda 등으로 변환해서 쓴다.

언마운트가 완료되면 아래 명령을 이용해 EXT4로 포멧을 진행한다.

sudo mkfs.ext4 /dev/sdb

이제 마운트할 폴더를 생성하고 해당 폴더에 마운트를 진행한다.

mkdir /var/www/html/NAS
sudo mount /dev/sdb /var/www/html/NAS

다시 아래 명령을 이용해 정상적으로 마운트가 되었는지 확인한다.

sudo lsblk
반응형
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0    7:0    0  45.9M  1 loop /snap/core18/2348
loop2    7:2    0  94.3M  1 loop /snap/core/12944
loop3    7:3    0   4.2M  1 loop /snap/rustup/1023
loop4    7:4    0  93.4M  1 loop /snap/core/12838
loop5    7:5    0    46M  1 loop /snap/core18/2407
sda      8:0    0 111.8G  0 disk
├─sda1   8:1    0   256M  0 part /boot
└─sda2   8:2    0 111.5G  0 part /
sdb      8:16   0   7.3T  0 disk
└─sdb1   8:17   0   7.3T  0 part /var/www/html/NAS

 

 


시스템 등록


마지막으로, 재부팅하면 마운트된 외장하드가 떨어지기 때문에 부팅시에 위 과정을 자동 수행하도록 등록하는 과정이 필요하다.

우선 외장하드의 ID부터 파악해야 한다.

sudo blkid
/dev/sda1: LABEL_FATBOOT="boot" LABEL="boot" UUID="0C61-73F5" TYPE="vfat" PARTUUID="b5cac175-01"
/dev/sda2: LABEL="rootfs" UUID="43f2d0bb-83be-464f-94d0-9a751f376c64" TYPE="ext4" PARTUUID="b5cac175-02"
/dev/sdb1: UUID="6c195f2b-6fa8-4995-ac3a-6c012a399945" TYPE="ext4" PARTLABEL="Elements" PARTUUID="024c2e24-3148-42ad-8ee7-a5929645a136"
/dev/loop0: TYPE="squashfs"
/dev/loop2: TYPE="squashfs"
/dev/loop3: TYPE="squashfs"
/dev/loop4: TYPE="squashfs"
/dev/loop5: TYPE="squashfs"

연결한 장치가 sdb에 붙었으므로 sdb1의 UUID부분이 ID이다.

반대로 sda로 붙었다면 sda1의 UUID를 보면 된다.

앞부분인 /dev/sdb 부분으로 등록을 해도 되지만, 문제는 나중에 장치를 뺐다가 다시 낀다던지, 새로운 usb를 연결한다던지 하면 마운트가 바뀔 수 있기 때문에 안전하게 uuid로 하는 것이 좋다.

sudo nano /etc/fstab

편집기가 실행되면 주석처리된 부분 바로 위에 다음 줄을 추가한다.

순서대로 각각 uuid, 연결경로, 포멧타입, defaults, 0, 0이며 각 사이는

UUID=[자신의 uuid] /var/www/html/NAS ext4 defaults 0 0

저장한 후 재부팅하면 외장하드가 정상적으로 연결된 것을 확인할 수 있다.

반응형

'라즈베리파이' 카테고리의 다른 글

라즈베리파이 - HTTPS 우회  (0) 2022.08.04
라즈베리파이 - FTP 서버 설치  (0) 2022.08.04
라즈베리파이 - MariaDB 설치  (0) 2022.08.04
라즈베리파이 - php 설치  (0) 2022.08.04
라즈베리파이 - Apache2 설치  (0) 2022.08.04
    '라즈베리파이' 카테고리의 다른 글
    • 라즈베리파이 - HTTPS 우회
    • 라즈베리파이 - FTP 서버 설치
    • 라즈베리파이 - MariaDB 설치
    • 라즈베리파이 - php 설치
    이똑똑
    이똑똑
    개발하면서 궁금했던 것들, 뭔가 검색에서는 안나왔던 것들.. 그 외 일상과 취미에 관한 것들..

    티스토리툴바