본문 바로가기

IT

[NFS] 셋팅

NFS 서버 구축

 

NFS란 ?

NFS(Network File System) 네트워크 상에서 파일 시스템을 공유하도록 설계된 파일 시스템의 한 종류이다. 
다른 호스트에 있는 파일 시스템의 일부를 자신의 디렉토리인 것처럼 사용할 수 있도록 해주는 것이 NFS이다. 
NFS 설정은 파일 시스템을 share하는 서버의 설정과 서버의 파일

 

1. NFS 서버 세팅

 

NFS 설치
 

RPM 명령어 이용 패키지 설치 확인

rpm -qa | grep nfs 
nfs-utils-1.0.6-70.EL4

rpm -qa | grep portmap
portmap-4.0-63

 

대부분 기본적으로 설치 되어 있음 만약 없으면 yum으로 설치

 

yum install portmap nfs-utils* libgssapi

 

rpm 으로 설치시

 

다운로드

wget http://mirror.oss.or.kr/pub/centos/4.4/os/i386/CentOS/RPMS/nfs-utils-lib-1.0.6-3.i386.rpm 
wget http://mirror.oss.or.kr/pub/centos/4.4/os/i386/CentOS/RPMS/libgssapi-0.8-1.i386.rpm

 

라이브러리 설치 
rpm -Uvh *.rpm

 

NFS 서버 데몬 구동

 

ntsysv
NFS, portmap 자동 실행, iptables 방화벽을 체크 해제하고 nfs를 체크한다.

 

/etc/rc.d/init.d/portmap start
portmap (을)를 시작합니다: [  확인  ]

/etc/rc.d/init.d/nfs start
NFS 서비스를 시작하고 있습니다:  [  확인  ]
NFS 쿼터를 시작하고 있습니다: [  확인  ]
NFS 데몬을 시작함: [  확인  ]
NFS mountd를 시작하고 있습니다: [  확인  ]

 


NFS 서버의 공유목록을 관리하는 파일

vi /etc/exports

 

[공유디렉터리] [클라이언트 IP](옵션) 

예) /home/data 192.168.1.1(rw,sync)
-> 192.168.1.2 호스트의 접속 허용

 

예)/home/data 192.168.1.0/255.255.255.0(rw,sync)
-> 192.168.1.* 호스트의 접속 허용

 

저의경우 내테스트

 /home/data 210.107.xxx.241(rw,sync) 

설정 옵션
rw : 읽기, 쓰기 가능
ro : 읽기만 가능
secure : 클라이언트 마운트 요청시 포트를 1024 이하로 한다.
noaccess : 액세스 거부
root_squach : 클라이언트의 root가 서버의 root권한을 획득하는 것을 막는다
no_root_squash : 클라이언트의 root와 서버의 root를 동일하게 한다
sync : 파일 시스템이 변경되면 즉시 동기화한다.
all_squach : root를 제외하고 서버와 클라이언트의 사용자를 동일한 권한으로 설정한다.
no_all_squach : root를 제외하고 서버와 클라이언트의 사용자들을 하나의 권한을 가지도록 설정한다. 


cd /home/

 

공유 디렉토리를 만든다

mkdir data

 

권한설정

chomd 777 data

 

exportfs -v
/home/data      210.107.xxx.241(rw,wdelay,root_squash)

 

나오지 않는다면 nfs 를 재가동 해보시길 바랍니다.

/etc/rc.d/init.d/nfs restart

 

[exportfs 명령어 사용법]

exportfs 명령어는 nfs서버를 다시 시작하지 않고도 공유목록을 수정할 수 있다.

- a : /etc/exports파일을 읽어 들인다.

- r : /etc/exports파일을 다시 읽어 들인다.

- u IP:/디렉토리 : 입력한 디렉토리를 공유목록에서 제외한다.

- v : 현재의 공유 목록을 확인한다.

 

 

2. 클라이언트 서버

 

공유디렉토리 만들기

cd /home

mkdir /home/data

 

mount 명령어로 NFS 서버의 공유 디렉토리를 마운트 시킨다.

 

# mount -t nfs [서버 IP]:[서버 공유 디렉터리] [클라이언트 공유 디렉터리]

예) # mount -t nfs 210.107.xxx.247:/home/data /home/data

 

만약 마운트가 되지 않으면 방화벽 사용 중지 (서버쪽 클라이언트쪽모두)

/etc/init.d/iptables stop

 

nfs 재가동(서버측)

/etc/rc.d/init.d/nfs restart

  

 

 

마운트 확인

cat /etc/mtab | grep /home/data
210.107.xxx.247:/home/data /home/data nfs rw,addr=210.217.xxx.247 0 0

 

df -h

 Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2             6.8G  122M  6.3G   2% /
/dev/sda1              99M  8.5M   86M   9% /boot
none                  252M     0  252M   0% /dev/shm
/dev/sda8              54G   85M   52G   1% /home
/dev/sda7            1012M   34M  927M   4% /tmp
/dev/sda3             6.8G  919M  5.5G  15% /usr
/dev/sda5             3.9G   79M  3.6G   3% /var
192.168.1.1:/home/data
                       54G   85M   52G   1% /home/data1

Filesystem            Size  Used Avail Use% Mounted on 
/dev/sda2             6.8G  122M  6.3G   2% / 
/dev/sda1              99M  8.5M   86M   9% /boot 
none                  252M     0  252M   0% /dev/shm 
/dev/sda8              54G   85M   52G   1% /home 
/dev/sda7            1012M   34M  927M   4% /tmp 
/dev/sda3             6.8G  919M  5.5G  15% /usr 
/dev/sda5             3.9G   79M  3.6G   3% /var 
192.168.1.1:/home/data 
                       54G   85M   52G   1% /home/data 

 

부팅시 자동 마운트

vi /etc/fstab

210.107.xxx.247:/home/data  /home/data              nfs     defaults        1 2

 

마운트 해제시

umount /home/data

 

마운트가 안될때

마운트고 안될시 클라이언트 서버에도

NFS 설치 및 portmap 등 재가동 확인해보세요


출처 : http://egloos.zum.com/laydios/v/2909782

'IT' 카테고리의 다른 글

기본적인 JSONObject, JSONArray 사용법  (0) 2014.08.05
JSON이란?  (0) 2014.07.25