본문 바로가기
컴퓨터

[Linux] Ubuntu 에 NFS 시스템 구축하기

by Luyin 2013. 8. 24.

1. NFS Server

서버 환경 :  Ubuntu 12.04 LTS 32bit Desktop


가. 관련 패키지 설치

  sudo apt-get install nfs-kernel-server

  sudo apt-get install nfs-common

  sudo apt-get install portmap

나. portmap 재 설정

  sudo dpkg-reconfigure portmap

다. portmap 서비스 재 시작

  sudo /etc/init.d/portmap restart

라. 공유 자원 설정(/etc/exports 수정)

  sudo vi /etc/exports

  빨간 줄 쳐진 부분을 추가해 준다.

  설정 형식 : [마운트할 디렉토리] [허용할 NFS클라이언트](설정옵션들)

/etc/exports

  /etc/exports: the access control list for filesystems which may be exported
#               to NFS clients.  See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
#

/home/luyin/CSourceCode 211.189.127.240 (rw)

  설정 옵션

       (rw) : NFS클라이언트에서 read와 write가 가능하도록 합니다.
       (ro) : NFS클라이언트에서 read만 가능하도록 합니다.
       (noaccess) : NFS클라이언트에서 NFS마운트를 허용하지 않도록 합니다.
       (rw, root_squash) : NFS클라이언트가 root권한으로 NFS마운트를 하면
                                        nfsnobody
권한을 부여하게 됩니다.
       (rw, no_root_squash) : NFS클라이언트가 root권한으로 NFS마운트를 하면
                                             root권한을 부여하게 됩니다.
       (rw, no_all_squash) : NFS클라이언트가 NFS서버로 마운트를 할 경우에
                                           동일사용자가 존재한다면 root를 제외한 일반사용자는
                                           동일한사용자로 매핑이 됩니다.
       (rw, all_squash) : NFS클라이언트가 NFS서버로 마운트를 하면 일반사용자도
                                     nfsnobody 권한을 부여하게 됩니다.

  마. NFS 서버를 재 시작

   sudo /etc/init.d/nfs-kernel-server restart


1. NFS Client

클아이언트 환경 :  Debian GNU/Linux 7 (raberrypi/라즈베리파이)


가. 관련 패키지 실행

  sudo apt-get install portmap

  sudo apt-get install nfs-common

나.  마운트 될 디렉토리 생성

  sudo mkdir /home/nfs_picasso

다. 마운트 하기

  sudo mount -t nfs 211.189.127.206:/home/luyin/CSourceCode /home/nfs_picasso


mount -t nfs NFS서버IP주소또는호스트명:/NFS서버마운트포인트 /NFS클라리언트마운트포인트
-t nfs : 네트웍파일시스템

NFS서버IP주소또는호스트명 : NFS서버의 IP주소나 호스트명을 적어주시면 됩니다.

/NFS서버마운트포인트 : NFS서버에서 NFS클라이언트의 마운트가 허용되어 있는 위치를 지정하시면 됩니다.(NFS서버의 /etc/exports/에 설정되어 있어야 함)

/NFS클라이언트마운트포인트 : 마운트명령어를 사용하고 있는 NFS클라이언트의 마운트포인트를 적어주시면 됩니다.


다-1 언마운트 하기

  sudo umount -l /home/nfs_picasso

 umount -l [클라이언트 마운트 포인트]


다. 관련 서비스 재시작

  sudo /etc/init.d/portmap restart

  sudo /etc/init.d/nfs-common restart



3. NFS 공유 디렉토리 부팅 시 자동 마운트 하기

1. /etc/fstab 파일에 공유 디렉토리와 마운트 포인트 추가

211.189.127.206:/home/luyin/CSourceCode/         /home/nfs_picasso        nfs        defaults      0  0

 

/etc/fstab 파일에만 추가를 하고 서버를 부팅하면 자동으로 마운트가 되지 않으며, 이런 경우는 /etc/rc.local 파일 등에 "mount -a"  등으로 추가해서 사용하는 경우가 많다.

 

2. netfs 데몬 활성화

 

아래와 같이 netfs 데몬을 활성화 한 후에, 서버를 리부팅 하면, 자동으로 마운트가 된 것을 확인할 수 있다.

 

[root@localhost ~]# chkconfig --list | grep netfs
netfs           0:off   1:off   2:off   3:off   4:off   5:off   6:off
[root@localhost ~]# chkconfig --level 35 netfs on
[root@localhost ~]# chkconfig --list | grep netfs
netfs           0:off   1:off   2:off   3:on    4:off   5:on    6:off