NFS 설치 및 설정

NFS(네트워크 파일 시스템)

NFS(Network File System)는 1984년 Sun Microsystems에서 개발한 프로토콜로 네트워크에서 파일 시스템을 공유하도록 설계된 파일 시스템 유형입니다.

마치 자신의 폴더인 것처럼 다른 호스트에 있는 파일 시스템의 일부를 사용할 수 있습니다.

NFS 서버 설치 및 설정

rpcbind 및 nfs를 설치합니다.

설치가 완료되면 아래와 같이 NFS 서버 공유 목록을 관리하는 /etc/exports 파일에 디렉토리, 클라이언트 IP, 옵션 등을 설정합니다.

yum -y install nfs nfs-utils-* rpcbind

vim /etc/exports
================================================== ============
/home/test 192.168.9.40(rw,no_root_squash,동기화)
================================================== ============

/etc/exoports 옵션

ro : 파일 시스템을 읽기 전용으로 마운트합니다.


rw : 읽기 쓰기 파일 시스템을 마운트합니다.


insecure : 인증되지 않은 액세스도 허용됩니다.


no_root_squash : 서버와 클라이언트 모두 동일한 루트를 사용합니다.


동기화: 서버와 클라이언트 간의 동기화.
async : 서버와 클라이언트 간에 동기화하지 않습니다.

nfs는 rpcbind와 nfs를 제외한 임의의 포트이므로 /etc/sysconfig/nfs 파일에서 포트를 설정해야 합니다.

이 줄을 주석 처리하면 이 포트로 고정됩니다.

정력 /etc/sysconfig/nfs
================================================== ============
12 RQUOTAD_PORT=875
20 잠금_TCP포트=32803
22 잠금_UDP포트=32769
57 마운트디포트=892

================================================== ============

NFS 서비스 데몬

nfs: mountd에 의해 마운트된 디렉토리의 읽기 및 쓰기를 처리합니다.


rpcbind: 시스템에서 RPC 서비스를 관리하기 위한 데몬입니다.


nfslock: 여러 사람이 동시에 같은 파일을 수정하지 못하도록 파일 잠금을 제공하는 데몬입니다.


rquotad : NFS 파일 시스템을 마운트한 사용자의 할당량입니다.


mountd : 클라이언트가 마운트를 요청하면 /etc/exports 파일의 설정에 따라 마운트 요청을 처리한다.


방화벽에 111,2049,875,32803,32763 tcp 및 udp 포트를 모두 추가한 후 아래와 같이 rpcbind, nfslock 및 nfs를 실행합니다.

vim /etc/sysconfig/iptables
================================================== ============
-A RH-방화벽-1-INPUT -p tcp -m 상태 –state NEW -m tcp –dport 111 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 875 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 892 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m 상태 –state NEW -m tcp –dport 2049 -j ACCEPT
-A RH-방화벽-1-INPUT -p tcp -m 상태 –state NEW -m tcp –dport 32763 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 32803 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m udp –dport 111 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m udp –dport 875 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m udp –dport 892 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m udp –dport 2049 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m udp –dport 32763 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m udp –dport 32803 -j ACCEPT
================================================== ============

/etc/init.d/rpcbind 시작
/etc/init.d/nfslock 시작
/etc/init.d/nfs 시작

NFS 클라이언트 설치 및 마운트

아래와 같이 클라이언트에 nfs 마운트 패키지를 설치한 후 동일한 방법으로 rpcbind, nfslock, nfs를 실행하고 마운트를 계속합니다.

아래와 같이 nfs로 마운트된 것을 확인할 수 있습니다.

yum -y install nfs-utils nfs-utils-lib nfs-utils-devel nfs4-acl-tools libgssglue-devel

/etc/init.d/rpcbind 시작
/etc/init.d/nfslock 시작
/etc/init.d/nfs 시작
마운트 -t nfs4 192.168.9.50:/home/test01 /nfstest/

df-목
파일 시스템 유형 사용 크기 사용 가능 사용 % 마운트 위치
/dev/sda3 ext4 455G 14G 418G 4% /
tmpfs tmpfs 495M 0 495M 0% /dev/shm
/dev/sda1 ext4 194M 29M 155M 16% /boot
192.168.9.50:/home/test01 nfs4 39G 9.3G 28G 26% /nfstest

부팅 시 nfs를 자동으로 마운트하도록 설정

정력 /etc/fstab

================================================== ============
192.168.9.50:/home/test01 /nfstest nfs 기본값 0 0

================================================== ============