3. OS이야기/ 01. Administration

Linux서버에 NFS서버 구성하기

OSSW(Open Source System SoftWare 2014. 5. 26. 10:41

1. NFS 설치 및 접속 계정 설정

nfs, nfs-utils, rpcbind 패키지가 설치되있는지 확인 한다.

 

 

# yum install rpcbind nfs-utils nfs-utils-lib

 

 

1)  재부팅시 자동 실행 되도록 서비스에 등록해준다.

 

# chkconfig --level 35 nfs on

# chkconfig --level 35 nfslock on

# chkconfig --level 35 rpcbind on

 

 

2) 서비스를 실행한다.

 

# service rpcbind start

# service nfslock start

# service nfs start

 

 

3) 잘 돌아가는지 확인한다.

# rpcinfo -p localhost

program vers proto port service

100000 4 tcp 111 portmapper

100000 3 tcp 111 portmapper

100000 2 tcp 111 portmapper

100000 4 udp 111 portmapper

100000 3 udp 111 portmapper

100000 2 udp 111 portmapper

100005 1 udp 892 mountd

100005 1 tcp 892 mountd

100005 2 udp 892 mountd

100005 2 tcp 892 mountd

100005 3 udp 892 mountd

100005 3 tcp 892 mountd

100003 2 tcp 2049 nfs

100003 3 tcp 2049 nfs

100003 4 tcp 2049 nfs

100227 2 tcp 2049 nfs_acl

100227 3 tcp 2049 nfs_acl

100003 2 udp 2049 nfs

100003 3 udp 2049 nfs

100003 4 udp 2049 nfs

100227 2 udp 2049 nfs_acl

100227 3 udp 2049 nfs_acl

100021 1 udp 32769 nlockmgr

100021 3 udp 32769 nlockmgr

100021 4 udp 32769 nlockmgr

100021 1 tcp 32803 nlockmgr

100021 3 tcp 32803 nlockmgr

100021 4 tcp 32803 nlockmgr

100024 1 udp 662 status

100024 1 tcp 662 status

 

 

 

4) 접속을 허용할 PC를 입력한다.

# vi /etc/exports

/data 172.27.137.92(rw,sync,no_root_squash,all_squash)

172.27.205.0/24(rw,sync,no_root_squash,all_squash)

172.27.137.0/24(rw,sync,no_root_squash,all_squash)

 

2. NFS 서버 실행

 

# service nfs restart

Shutting down NFS daemon: [ OK ]

Shutting down NFS mountd: [ OK ]

Shutting down NFS services: [ OK ]

Starting NFS services: [ OK ]

Starting NFS mountd: [ OK ]

Starting NFS daemon: [ OK ]

 

부팅시 자동시작 등록

# chkconfig nfs on

# chkconfig --list | grep nfs

nfs 0:off 1:off 2:on 3:on 4:on 5:on 6:off

nfslock 0:off 1:off 2:off 3:on 4:on 5:on 6:off

 

서비스가 잘돌아가는지 확인

# exportfs -v

/data 172.27.137.92(rw,wdelay,no_root_squash,all_squash,no_subtree_check)

/data 172.27.205.0/24(rw,wdelay,no_root_squash,all_squash,no_subtree_check)

/data 172.27.137.0/24(rw,wdelay,no_root_squash,all_squash,no_subtree_check)

# exportfs -a (다시 읽어들인다)

 

 

3. 방화벽 설정

원격 제어를 위해 방화벽을 설정해야 하는데 NFS는 다음 포트를 열어줘야 한다.

 

TCP/UDP 111 - ROC 4.0 portmapper

TCP/UDP 2049 - NFSD (nfs server)

 

# vi /etc/sysconfig/nfs

LOCKD_TCPPORT=32803

LOCKD_UDPPORT=32769

MOUNTD_PORT=892

RQUOTAD_PORT=875

STATD_PORT=662

STATD_OUTGOING_PORT=2020

 

편집기로 주석을 해제 한 후 서비스를 재시작한다.

 

# service rpcbind restart

# service nfs restart

 

방화벽에 허용할 목록을 추가한다.

-A INPUT -s 0.0.0.0/0 -m state --state NEW -p udp --dport 111 -j ACCEPT

-A INPUT -s 0.0.0.0/0 -m state --state NEW -p tcp --dport 111 -j ACCEPT

-A INPUT -s 0.0.0.0/0 -m state --state NEW -p tcp --dport 2049 -j ACCEPT

-A INPUT -s 0.0.0.0/0 -m state --state NEW -p tcp --dport 32803 -j ACCEPT

-A INPUT -s 0.0.0.0/0 -m state --state NEW -p udp --dport 32769 -j ACCEPT

-A INPUT -s 0.0.0.0/0 -m state --state NEW -p tcp --dport 892 -j ACCEPT

-A INPUT -s 0.0.0.0/0 -m state --state NEW -p udp --dport 892 -j ACCEPT

-A INPUT -s 0.0.0.0/0 -m state --state NEW -p tcp --dport 875 -j ACCEPT

-A INPUT -s 0.0.0.0/0 -m state --state NEW -p udp --dport 875 -j ACCEPT

-A INPUT -s 0.0.0.0/0 -m state --state NEW -p tcp --dport 662 -j ACCEPT

-A INPUT -s 0.0.0.0/0 -m state --state NEW -p udp --dport 662 -j ACCEPT

 

 

4. 클라이언트 Mount

 

클라이언트에서 nfs 마운트에 필요한 유틸이 있는지 확인하여 설치한다.

 

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

 

# showmount -e 서버IP

Export list for 172.27.137.92:

/data 172.27.137.0/24,172.27.205.0/24,172.27.137.92

마운트

# mount -t nfs 172.27.137.92:/data /data

 

마운트 해제

# umount /data

 

재부팅해서도 자동 마운트 시키기

# vi /etc/fstab

172.27.137.92:/data /data nfs _netdev 1 2

 

-- by 이찬호