Seafile Server
를 그대로 사용해도 좋지만 아쉽게도 micro SD
의 용량이 크지 않기에 대용량 파일을 많이 저장할 순 없다. 물론 요즈음엔 마음만 먹으면 1TB
크기의 microSD
도 구매할 수 있으나 가격이 만만치 않고, 속도 또한 빠르지 않다.
따라서 이번 장에서는 외장 하드 디스크를 Raspberry Pi
에 붙여 해당 장치에 Seafile Server
데이터를 저장하는 방법에 대해 기술하려 한다.
필자는 Toshiba CANVIO ADVANCE 2세대 1TB 외장하드
를 사용, ext4
로 포맷할 예정이다. 어떤 외장하드를 사용하던 큰 상관은 없으나, 포맷의 경우 ext4
혹은 exFAT
을 추천한다.
가장 먼저 할 일은 외장하드를 Raspberry Pi
에 연결하는 것이다. 연결 후 아래에 명령어를 입력하여 정상적으로 장치가 인식되었는지 확인한다.
sudo fdisk -l
장치가 제대로 인식되었다면 아래의 명령어를 입력하여 외장 하드디스크를 포맷한다:
sudo mkfs.ext4 /dev/sda1
장치의 포맷까지 끝났다면 디렉토리에 마운트한다. 어떠한 디렉토리에 마운트해도 무방하나 필자는 /mnt/external_disk/
에 마운트할 것이다:
sudo mount /dev/sda1 /mnt/external_disk
sudo chown -R seafile: /mnt/external_disk
마운트 후 /mnt/external_disk
의 소유자를 seafile
로 변경한다.
Seafile Server
데이터 옮기기 이제 기존 Seafile Server
의 데이터를 마운트한 디렉토리로 옮기면 된다. 데이터를 옮기기 전에 반드시 Seafile Server
를 종료한다.
mkdir /mnt/external_disk/cloud
cd /mnt/external_disk/cloud
rsync -r /opt/seafile/seafile-data/ ./seafile-data/
rsync -r /opt/seafile/seahub-data/ ./seahub-data/
모든 파일이 성공적으로 옮겨졌다면 기존 파일들을 삭제한다.
rm -rf /opt/seafile/seafile-data
rm -rf /opt/seafile/seahub-data
이제 외장 하드 디스크에 있는 seafile-data
와 seahub-data
디렉토리를 심볼릭 링크로 삭제한 경로에 배치하면 된다.
cd /opt/seafile
ln -s /mnt/external_disk/cloud/seafile-data/ ./
ln -s /mnt/external_disk/cloud/seahub-data/ ./
그럼 seafile-data
와 seahub-data
는 모두 외장하드로 저장되며, 그 외 설정 파일과 로그들만 micro SD
에 남게 된다.