[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

Read more

[Linux] Mariadb Docker container 설치

[Linux] Mariadb Docker container 설치

A. 사용환경 * OS : Rocky Linux 9.5 (Blue Onyx) * Docker : 28.0.4 * Portainer : 2.27.3 LTS B. 시작하기 전에... 어떤 소프트웨어를 사용하더라도 보통 Database는 거의 필수로 필요한 편이다.(요즘엔 SQLite도 많이써서... DB서버가 없어도 되긴하지만 어쨌든!) 업무적으로 사용할 소프트웨어들을 몇개 검토해봤는데, 대부분이 MySQL, Mariadb, PostgreSQL이더라. 일단, 바로 설치해서 사용해볼

By simplism
[Linux] Docker에 Portainer 설치

[Linux] Docker에 Portainer 설치

A. 사용환경 * OS : Rocky Linux 9.5 (Blue Onyx) * Docker : 28.0.4 B. Portainer란? docker를 사용할 때 명령어 기반으로 사용해도 되지만... 여전히 GUI는 필요하다.(ㅎㅎ) Portainer를 간단하게 설명하면 docker 관리소프트웨어(웹기반)정도로 이해해도 된다. Portainer 공식 홈페이지에서 확인해보면 기능이 아주 많은 것 같은데... 사실 나의 경우에는 아주 단순한 기능만

By simplism
[Linux] Rocky Linux 9에 Docker 설치

[Linux] Rocky Linux 9에 Docker 설치

사용환경 1. Hardware : VMware 2. OS : Rocky Linux 9.5 (Blue Onyx) A. 시작하기 전에.. Docker 테스트를 위해서 VMware에 가상서버를 생성하고 Rocky Linux를 설치했다. 개인적으로는 Ubuntu를 선호하는 편인데, 회사에서 사용할 서버라서 다른 사람들과 같이 사용하기 위해서 RHEL이나 RHEL과 호환되는 배포판을 선택해서 사용하는 편이다. B. Docker 설치 전 작업 01. OS

By simplism