른록노트

[CentOS7.4] nfsclient 적용하기 본문

Server,OS/[Linux]

[CentOS7.4] nfsclient 적용하기

른록 2018. 7. 17. 14:56

@ 설명

nfs란 Network File System의 약자로 리눅스 시스템 간 파일의 공유를 목적으로 개발된 프로토콜입니다.


설치방법은 NFS 서버와, 클라이언트 서버로 나눠서 설명하겠습니다.


@ 설치 방법

# NFS 서버

1. 설치확인

rpm -qa | grep nfs-util


2. 공유 디렉터리 생성 및 허가권 설정

mkdir /nfsclient

chmod 707 /nfsclient


3. nfs 공유 디렉토리로 접근 가능한 서버 지정

vi /etc/exports

/nfsclient [클라이언트IP](rw,sync)

예)/nfsclient 192.168.0.1(rw.sync)

rw, sync는 옵션 (아래 옵션 설명 추가, + 사용 데몬 설명)


4. nfs에서 사용되는 포트 설정

vi /etc/sysconfig/nfs

LOCKD_TCPPORT=32803

LOCKD_UDPPORT=32769

MOUNTD_PORT=892

RQUOTAD_PORT=875

STATD_PORT=662

STATD_OUTGOING_PORT=2020


5. nfs에 사용되는 포트를 방화벽에 등록

TCP/UDP 111 - ROC 4.0 portmapper

TCP/UDP 2049 - NFSD (nfs server)

위의 포트도 사용되어 다 적용시켜줘야함


firewall-cmd --permanent --zone=public --add-port=111/tcp

firewall-cmd --permanent --zone=public --add-port=111/udp

firewall-cmd --permanent --zone=public --add-port=2049/tcp

firewall-cmd --permanent --zone=public --add-port=32803/tcp

firewall-cmd --permanent --zone=public --add-port=32769/udp

firewall-cmd --permanent --zone=public --add-port=892/tcp

firewall-cmd --permanent --zone=public --add-port=892/udp

firewall-cmd --permanent --zone=public --add-port=875/tcp

firewall-cmd --permanent --zone=public --add-port=875/udp

firewall-cmd --permanent --zone=public --add-port=662/tcp

firewall-cmd --permanent --zone=public --add-port=662/udp


firewall-cmd --reload


6. 부팅시 자동 시작 등록

chkconfig nfs on


7. nfs 재시작 후 확인

service rpcbind restart

service nfs restart


exports -v


# 클라이언트 서버

1. 설치확인

rpm -qa | grep nfs-util


2. 부팅시 자동 시작 등록 후 실행

chkconfig --level 35 nfs on

chkconfig --level 35 nfslock on

chkconfig --level 35 rpcbind on


service rpcbind start

service nfslock start

service nfs start


3. nfs 서버 구동 확인

showmount -e 서버IP


4. nfs서버를 마운트해서 사용할 디렉토리 생성

mkdir /nfsclient


5. 마운트

mount -t nfs4 서버IP:/nfsclient /nfsclient


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

vi /etc/fstab

서버IP:/nfsclient /nfsclient nfs hard 0 0


7. mount 확인

df


참고사이트

http://starkapin.tistory.com/509 - 가동 방법

http://leeahnlee.tistory.com/26 - 세세한 설명


옵션의미
ro서버의 공유 디렉토리를 읽기 전용(read only) 모드로 마운트 한다.
rw서버의 공유 디렉토리를 읽기 쓰기 가능(read Write)모드로 마운트 한다.
sync마운트 디렉토리에 쓰기와 같은 연산이 발생할 경우, 공유 디렉토리와 마운트 디렉토리를 즉시 동기화 한다. 즉, 공유 디렉토리와 마운트 디렉토리의 내용을 동기화하여 NFS사용 도중 서버가 다운되거나 재부팅 현상에 의한 데이터의 불일치성을 최소화 한다. 만약, 즉시 동기화를 수행 하지 않고자 할 경우 async 옵션을 사용한다.
no_subtree_check공유 디렉토리는 서브디렉토리를 가질 수 있다. 클라이언트가 특정 파일을 요청하면 서버는 subtree checking이라는 루틴을 실행해 서브디렉토리까지 탐색하여 클라이언트가 요청한 파일의 위치를 확인한다. 이 옵션을 사용하면 서브디렉토리를 조사하는 루틴을 실행하지 않는다. 만약, 서브 디렉토리까지 검색하고자 할 경우 subtree_check 옵션을 사용한다
no_root_squash사용자가 클라이언트 시스템의 root계정으로 접근했을 경우, 서버에서도 root 권한을 가지게 한다. 만약, 서버에서 nobody 권한으로 지정하고자 할 경우 root_squash 옵션을 지정한다.


데몬 역활

기본포트

rpc.portmapperrpc를 사용하는 프로그램을 지정된 포트에 맵핑시킨다. 즉, 클라이언트에 서버의 서비스 포트 번호를 전달하여 RPC 통신이 이루어지게 한다.111
rpc.mountdNFS 클라이언트가 마운트를 요청하면 /etc/exports 파일에서 설정된 내용에 따라 마운트요청을 처리한다.유동
rpc.nfsdrpc.mountd 데몬에 의해 마운트가 이루어지면 마운트된 공유 디렉토리에 읽고 쓰는 등의 작업을 수행하게 해준다2049
rpc.lockd파일 잠금을 통해 여러 사용자가 동시에 한 파일을 수정하는 것을 방지한다.유동
rpc.statdrpc.lockd와 함께 작동하면서 NFS서버가 비정상적으로 종료되었거나 리부팅 했을 경우 복구하는 역활을 한다.유동
rpc.rquotadNFS 파일 시스템을 마운트한 로컬 사용자에 대해 quota를 처리한다.유동

출처: http://leeahnlee.tistory.com/26 []


반응형
Comments