Ubuntu NFS 서버 환경 구축

NFS(Network File System)을 사용하면 네트워크를 통해 다른 사용자와 디렉토리 및 파일을 공유할 수 있다. 이러한 공유 디렉토리를 제공하는 컴퓨터를 서버라 하고, 해당 서버에 연결된 컴퓨터나 장치를 클라이언트라 한다. 클라이언트는 서버의 디렉토리를 로컬 디렉토리인 것 처럼 사용할 수 있다. 이 글에서는 Ubuntu 환경에서 NFS 서버를 설치하고 설정하는 방법에 대해 다룬다.

Ubuntu NFS 서버 설치

NFS 서버가 설치되어 있지 않다면, 아래와 같이 nfs-kernel-server 패키지를 설치한다.

$ sudo apt install nfs-kernel-server -y

NFS 서버 설치가 완료되면 다음 명령으로 nfs-server(NFS 서버 서비스) 상태를 확인한다.

$ sudo systemctl is-enabled nfs-server
enabled

$ sudo systemctl status nfs-server
● nfs-server.service - NFS server and services
     Loaded: loaded (/lib/systemd/system/nfs-server.service; enabled; vendor preset: enabled)
     Active: active (exited) since Fri 2023-09-08 15:30:22 UTC; 46s ago
   Main PID: 2654 (code=exited, status=0/SUCCESS)
        CPU: 1ms

Sep 08 15:30:22 ubuntu systemd[1]: Starting NFS server and services...
Sep 08 15:30:22 ubuntu exportfs[2653]: exportfs: can't open /etc/exports for reading
Sep 08 15:30:22 ubuntu systemd[1]: Finished NFS server and services.

nfs-server enable 여부와 activate 되어 있는 것을 확다.

Ubuntu NFS 서버 설정

Ubuntu 22.04 서버에서 NFS 구성이 변경되었다.

공유 디렉토리 설정

공유할 디렉토리를 /etc/exports 에 추가하여 구성할 수 있다. 아래는 /nfsroot 디렉토리를 공유 하도록 아래와 같이 /etc/exports 파일에 추가한다.

/nfsroot *(rw,sync,no_subtree_check,no_root_squash)

추가한 마운트 포인트인 /nfsroot 를 생성되어 있는지 확인하고, 생성되어 있지 않으면 생성한다.

$ sudo mkdir /nfsroot

그런 다음 exportfs 명령어로 추가한 디렉토리를 내보낸다.

$ sudo exportfs -a

제대로 됐는지 아래와 같이 확인한다.

$ sudo exportfs -v
/nfsroot        <world>(async,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)

Ubuntu NFS 클라이언트 설치 및 구성

클라이언트에서 NFS 을 사용하려면 nfs-common 패키지를 설치해야 한다.

$ sudo apt install nfs-common

마운트 디렉토리 설정

클라이언트에서 서버의 디렉토리를 마운트한 마운트 디렉토리(마운트 포인트)를 생성하고, 서버 디렉토리에 마운트 한다.

$ sudo mkdir -p /opt/nfsmnt
$ sudo mount 10.0.2.15:/nfsroot /opt/nfsmnt

NFS 서버 자동 마운트

클라이언트에서 시스템 부팅중에 자동으로 마운트 되도록 NFS 공유 디렉토리를 설정할 수 있는데, 이 작업은 /etc/fstab 파일을 통해 수행할 수 있다.

10.0.2.15:/nfsroot    /opt/nfsmnt   nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0

작성을 완료했으면, 재부팅 하고 df -h 명령어로 마운트 여부를 확인한다.

$ sudo df -h
$ df -h
Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              392M  1.4M  391M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   48G   40G  6.2G  87% /
tmpfs                              2.0G     0  2.0G   0% /dev/shm
tmpfs                              5.0M  4.0K  5.0M   1% /run/lock
/dev/sda2                          2.0G  895M  933M  49% /boot
tmpfs                              392M   88K  392M   1% /run/user/116
tmpfs                              392M   88K  392M   1% /run/user/1000
10.0.2.15:/nfsroot                 62G   4.8G   54G   9% /opt/nfsmnt 

참고

답글 남기기