사용환경:
NFS server: ubuntu 12.04(ip: 192.168.100.18)
NFS Client: CentOS 5.4 (ip: 192.168.100.16)
1. NFS 서버 설정.
먼저, 필요한 패키지를 설치한다. 필요한 패키지는 nfs-kernel-server, nfs-common, portmap.
그리고, 클라이언크에서 마운트할 디렉토리를 생성 한 후, /etc/exports에 지정해 준다.
수정 후, exportfs -a 커맨드로 적용.
2. Client 설정.
client에서는 mount 192.168.100.18:/[설정된 nfs 디렉토리] /[마운트포인트] 해서 사용하면된다.
3. 예제.
3.1. Server(ubuntu, 192.168.100.18, /home/nfs_s 를 nfs에서 사용할 것임.)
# apt-get install nfs-kernel-server nfs-common portmap # mkdir -p /home/nfs_s # chown nobody:nogroup /home/nfs_s
/etc/exports 파일에 아래 내용 추가한다.
/home/nfs_s 192.168.100.16(rw,sync,no_subtree_check) # exportfs -a
3.2. Client 설정(CentOS 5.7, 192.168.100.16, /home/nfs_c 에 마운트)
# yum install nfs-utils nfs-utils-lib # mkdir -p /home/nfs_c # chown -R nobody:nobody nfs_c # mount 192.168.100.18:/home/nfs_s /home/nfs_c
이때 두번의 에러가 발생 하였다. 하나는 iptables 때문에, 하나는 portmap 때문에
# mount 192.168.100.16:/home/nfs_s /home/nfs_c mount: mount to NFS server '192.168.100.16' failed: System Error: Connection refused.
양쪽의 permission과 iptables 해제하여 해결.
# mount 192.168.100.18:/home/nfs_s /home/nfs_c mount.nfs: Input/output error
Client 측의 portmap 실행하여 해결. 이후 마운트 잘 되서 사용.
# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00 22G 11G 9.2G 55% / /dev/hda1 99M 27M 68M 28% /boot tmpfs 502M 0 502M 0% /dev/shm 192.168.100.18:/home/nfs_s 12G 1.3G 9.4G 13% /home/nfs_c
4. solaris(192.168.100.11)에서도 접근하기 위해서, /etc/exports화일에 한줄 더 추가.
/home/nfs_s 192.168.100.11(rw,sync,no_subtree_check)
솔라리스 서버에서도 같은 방법으로 마운트하면 잘 되는데, 아래와 같은 문제가 발생.
solaris:/export/home/nfs_c# ls abc.txt def.txt solaris.txt solaris:/export/home/nfs_c# ls -al ls: can't read ACL on .: Permission denied solaris:/export/home/nfs_c#
이 외에, /export/home 에서 ls 하면 마운트포인트인 nfs_c가 보이지 않는 문제도 같이 발생.
solaris:/export/home# ls
lost+found nfs_c snowfox
solaris:/export/home# ls -al
ls: can't read ACL on ./nfs_c: Permission denied
total 22
drwxrwxrwx 0 root root 4096 Jan 1 1970
drwxr-xr-x 5 root root 512 Sep 12 16:46 .
drwxr-xr-x 3 root sys 512 Jun 12 2011 ..
drwx------ 2 root root 8192 Jun 12 2011 lost+found
drwxr-xr-x 2 snowfox other 512 Jun 14 2011 snowfox
solaris:/export/home#
위의 문제는, NFS 버전때문인것 같다. 솔라리스10의 /etc/default/nfs 파일에서,
#NFS_CLIENT_VERSMAX=4
부분 아래 내용 추가한 후, 다시 마운트하면 ls -al 잘 된다.
NFS_CLIENT_VERSMAX=3