NFS 설정 · 4 min read · Feb 12, 2026

Scientific Linux 6.3에서 NFS 서버 및 클라이언트 설정하기

이 가이드는 Scientific Linux 6.3에서 NFS 서버와 NFS 클라이언트를 설정하는 방법을 설명합니다. NFS는 네트워크 파일 시스템을 의미하며, NFS를 통해 클라이언트는 NFS 서버의 원격 공유를 로컬 하드 디스크에 있는 것처럼 접근(읽기, 쓰기)할 수 있습니다.

1 사전 참고

여기서는 두 개의 Scientific Linux 시스템을 사용합니다:

  • NFS 서버: server.example.com, IP 주소: 192.168.0.100
  • NFS 클라이언트: client.example.com, IP 주소: 192.168.0.101

2 NFS 설치하기

서버:

NFS 서버에서 다음을 실행합니다:

yum install nfs-utils nfs-utils-lib

그런 다음 NFS 서버의 시스템 시작 링크를 생성하고 시작합니다:

chkconfig --levels 235 nfs on   
/etc/init.d/nfs start

클라이언트:

클라이언트에서 NFS를 다음과 같이 설치할 수 있습니다(사실 서버와 동일합니다):

yum install nfs-utils nfs-utils-lib

3 서버에서 디렉토리 내보내기

서버:

클라이언트가 /home 및 /var/nfs 디렉토리에 접근할 수 있도록 하려면, 이를 서버에서 “내보내기” 해야 합니다.

클라이언트가 NFS 공유에 접근할 때, 이는 일반적으로 nobody 사용자로 발생합니다. 보통 /home 디렉토리는 nobody가 소유하지 않으며(그 소유권을 nobody로 변경하는 것은 추천하지 않습니다!), /home에서 읽고 쓰기를 원하기 때문에 NFS에 접근이 root로 이루어져야 한다고 알려줍니다(만약 /home 공유가 읽기 전용이었다면, 이는 필요하지 않았을 것입니다). /var/nfs 디렉토리는 존재하지 않으므로, 이를 생성하고 소유권을 변경할 수 있습니다. 제 테스트에서는 사용자와 그룹 nobody 모두 두 개의 Scientific Linux 테스트 시스템(서버 및 클라이언트)에서 ID 99를 가졌습니다. NFS 클라이언트에서 /var/nfs에 쓰기를 시도했을 때, 권한 거부 오류가 발생했으므로, 모든 사용자가 해당 디렉토리에 쓸 수 있도록 chmod 777 /var/nfs를 수행했습니다. 그 후 클라이언트에서 /var/nfs에 쓰기가 가능했고, 클라이언트에서 /var/nfs에 작성된 파일은 nobody 사용자와 그룹이 소유한 것으로 나타났지만, 서버에서는 (존재하지 않는) ID 65534의 사용자와 그룹이 소유한 것으로 나타났습니다. 그래서 서버에서 /var/nfs의 소유권을 사용자/그룹 65534로 변경하고, /var/nfs의 권한을 다시 755로 변경했습니다. 그러면 클라이언트가 /var/nfs에 쓸 수 있게 되었습니다:

mkdir /var/nfs  
chown 65534:65534 /var/nfs  
chmod 755 /var/nfs

이제 /etc/exports를 수정해야 합니다. 여기서 NFS 공유를 “내보냅니다”. /home 및 /var/nfs를 NFS 공유로 지정하고 NFS에 /home에 대한 접근을 root로 하도록 알려줍니다(더 많은 정보를 원하시면 /etc/exports, 그 형식 및 사용 가능한 옵션에 대해 살펴보세요):

man 5 exports
vi /etc/exports

| /home 192.168.0.101(rw,sync,no_root_squash,no_subtree_check) /var/nfs 192.168.0.101(rw,sync,no_subtree_check) |

(노트: no_root_squash 옵션은 /home에 root로 접근할 수 있게 합니다.)

/etc/exports를 수정할 때마다, 변경 사항을 적용하기 위해 다음을 실행해야 합니다:

exportfs -a

4 클라이언트에서 NFS 공유 마운트하기

클라이언트:

먼저 NFS 공유를 마운트할 디렉토리를 생성합니다. 예:

mkdir -p /mnt/nfs/home  
mkdir -p /mnt/nfs/var/nfs

그 후, 다음과 같이 마운트할 수 있습니다:

mount 192.168.0.100:/home /mnt/nfs/home  
mount 192.168.0.100:/var/nfs /mnt/nfs/var/nfs

