[Ubuntu] NFS 클라이언트 설치 및 NFS볼륨 마운트작업

[Ubuntu] NFS 클라이언트 설치 및 NFS볼륨 마운트작업
Photo by Claudio Schwarz / Unsplash

사용환경

  • OS : Ubuntu 22.04 LTS (Jammy Jellyfish)
  • Dokuwiki : Release 2024-02-06a "Kaos"
  • NAS : Synology DSM 7.1.1

A. 시작하기 전에..

미니PC에 dokuwiki 설치하고 본격적으로 운영하기 전에 정기적인 백업을 해야할 것 같다. 그렇다고... 수동으로 주기적으로 하기에는 너무 번거롭고.. 윈도우즈 PC에서 사용하던 백업솔루션이 ubuntu도 지원해서 그 백업솔루션을 설치하기 전에 백업을 받을 저장공간부터 확보해보려고 한다.

미니PC의 디스크가 고장나면 데이터복구가 안되니(심지어 SSD라 복구확률은 더 떨어지는...) 미니PC 외부에 데이터를 보관해야했다. 그래서 가지고 있던 Synology NAS에 NFS로 마운트하고 데이터를 넘기면 될 것 같아서 NFS 셋팅을 해보려고 한다.

B. 관련패키지 설치

$ sudo apt install nfs-common

C. host 등록

IP주소로 마운트해도 되는데.. 나중에 NAS IP주소가 바뀌면 대응이 복잡해지니 아예 /etc/hosts 파일에 등록해서 작업하자.

$ sudo vim /etc/hosts

/etc/hosts 파일을 열고 아래의 내용을 등록한다.(IP주소는 각자 맞게 알아서...)

192.168.50.100    simplismfs      # Synology NAS

D. 마운트할 디렉토리 생성

NFS 마운트를 할 디렉토리를 생성한다.

$ sudo mkdir -p /mnt/simplismfs
$ ll /mnt
total 12
drwxr-xr-x  3 root root 4096 Feb 22 17:02 ./
drwxr-xr-x 20 root root 4096 Feb 11 10:24 ../
drwxr-xr-x  2 root root 4096 Feb 22 17:02 simplismfs/
$

E. NAS 설정

직접 캡쳐

Synology의 제어판 -> 공유 폴더 -> 마운트할 공유폴더 편집 -> NFS 권한 탭 -> 생성

호스트이름 또는 IP칸에 Ubuntu 서버의 IP주소를 입력한다. 그리고 기본적으로는 비동기 활성화에 체크가 되어있는데, 체크를 해제한다.(개인취향...)

F. NFS 마운트

$ showmount -e simplismfs
Export list for simplismfs:
/volume1/share     ??.??.??.??
$

위에 물음표로 표시한 부분에 Ubuntu서버의 IP주소가 조회되면 마운트를 진행한다.

$ sudo mount simplismfs:/volume1/share/Backup/ /mnt/simplismfs
Created symlink /run/systemd/system/remote-fs.target.wants/rpc-statd.service → /lib/systemd/system/rpc-statd.service.
mount.nfs: Protocol not supported
$

마운트 실패하고 오류가 발생했다!

mount.nfs: Protocol not supported

프로토콜 이슈라고 하니... NFS 버전을 NFSv4로 바꿔보자.

$ sudo mount simplismfs:/volume1/share/Backup /mnt/simplismfs
simplism@simplism-beebox:~$ df -h
Filesystem                                        Size  Used Avail Use% Mounted on
tmpfs                                             378M  1.4M  376M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv                  98G   14G   80G  15% /
tmpfs                                             1.9G   12K  1.9G   1% /dev/shm
tmpfs                                             5.0M     0  5.0M   0% /run/lock
/dev/sda2                                         2.0G  252M  1.6G  14% /boot
/dev/sda1                                         1.1G  6.1M  1.1G   1% /boot/efi
/dev/mapper/ubuntu--vg-lv--app                    356G   28K  338G   1% /app
tmpfs                                             378M  4.0K  378M   1% /run/user/1000
simplismfs:/volume1/share/Backup/simplism-beebox  7.2T  2.6T  4.7T  35% /mnt/simplismfs
$

NFSv4로 변경하니 정상적으로 마운트가 됬다!

G. 자동 마운트

mount 명령어는 1회성으로 수행된 것이라서 재부팅 후에도 자동으로 마운트되도록 설정한다.

$ sudo vim /etc/fstab

/etc/fstab 파일의 가장 마지막 줄에 아래의 내용을 추가한다.

simplismfs:/volume1/share       /mnt/simplismfs nfs     rw,rsize=131072,wsize=131072,namlen=255,tcp,timeo=600,retrans=2,soft,retry=10      0       0

그리고... 정상적으로 마운트되는지 reboot!

$ sudo reboot

재부팅 후에도 잘 마운트가 되었는지 확인해보자

simplism@simplism-beebox:~$ df -h
Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              378M  1.3M  376M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   98G   14G   80G  15% /
tmpfs                              1.9G   12K  1.9G   1% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
/dev/mapper/ubuntu--vg-lv--app     356G   28K  338G   1% /app
/dev/sda2                          2.0G  252M  1.6G  14% /boot
/dev/sda1                          1.1G  6.1M  1.1G   1% /boot/efi
simplismfs:/volume1/share          7.2T  2.6T  4.7T  36% /mnt/simplismfs
tmpfs                              378M  4.0K  378M   1% /run/user/1000
simplism@simplism-beebox:~$

/mnt/simplismfs에 마운트가 잘 되어있는 것을 확인완료!

H. 마치면서..

작업하면서 로그들만 잘 보관했다가.. 오늘 시간이 나서 포스트를 여러개 동시에 올린다. 오늘 글쓰기 작업은 여기까지!

I. 참고문서

  1. How To Set Up an NFS Mount on Ubuntu 22.04, Brian Boucheron and Tony Tran, DigitalOcean, 2022/04/26