[Ubuntu] NFS 사용하기

운영체제로그/Linux 2011. 1. 10. 00:05

NFS(Network File System) 은 원격호스트에 있는 파일시스템을 로컬 하드인 것처럼 사용할 수 있는 
선마이크로 시스템즈사에 의해 개발된 파일시스템이다.  지금과 같이 파일공유가 되지 않았던 예전에 많이 사용되었던
방식이라고 한다.  NFS는 서버 / 클라이언트 모델로 동작하는데, 파일소스를 제공하는 측이 서버가 되고,  파일소스를 이용하는 
측이 클라이언트가 된다.
우분투/데비안에서,  NSF 클라이언트로 동작하기 위해서는 nfs-common, portmap 패키지가 필요하며,  
서버로 동작하기 위해서는  nfs-common, portmap, nfs-kernel-server,  패키지가 필요하다. 이름대로 nfs-common 패키지는
서버와 클라이언트 에서 공통으로 사용하는 모듈로,  showmount, nfsstat 등의 유틸리티가 포함되어 있다.  
 


이제 NFS 를 설치해보자. 
 

1. 패키지 설치 (서버, 클라이언트 패키지 모두 설치)
# apt-get install nfs-kernel-server nfs-common portmap




2. /etc/exports 파일에 공유폴더 설정하기 (서버측 설정)
/folderToShare1 192.168.1.10(rw,no_root_squash,async)
/folderToShare2 192.168.1.1/24(rw,no_root_squash,async)

exports 설정파일은 <공유폴더 공유호스트1(옵션) 공유호스트2(옵션) ...> 와 같은 형태를 따른다. 
한줄에 여러 호스트를 지정할 수 있으며, 2번줄처럼 서브넷마스크를 적어주어 ip범위(1~255)를 지정해
줄 수도 있다. 참고로 맥에서 공유폴더를 마운트하기 위해서는 반드시 insecure 옵션을 명시해 주어야 한다. 




3. export 파일을 편집했다면 nfs 데몬을 재실행하여 변경사항을 적용해 준다 (서버측 설정)
# sudo /etc/init.d/nfs-kernel-server restart




4. 클라이언트에서 원격호스트 폴더를 마운트하여 사용한다. (클라이언트측 설정)
# mkdir ~/mymount

# cd ~

# sudo mount servername:/folderToShare1 ~/mymount 
서버의 exports 파일에 명시된 호스트라면, mymount 디렉토리에  /folderToShare1 서브디렉토리들이 마운트되어
이후에는 로컬 디스크처럼 사용할 수 있다. 




5. 마운트를 해제하기 위해서는 아래와 같이 한다 
#umount ~/mymount