OS/Solaris

2011.12.14 솔라리스3일차 2번째, NFS

에몽이ㅋ 2012. 1. 9. 22:07

NFS (Network File System) 이라 부르고 줄여서 네트워크공유라 부른다.


NFS 서버쪽에 필요한 daemon

  mountd Daemon

  NFS Server Daemon( nfsd )

  statd, lockd  <--------- 요 두개는 클라이언트쪽에서도 필요한데... 중요한 점은 신경쓰지 않아도 된다는 점이 중요한 점이다.

( 무조건 돔(돌고있다))

혹시나 종료되었을 때는 # /etc/init.d/nfs.client start(stop)으로 시작(종료)한다.


mountd Daemon  :  /usr/lib/nfs/mountd   ( 여러가지의 client요청을 관리하고 그 요청들에 맞게 각각 서비스를 제공(제어)하는 데몬)


NFS Server Daemon( nfsd )  :  /usr/lib/nfs/nfsd

# /etc/init.d/nfs.server script 으로 start하거나 stop한다.

여기서 start할 때, /etc/dfs/dfstab 파일을 체크해서 공유정보(share)가 있으면 동작하고 아무런 정보가 없다면 시작되지 않는다.


/etc/dfs/dfstab 파일의 작성요령을 살펴보면

share {-o options} pathname 으로 공유가 설정된다.(공유 후에는 반드시 nsfd재시작)

options : ro, ro=access-list : Read Only 

   rw, rw=access-list : Read and Write

* access-list : client:client    or    hostname     or   @network    or    .domain


실제 상황을 가정해서 사용해보자

Server 쪽

예를 들어 나의 /download폴더를 공유하고 싶다!(Read Write로)고 하면


# vi /etc/dfs/dfstab 

share   -o rw   /download


:wq!

한다음 /etc/init.d/dfs.server stop -> start하면 /download가 공유된다.


여기서 주의!!!!!!  클라이언트가  /download폴더를 쓸떄 nobody계정으로 연결해서 사용하기 때문에 

# chmod o+w /download 를 써줘야 클라이언트가 쓸 수(업로드,수정)가 있다.   

복사같은 경우에는 read권한만 있으면 되니까 상관없다.


기타 : 공유를 풀고 싶다면

# unshare pathname


하지만!! 이 공유 폴더를 쓰는 법을 알아야 쓰지 않겠는가?



Client 쪽

# dfshares hostname    (해당host가 어떤 폴더를 공유하고 있는지 list를 출력해준다)

어떤 폴더를 공유하고 있구나 알고 난 다음 해당 폴더를 내 폴더에 mount해줘야한다.

(예 : # dfshares 192.168.0.10    or   #dfshares server10(아마도 /etc/hosts에 해당 서버는 몇번 IP인지 적어줘야 할 것이다..)


# mount   server_name:/download   /server_download   (물론 server_download폴더는 미리 있어야 한다.)

이제 /server_download 안을 보면 server의 /download 안의 파일이나 디렉토리가 있을 것이다.


다 사용한다음에는 unmount 하자

# umount /server_download



-------------------------------------------------------

서버쪽에서 누가 접속했는지 보는법

# dfmounts