CentOS 6에서 NFS(Network File System)를 설치하고 설정하는 방법
1. NFS 패키지 설치
NFS 패키지를 설치합니다.
sudo yum install -y nfs-utils nfs-utils-lib
2. NFS Port 설정
sudo vim /etc/sysconfig/nfs
#
# Define which protocol versions mountd
# will advertise. The values are "no" or "yes"
# with yes being the default
#MOUNTD_NFS_V2="no"
#MOUNTD_NFS_V3="no"
#
#
# Path to remote quota server. See rquotad(8)
#RQUOTAD="/usr/sbin/rpc.rquotad"
# Port rquotad should listen on.
#RQUOTAD_PORT=875
# Optinal options passed to rquotad
#RPCRQUOTADOPTS=""
#
#
# Optional arguments passed to in-kernel lockd
#LOCKDARG=
# TCP port rpc.lockd should listen on.
#LOCKD_TCPPORT=32803
# UDP port rpc.lockd should listen on.
#LOCKD_UDPPORT=32769
#
#
# Optional arguments passed to rpc.nfsd. See rpc.nfsd(8)
# Turn off v2 and v3 protocol support
#RPCNFSDARGS="-N 2 -N 3"
# Turn off v4 protocol support
#RPCNFSDARGS="-N 4"
# Number of nfs server processes to be started.
# The default is 8.
#RPCNFSDCOUNT=8
# Stop the nfsd module from being pre-loaded
#NFSD_MODULE="noload"
# Set V4 grace period in seconds
#NFSD_V4_GRACE=90
#
#
#
# Optional arguments passed to rpc.mountd. See rpc.mountd(8)
#RPCMOUNTDOPTS=""
# Port rpc.mountd should listen on.
#MOUNTD_PORT=892
#
#
# Optional arguments passed to rpc.statd. See rpc.statd(8)
#STATDARG=""
# Port rpc.statd should listen on.
#STATD_PORT=662
# Outgoing port statd should used. The default is port
# is random
#STATD_OUTGOING_PORT=2020
# Specify callout program
#STATD_HA_CALLOUT="/usr/local/bin/foo"
#
#
# Optional arguments passed to rpc.idmapd. See rpc.idmapd(8)
#RPCIDMAPDARGS=""
#
# Set to turn on Secure NFS mounts.
#SECURE_NFS="yes"
# Optional arguments passed to rpc.gssd. See rpc.gssd(8)
#RPCGSSDARGS=""
# Optional arguments passed to rpc.svcgssd. See rpc.svcgssd(8)
#RPCSVCGSSDARGS=""
#
# To enable RDMA support on the server by setting this to
# the port the server should listen on
#RDMA_PORT=20049
3. NFS 서비스 시작 및 활성화
NFS 서비스를 시작하고 부팅 시 자동으로 시작하도록 설정합니다.
sudo service rpcbind start
sudo service nfs start
sudo chkconfig rpcbind on
sudo chkconfig nfs on
4. NFS 공유 디렉토리 생성
NFS로 공유하려는 디렉토리를 생성합니다. 예를 들어, /data/nfs 디렉토리를 생성합니다.
sudo mkdir -p /data/nfs
5. NFS 공유 설정
NFS 서버가 공유할 디렉토리를 설정합니다. /etc/exports 파일을 편집합니다.
sudo vim /etc/exports
/etc/exports 파일에 다음과 같이 추가하여 /data/nfs 디렉토리를 네트워크에서 읽기 전용으로 공유합니다.
##NFS
/data/nfs 192.168.0.0/255.255.255.0(rw,sync)
이 예에서는 클라이언트의 IP 대역 (192.168.1.0/24)에서 읽기 전용으로 /data/nfs 디렉토리를 액세스할 수 있습니다. 필요에 따라 설정을 조정할 수 있습니다.
- /home/public : directory to share with read-only access to all networks
- /home/common : directory to share with read/write access to all networks
- * : allow access from all networks
- ro : read-only access
- rw : read/write access
- sync : synchronous access
- root_squash : prevents root users connected remotely from having root privileges and assigns them the user ID for the user nfsnobody. This effectively "squashes" the power of the remote root user to the lowest local user, preventing unauthorized alteration of files on the remote server. Alternatively, the no_root_squash option turns off root squashing. To squash every remote user, including root, use the all_squash option. To specify the user and group IDs to use with remote users from a particular host, use the anonuid and anongid options, respectively. In this case, a special user account can be created for remote NFS users to share and specify (anonuid=,anongid=), where is the user ID number and is the group ID number.
6. NFS 서비스 재시작
NFS 설정 파일을 변경한 후 NFS 서비스를 재시작합니다.
sudo service nfs restart
7. NFS 서비스 동작 확인
rpcinfo -p
$ rpcinfo -p
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
100024 1 udp 59275 status
100024 1 tcp 36167 status
100011 1 udp 875 rquotad
100011 2 udp 875 rquotad
100011 1 tcp 875 rquotad
100011 2 tcp 875 rquotad
100005 1 udp 52417 mountd
100005 1 tcp 48711 mountd
100005 2 udp 53492 mountd
100005 2 tcp 56130 mountd
100005 3 udp 38971 mountd
100005 3 tcp 34722 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 42508 nlockmgr
100021 3 udp 42508 nlockmgr
100021 4 udp 42508 nlockmgr
100021 1 tcp 58946 nlockmgr
100021 3 tcp 58946 nlockmgr
100021 4 tcp 58946 nlockmgr
8. 방화벽 설정 (선택 사항)
만약 방화벽이 활성화되어 있다면, 필요한 포트를 방화벽 규칙으로 허용해야 합니다. NFS는 기본적으로 TCP 2049 포트를 사용합니다.
sudo iptables -A INPUT -p tcp --dport 2049 -j ACCEPT
방화벽 규칙을 추가한 후 방화벽을 다시 시작합니다.
sudo service iptables restart
9. NFS 클라이언트 설정 (다른 서버에서 액세스하려는 경우, 선택 사항)
다른 서버에서 NFS 공유에 액세스하려면 해당 서버에서 NFS 클라이언트를 설치하고 마운트하면 됩니다. NFS 클라이언트 설정은 NFS 서버와는 별도의 작업이며, 필요한 경우 해당 서버에 NFS 클라이언트를 설치하고 NFS 공유를 마운트할 수 있습니다.
NFS 서버를 CentOS 6에서 구성한 후, 다른 서버에서 NFS 공유 디렉토리에 액세스할 수 있게 됩니다. 설정을 완료한 후, showmount -e localhost 명령을 사용하여 로컬 NFS 서버에서 공유 디렉토리를 확인하고, 다른 서버에서도 NFS 마운트를 설정할 수 있습니다.
참고URL
- http://eduardo-lago.blogspot.kr/2012/02/installing-nfs-on-centos-62.html
'리눅스' 카테고리의 다른 글
CentOS 6에서 Heartbeat을 사용하여 고가용성(HA) 클러스터를 구성하는 방법 (0) | 2014.04.28 |
---|---|
ftps 설치 및 서버 구성(vsftpd : ftp+ssl) (0) | 2014.04.25 |
리눅스에서 LVM을 사용하여 파일 시스템을 생성하는 방법 (0) | 2014.04.14 |
[리눅스] 오픈SSL 취약점 확인(openssl) (0) | 2014.04.12 |
[리눅스] MySQL Replication 설정 (0) | 2014.04.12 |