미니옵빠의 code stubs

NFS 사용시 필요한 지식들... 본문

OS/Linux

NFS 사용시 필요한 지식들...

미니옵빠 2011. 8. 28. 19:29
출처 카페 > 차니의 컴퓨터 마을 | newchany
원문 http://cafe.naver.com/newchany/222

NFS(Network File System)

 

1. NFS 부팅시 자동실행 설정방법

# ntsysv 실행 후 nfs 체크해줌

 

 

2. NFS RPM 설치 여부 확인
# rpm -qi nfs
혹은
# rpm -qa | grep nfs

만약 NFS가 설치되어 있지않다면 먼저 설치 한다.

 

 

3. NFS 실행 여부 확인 수동 실행
[root@ns down]# rpcinfo -p
   프로그램 버전 원형   포트
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  32768  status
    100024    1   tcp  32769  status

위와 같이 정보가 나온다면 NFS 데몬은 실행이 되어 있지 않는 상태이다.
그렇기 때문에 NFS 데몬을 먼저 실행시켜야 한다.

NFS 데몬을 실행시키도록 하자.

[root@ns down]# /etc/rc.d/init.d/nfs start         =        service nfs start

[root@ns down]# rpcinfo -p
   프로그램 버전 원형   포트
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  32768  status
    100024    1   tcp  32769  status
    100011    1   udp    904  rquotad
    100011    2   udp    904  rquotad
    100011    1   tcp    907  rquotad
    100011    2   tcp    907  rquotad
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100021    1   udp  32770  nlockmgr
    100021    3   udp  32770  nlockmgr
    100021    4   udp  32770  nlockmgr
    100021    1   tcp  32800  nlockmgr
    100021    3   tcp  32800  nlockmgr
    100021    4   tcp  32800  nlockmgr
    100005    1   udp    937  mountd
    100005    1   tcp    940  mountd
    100005    2   udp    937  mountd
    100005    2   tcp    940  mountd
    100005    3   udp    937  mountd
    100005    3   tcp    940  mountd

이와 같이 정보가 출력 된다면 NFS가 정상적으로 실행되고 있는 상태이다.

 

수동으로 NFS 데몬실행 법

# /etc/init.d/portmap start

# /etc/init.d/nfslock start

# /etc/init.d/nfs start

 

  portmap -> nfs 순으로 실행한다. (순서에 영향을 받을수 있음)

 

 

4. 서버쪽(정보가 제공되는쪽) 설정, 이부분에서는 권한 설정및 위치를 설정한다.

(서버에서 클라이언트에게 허용할 디렉토리이름과 허용할 클라이언트 주소를 넣어주고 권한 설정)

형식

마운트될 디렉토리    클라이언트 주소   nfs옵션

 

옵션 설명

root_squash : 클라이언트에서 root를 서버상에 nobody 사용자로 매핑

no_root_squash : 클라이언트의 root는 서버의 root와 같은 권한을 가진다.

ro : 클라이언트는 공유 디렉토리에 대해 읽기만 가능하다.

rw : 클라이언트는 공유 디렉토리에 대래 읽기/쓰기가 가능하다.

No_subtree_check : 공유된 디렉토리내에 있는 서브디렉토리들을 공유에서 제외

insecure : 인증되지 않은 엑세스도 가능

link_relative : 서버에 있는 root와의 링크를 포함하는 디렉토리에서 얻은 "../"만큼 링크 앞에 두어 절대 심볼릭 링크를 상대 심볼릭 링크로 바꿀때 사용

 

설정 예제

# vi /etc/exports
/data/Util/ 220.93.211.206(rw,no_root_squash)

서버 /data/Util 디렉토리를 220.93.211.206주소를 가진 클라이언트에게 root권한과 읽기/쓰기 가능

 

 

5. nfs서버 작동 점검

# /etc/init.d/nfs status

# exportfs -v

현재 커널에서 알고 있는 익스포트 리스트를 출력한다.

# exportfs -ar

 /etc/exports 파일이 커널에 적용되도록 한다.

# nfsstat

 NFS 상태 정보를 출력한다.

 

 

6. 클라이언트에서 마운트 하기 

 

형식

mount  -t  파일형식  공유디렉토리  클라이언트의 마운트할 위치 

 

설정 예제

# mount -t nfs 220.93.211.1:/data/data/Util /home/down/FILES/

 

 

7. 자동으로 마운트 하기

 

/etc/fstab로 마운트 하기

이곳에 등록한후 mount -a 실행시 마운트 됨

 

형식

NFS서버주소:마운트될 디렉토리  클라이언트마운트 디렉토리  NFS옵션

 

옵션설명

time=10 : NFS 서버와 연결이 끊어진 경우 timeo에서 지정한 시간(1/10초 단위)

rsize=1024 wsize=1024 : 읽고/쓰기 버퍼의 크기를 설정한다.

soft : remote mount를 실행할 때 성공하지 못하면 timeo 까지만 재시도후 에러 메세지 발생 종료

hard : remote mount 가 성공할 때 까지 재시도함 (default 값)

bg : 첫번째 마운트 시도가 실패일 경우 백그라운드로 계속 마운트를 시도함

 

설정 예제

192.168.1.5:/mnt/hda  /mnt/nfs  nfs  timeo=15

 

rc.local 이용하여 부팅시 마운트 하기

rc.local에 마운트 형식을 적어주면 됨

 

 

8. 방화벽 멈추기

 

# service iptables stop