이제 다음의 출력에서 두 개의 NFS 공유를 확인할 수 있어야 합니다:

df -h
[root@client ~]# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/mapper/vg_server2-LogVol00  
                      9.7G  1.7G  7.5G  18% /  
tmpfs                 499M     0  499M   0% /dev/shm  
/dev/sda1            504M   39M  440M   9% /boot  
192.168.0.100:/home   9.7G  1.7G  7.5G  19% /mnt/nfs/home  
192.168.0.100:/var/nfs  
                      9.7G  1.7G  7.5G  19% /mnt/nfs/var/nfs  
[root@client ~]#

그리고

mount
[root@client ~]# mount  
/dev/mapper/vg_server2-LogVol00 on / type ext4 (rw)  
proc on /proc type proc (rw)  
sysfs on /sys type sysfs (rw)  
devpts on /dev/pts type devpts (rw,gid=5,mode=620)  
tmpfs on /dev/shm type tmpfs (rw)  
/dev/sda1 on /boot type ext4 (rw)  
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)  
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)  
192.168.0.100:/home on /mnt/nfs/home type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)  
192.168.0.100:/var/nfs on /mnt/nfs/var/nfs type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)  
[root@client ~]#

5 테스트

클라이언트에서 이제 NFS 공유에 테스트 파일을 생성해 볼 수 있습니다:

클라이언트:

touch /mnt/nfs/home/test.txt  
touch /mnt/nfs/var/nfs/test.txt

이제 서버로 가서 두 개의 테스트 파일을 확인해 보세요:

서버:

ls -l /home/
[root@server ~]# ls -l /home/  
total 0  
-rw-r--r-- 1 root root 0 Dec 11 16:58 test.txt  
[root@server ~]#
ls -l /var/nfs
[root@server ~]# ls -l /var/nfs  
total 0  
-rw-r--r-- 1 nfsnobody nfsnobody 0 Dec 11 16:58 test.txt  
[root@server ~]#

(테스트 파일의 소유권이 다르다는 점에 유의하세요: /home NFS 공유는 root로 접근하므로 /home/test.txt는 root가 소유합니다; /var/nfs 공유는 nobody/65534로 접근하므로 /var/nfs/test.txt는 65534가 소유합니다.)

6 부팅 시 NFS 공유 마운트하기

클라이언트에서 NFS 공유를 수동으로 마운트하는 대신, /etc/fstab을 수정하여 클라이언트가 부팅할 때 NFS 공유가 자동으로 마운트되도록 할 수 있습니다.

클라이언트:

/etc/fstab을 열고 다음 줄을 추가합니다:

vi /etc/fstab

| [...] 192.168.0.100:/home /mnt/nfs/home nfs rw,sync,hard,intr 0 0 192.168.0.100:/var/nfs /mnt/nfs/var/nfs nfs rw,sync,hard,intr 0 0 |

rw,sync,hard,intr 대신 다른 마운트 옵션을 사용할 수 있습니다. 사용 가능한 옵션에 대해 더 알아보려면 다음을 참조하세요:

man nfs

수정된 /etc/fstab이 작동하는지 테스트하려면 클라이언트를 재부팅하세요:

reboot

재부팅 후, 다음의 출력에서 두 개의 NFS 공유를 확인할 수 있어야 합니다:

df -h
[root@client ~]# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/mapper/vg_server2-LogVol00  
                      9.7G  1.7G  7.5G  18% /  
tmpfs                 499M     0  499M   0% /dev/shm  
/dev/sda1            504M   39M  440M   9% /boot  
192.168.0.100:/home   9.7G  1.7G  7.5G  19% /mnt/nfs/home  
192.168.0.100:/var/nfs  
                      9.7G  1.7G  7.5G  19% /mnt/nfs/var/nfs  
[root@client ~]#

그리고

mount
[root@client ~]# mount  
/dev/mapper/vg_server2-LogVol00 on / type ext4 (rw)  
proc on /proc type proc (rw)  
sysfs on /sys type sysfs (rw)  
devpts on /dev/pts type devpts (rw,gid=5,mode=620)  
tmpfs on /dev/shm type tmpfs (rw)  
/dev/sda1 on /boot type ext4 (rw)  
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)  
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)  
192.168.0.100:/home on /mnt/nfs/home type nfs (rw,sync,hard,intr,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)  
192.168.0.100:/var/nfs on /mnt/nfs/var/nfs type nfs (rw,sync,hard,intr,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)  
[root@client ~]#

7 링크

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.