리눅스 NFS server/client 설정하기.

사용환경: 
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

답글 남기기

Your email address will not be published.