본문 바로가기
Linux Unix

[ Linux ] NFS 설정

by 정윤재 2012. 3. 4.

NFS 란 network file system 으로서 리눅스 장비 끼리 네트워크로 disk
공간을 공유 할 때 쓰인다. (윈도우, 리눅스 공유는 samba 를 찾아보세요)
사용 방법은 아래와 같이 기술 하였다.

서버 설정
1. 필요한 서비스 들을 실행한다.
/etc/init.d/portmap start
/etc/init.d/nfs start
/etc/init.d/nfslock start

2. 서비스들이 정상 작동 하는지 확인한다.
rpcinfo -p 을 치면 포트 번호와 사용중 목록이 나오는데
nfs 와 portmap 이 보이면 잘 실행 되고 있는 것임

3. 공유할 위치를 설정한다.
vi /etc/exports
/project/proxy/yunchae 211.63.6.74(rw)

4. nfs 를 재구동 한다.
/etc/init.d/nfs stop
/etc/init.d/nfs start


클라이언트 설정
1. 필요한 서비스를 실행한다.
/etc/init.d/portmap start
/etc/init.d/nfs start

2. mount 를 실행 한다.
mount -t nfs 211.63.6.75:/project/proxy/yunchae /project/proxy/yunchae

":" 바로 뒤에가 서버 쪽 위치고 맨 뒤가 클라이언트쪽 위치임

3. 마운트 삭제

umount /project/proxy/yunchae

4. 서버나 클라이언트에서 부팅 시 자동으로 구동 되도록 설정하기

4-1. 서버와 클라이언트
 서버와 클라이언트엔 모두 nfs service 가 자동으로 구동 되도록 해야 한다.

chkconfig --level 2356 nfs on
chkconfig --level 2356 portmap on
(portmap 은 rpcbind 로 바뀔 수도 있음)
- 2356 은 linux run level 임

4-2. 클라이언트
211.63.6.184:/home/smadeco_cms /home/shonm nfs defaults 1 2
위와 같이 /etc/fstab 에 마지막에 추가 해 주면 된다.
[서버 IP]:[mount될 서버 경로] [mount 할 클라이언트 경로] nfs defaults 1 2

위의 설정중 default 설정으로는 root 계정으로 밖에 접근 못한다.

 그래서 나는 rw,user,auto,exec,suid,bg 등으로 defaults 를 바꾸어 적용 했다.

192.168.20.4:/home/smadeco/apk_contents /home/smadeco/cms_developer_poc/apk_contents nfs rw,user,auto,exec,suid,bg 0 0

와 같이 적용 했다.

그런데 /etc/fstab 에 제대로 써줬음에도 되는 재부팅시 마운트 되는 서버가 있고

안되는 서버가 있었다.

아마도 네트워크가 portmap 보다 늦게 구동되는게 아닌가 싶은데...

(여기서 문제는 재부팅 후 mount 명령을 써서 mount 하면 정상 작동 한다는 것이다.) 

해결책은

/etc/rc.local 파일에

vi 로 /bin/mount -a 와 같이

mount -a 명령을 추가해 주면 된다.

p.s ) 가끔 리눅스 중에 portmap 이 설치 되지 않은 곳이 있다.

그리고 yum 으로 설치를 하려고 해도 (yum install portmap) 깔리지 않는다.

그렇다면 service rpcbind stop 이렇게 쳐보길 바란다.

(yum 이 잘 안될 경우 yun clean all 하고 해보시길....)

rpcbind 가 on 되면 portmap 과 같은 효과 라고 한다.

당연히 시작 하는 법은 service rpcbind start



댓글