gundal님의 글…
NFS Server/Client 요약
1. NFS Server 구성요소.
1) 설정파일 및 필요한 파일
– /etc/dfs/dfstab : NFS로 공유할 Directory 및 mount 될 option설정
(/etc/init.d/nfs.server 스크립트가 읽어서 이 내용대로 NFS 공유.)
-/etc/init.d/nfs.server : /etc/dfs/dfstab을 참조 /usr/lib/nfs/nfsd를 구동하는 start script
-/etc/dfs/sharetab : 현재 공유설정 해 놓은 file/directory 목록
– /etc/rmtab : 현재 원격으로 mount되어 있는 file/directory 및 client목록
-/etc/dfs/fstypes : mount할 파일시스템의 type을 명시해 놓은 파일(default: nfs)
-/etc/nfs/nfslog.conf : NFS log daemon 설정 파일
구성daemon 및 파일
-/usr/lib/nfs/nfsd : 실제 NFS 서버 데몬. Client의 mount요청을 주시하다가 요청이 발생하면 /etc/dfs/dfstab의 내용에 따라 파일시스템을 공유하도록 mount시켜줌.
– /usr/lib/nfs/mountd : NFS client의 공유(mount)요청에 대해 공유자원의 file handle을 넘겨주는 역할을 하는 데몬.( client에게 공유목록의 i-node 등을 전달.)
-/etc/default/nfslogd : NFS log 데몬.
* /usr/lib/nfs/statd : /etc/init.d/nfs.client script에 의해 구동되며
* /usr/lib/nfs/lockd : 서버와 클라이언트 양쪽모두 구동됨
2. NFS Client 구성요소.
1) 설정파일 및 필요한 파일
-/etc/vfstab : 원격으로 mount할 host:dir_path, mount point, fs type, option을 명시한다.
-/etc/init.d/nfs.client : /etc/vfstab을 참조하여 mountall (NFS resource mount)실행. 이 스크립트가 실행되면 /usr/lib/nfs/statd, /usr/lib/nfs/lockd 가 실행된다.
-/etc/mnttab : 현재 mount된 파일시스템정보를 담고있는 파일(local, remote)
-/etc/dfs/fstypes : mount할 파일시스템의 type을 명시해 놓은 파일(default: nfs)
-/usr/sbin/mount : local 혹은 remote 파일시스템을 mount(/etc/vfstab을 참조.)
2) 구성daemon 및 파일
-/etc/dfs/sharetab : 현재 공유설정 해 놓은 file/directory 목록
-/etc/rmtab : 현재 원격으로 mount되어 있는 file/directory 및 client목록
-/etc/dfs/fstypes : mount할 파일시스템의 type을 명시해 놓은 파일(default: nfs)
-/usr/lib/nfs/statd : 원격으로 mount할 파일시스템의 상태를 감지하는 daemon으로 원격NFS서버에 공유자원에 문제가 생기면 네트워크 연결을 재 시도함.
-/usr/lib/nfs/lockd : NFS서버가 client들에게 공유자원의 사용여부를 통보하는데 이 daemon은 서버가 주는 정보에 의거하여 원격공유자원에 읽기/쓰기를 관리한다.
3. NFS 사용 설명
1) Server side
/etc/dfs/dfstab 파일에 NFS 공유자원을 설정한다.
Ex) # vi /etc/dfs/dfstab
# share [-F fstype] [ -o options] [-d] [pathname] [resource]
# .e.g,
# share -F nfs -o rw=engineering -d “home dirs”‘ /export/home2
share -F nfs /work3/gundal
share -F nfs /work2
share -F nfs /work1
/work3/gundal, /work2, /work1 디렉토리를 원격에서 mount하도록 허용.
option을 지정할 수 있다. ( -o )
root=client : client로 지정된 시스템의 root user는 이 디렉토리에 대해 superuser권한을 갖는다.
rw=acces_list : read/write 옵션으로 access_list에 명시된 client들이 mount가능.
ro=access_list : read only 옵션으로 access_list에 명시된 client들이 mount가능.
access_list 구성 : client들을 구분자 ‘:’를 이용하여 명시한다.
Ex) share -F nfs -o rw=client1:client2:clinet3:… directory
IP주소로 client를 명시할 경우 ‘@’를 앞에 붙인다.
Ex) share -F nfs -o ro=@211.176.132.18:@211.176.132.20:…. directory
도메인으로 명시할 경우 앞에 ‘.’을 붙인다.
Ex) share -F nfs -o ro=.gfs.com:.boxcorea.com:…. Directory
/usr/sbin/share command로 확인해 본다.
# /usr/sbin/share -F nfs [ ?o option_list ] directory
에러 메시지가 없으면 설정에 문제가 없다.
공유가 되어 있는지 확인.
# /usr/sbin/share
– 공유되어 있는 항목을 보여준다.
공유를 제거한 후 /etc/init.d/nfs.server start 실행
# /usr/sbin/unshare directory
# /etc/init.d/nfs.server start
공유 및 서버데몬 확인
# ps ?e | grep nfs
/usr/lib/nfs/statd
/usr/lib/nfs/lockd
/usr/lib/nfs/mountd
/usr/lib/nfs/nfsd ?a 16
위 4개의 daemon이 실행 중이면 서버측 설정 및 작동은 정상임.
2) Client side
(1)서버의 공유자원을 확인.
# /usr/lib/nfs/dfshare [host-name]
-공유되어있는 directory 또는 자원들을 list한다.
(2)/usr/sbin/mount 명령으로 mount 해본다.
# /usr/sbin/mount ?F nfs [ -o option_list ] [host-name:/공유directory ]
– mount 되거나 mount를 기다리고 있으면 일단 정상적인 nfs공유 가능.
(3)booting시 자동으로 NFS mount하도록 하기 위해 /etc/vfstab을 수정
# vi /etc/vfstab
host-name:/directory – mount-point nfs – yes [bg,soft][fg,hard]
※ option 중 [bg|fg],[soft|hard],[intr|nointr]
booting시 첫번째 mount 실패시…
bg :background로 mount 계속 시도
fg : foreground로 mount 계속 시도.(default)
Soft : 에러 메시지를 출력하고 booting process 진행
Hard : timeo(timeout) 에 명시한 시간이 경과할 때까지 계속시도.(default)
intr : keyboard로 mount process를 중단 가능.(default)
nointr : keyboard로 mount process 중단 불가.
timeo=n : 1?10초 단위로 timeout 값을 지정.(default UDP:11, TCP:600)
retry=n : 재시도 횟수지정 (default:10,000)
(4) 수동으로 mount시 # /usr/sbin/mountall -r
-r : vfstab의 설정 중 remote resour만 mount
좋아요 |
공유하기 |
친구들이 무엇을 좋아하는지 알아보려면 가입하기
|