미니옵빠의 code stubs
NFS 사용시 필요한 지식들... 본문
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