2015년 4월 24일 금요일

Linux : NFS Server 구축

----------------------------------------------------------
NFS server 구축
    1) NFS server 설정
    2) NFS client 설정
----------------------------------------------------------

1) NFS server 설정

NFS는 Network File System의 약어로 썬마이크로 systems에서 개발한 network상에서 file system을 공유하도록 설계된 file system의 한 종류이다. 다른 host에 있는 file system의 일부를 자신의 directory인 것처럼 사용할 수 있도록 해주는 것이 NFS(Network File System)이다. 즉, network상에 disk를 한 server 에서 집중 관리하고 나머지 system들은 그것을 공유하여 사용할 수 있게 해주는 것이다. 하지만 보안상의 문제로 인해 NFS server의 사용을 점점 제한해 가는 추세이다. NFS 설정은 file system을 share 하는 server의 설정과 server의 file system을 mount 해가는 client 설정으로 나누어 볼 수 있다.
레드햇 기반의 linux 배포판을 사용하는 경우 NFS server가 이미 설치되어 있다.

NFS service 데몬 프로세스들
   1. rpc.mountd  : NFS client가 mount를 요청하면 이 데몬 프로세스가 /etc/exports 파일 설정에 따라 mount 요청을 처리한다.
   2. rpc.nfsd : rpc.mountd에 의해 mount된 directory에 대해 읽고, 쓰는 작업들을 처리해주는 데몬 프로세스이다.
   3. rpc.rquotad : NFS file system을 mount한 local 사용자에 대해 quota를 처리한다.
   4. rpc.lockd : file잠금을 통해 여러 사용자가 한 파일을 수정하는 것을 방지한다.
   5. rpc.statd : rpc.lockd와 함께 사용되며 파일 잠금의 해제와 복구를 담당한다.

/etc/exports 파일설정예제
share-directory client1(options,,,) clients(options,,,)
share-directory : 공유할 directory명
client1 : share directory에 접근할 수 있도록 허용된 호스트들
options : 접근 권한 설정
             ro : client는 share directory에 대해 읽기만 가능하다.
             rw : client는 share directory에 대해 읽기/쓰기가 가능하다.
             no_root_squash : client의 root는 server의 root와 같은 권한을 가진다.
             no_subtree_check : 공유된 directory내에 있는 서브 directory들을 공유에서 제외시키는 경우 설정.

[root@apple /]# cat /etc/exports
/home/user01    *.gcc.go.kr(ro)
/export/ftp/pub   192.168.1.1/255.255.255.0(ro)
/                       banana(rw),kiwi(rw,no_root_squash)

NFS server 데몬 구동
#/etc/init.d/portmap start
#/etc/init.d/nfs start

#exportfs -v
현재 kernel에서 알고 있는 export list를 출력한다.
#exportfs -ar
/etc/export 파일이 kernel에 적용되도록 한다.
#nfsstat
NFS 상태 정보를 출력한다.

2) NFS client 설정

server 에서 공유하도록 설정되어 있는 directory를 자신의 directory에 mount한다.
mount는 root가 직접 작업할 수도 있고 system booting 시 자동으로 mount하도록 설정할 수도 있다. NFS client 데몬은 nfsd이다.

#/etc/init.d/nfslock start

수동으로 server의 file system을 mount하는 명령
[root@apple /]# mount -t nfs NFS-서버:/export/ftp/pub /usr/local/pub

mount실행시 사용할 수 있는 option들
-o timeo=10 : NFS server와 연결이 끊어진 경우 timeo에서 지정한시간(1/10초단위) 기다렸다가 경고 message를 발생
-o rsize=1024 wsize=1024 : 읽고/쓰기 버퍼의 크기를 설정한다. (1024KB=1M)
-o soft : remote mount를 실행할 때 성공하지 못하면 timeo까지만 retry 후 error message를 발생하고 종료
-o hard : remote mount 가 성공할 때 까지 무한 재시도한다.(default값이다.)
-o bg : 첫번째 mount 시도가 실패인 경우 back ground로 계속 mount를 재시도 한다.

system booting 시 자동으로 server의 file system을 mount하도록 설정
[root@apple /]# cat /etc/fstab
NFS-서버:/export/ftp/pub /usr/local/pub nfs defaults

댓글 없음:

댓글 쓰기