Nas의 파일 mount 방법

Nas의 파일 mount 방법

환경: Ubuntu 22.04 LTS

Linux 서버의 파일 access를 위해 개인적으로 사용하는 file system mount하는 방법을 정리한다.

NFS

NFS는 간단하고 효율적인 Linux에서 파일 마운트하는 방법이다. Synology NAS에 있는 파일 access를 위해 NFS mount를 해보았다. 방법은 다음과 같다.

sudo apt install nfs-common
mount 192.168.1.10:/volume1/homes/ryanc/Photos /home/ryanc/docker/photoprism/ds713p

하지만 한글 파일이 전부 깨져서 나왔다. 찾아보니 NFS에서는 UTF8을 읽지 못한다고 한다. 그렇다면 이건 사용하지 못한다.

Samba

아니 Linux 간 사용할 network file system이 필요한데 왠 samba... 라고 할 수 있는데, 찾아보니 UTF8을 지원하는 file system이 의외로 없었다. 하긴 file system 개발하려면 몇 년의 검증이 필요하니 이해되기는 한다.

Samba 사용법은 다음과 같다.

vi ~/.smbcredentials
username=ryanc
password=1234
chmod 600 ~/.smbcredentials
sudo apt-get install smbclient cifs-utils
sudo mount -t cifs -o credentials=/home/ryanc/.smbcredentials,uid=1000,gid=1000,iocharset=utf8 //192.168.1.10/home /media/nas

물론 id & password는 encryption이 필요하다. 방법은 찾아봐야겠다.

autofs

Network를 통한 연결이다 보니 안정성이 항상 문제가 된다. 특히 /etc/fstab에 설정 내용을 저장할 경우 서버와의 연결이 안되어 있으면 문제가 생긴다. 이에 더 유연하게 대응하기 위해 autofs를 사용한다.

NFS와 samba의 연결 방법은 다음과 같다. 참고로 btrfs 포멧을 사용하는 HDD 마운트 방법도 기록한다.

sudo apt install autofs
sudo mkdir -p /media/mount/hdd1
sudo mkdir -p /media/mount/ds713p
sudo mkdir -p /media/mount/nfs

sudo vi /etc/auto.master
# Use /media/mount as the mounting point to mount a device using
# the settings defined in /etc/auto.drives
/media/mount /etc/auto.drives
cp /etc/auto.misc /etc/auto.drives
sudo vi /etc/auto.drives

hdd1 -fstype=btrfs :/dev/sdb1
nfs -fstype=nfs 192.168.1.10:/home/ryanc
ds713p -fstype=cifs,rw,dir_mode=0755,file_mode=0644,uid=1000,gid=1000,iocharset=utf8,credentials=/home/ryanc/.smbcredentials ://192.168.1.10/home

마지막으로 autofs 다시 시작한다.

sudo service autofs restart