글수 137
NFS 설정 방법에 대해 소개합니다.
병렬 컴퓨팅을 위하여 굳이 NFS를 사용하지 않아도 되지만...
노드가 많을땐 NFS를 이용하여 공유를 하는게 더 나을것 같습니다.
NFS 설치를 위하여 먼저 필요한 프로그램들을 점검해보겠습니다.
portmap
nfs-utils
이렇게 필요합니다.
각각은 기본으로 리눅스를 깔았다면 설치되어있습니다.
1. NFS SERVER 설정
여기서 NFS SERVER 라 함은 공유를 하고싶은 디렉토리가 속해 있는 컴퓨터입니다. 이 컴퓨터의 파일시스템을 이용한다는 말이죠.
1-1. /etc/exports
이 파일이 실제적으로 공유할 디렉토리를 적어주게 됩니다.
예를 보죠...
[root@sscc httpd]# cat /etc/exports
/tmp 192.168.0.2(rw)
/home2/movie 192.168.0.3(rw)
/work 192.168.0.0/255.255.255.0(rw)
[root@sscc httpd]#
이 경우 /tmp 라는 디렉토리를 192.168.0.2 에게 read and write 의 권한으로 공유 한다는 뜻입니다.
그리고 /home2/movie 라는 디렉토리를 192.168.0.3 에게 read and write 권한입니다.
마지막으로 /work 의 디렉토리를 192.168.0 대역에 속한 모든 컴퓨터에게 rw 로 공유하게 됩니다.
rw 옵션 외에도 ro(읽기전용), no_root_squash(루트권한해제),no_subtree_check(디렉토리체크해제) 등이 있습니다.
1-2. 데몬의 준비
이제 설정은 다 끝났습니다 -.-
다음과 같이 서비스를 시작할수 있습니다.
[root@sscc /root]# /etc/rc.d/init.d/portmap start
Starting portmapper: [ OK ]
[root@sscc /root]# /etc/rc.d/init.d/nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS mountd: [ OK ]
Starting NFS daemon: [ OK ]
[root@sscc /root]# /etc/rc.d/init.d/nfslock start
Starting NFS file locking services:
Starting NFS statd: [ OK ]
[root@sscc /root]# rpcinfo -p
프로그램 버전 원형 포트
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100011 1 udp 633 rquotad
100011 2 udp 633 rquotad
100005 1 udp 4112 mountd
100005 1 tcp 1276 mountd
100005 2 udp 4112 mountd
100005 2 tcp 1276 mountd
100005 3 udp 4112 mountd
100005 3 tcp 1276 mountd
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100021 1 udp 4113 nlockmgr
100021 3 udp 4113 nlockmgr
100021 4 udp 4113 nlockmgr
100024 1 udp 4114 status
100024 1 tcp 1277 status
[root@sscc /root]#
각각의 프로그램 설명은 다음과 같습니다.
-rpc.lockd : 파일잠금을 제공하며 이것은 동시에 여러 사람들이 동일한 파일을 수정하는 것을 막는다
-rpc.statd : rpc.lockd 와 함께 작동하며 NFS 서버가 비정상적으로 종료되었거나 리부팅될 경우 복구를 시켜준다
-rpc.mounted : 외부의 요청에 의해 반응하는 NFS 마운트 프로토콜이다. 클라이언트들이 서버를 이용할수 있도록 디렉토리를 공유해준다. NFS는 접속해제 방식이며 이는 웹서버처럼 접속요청이 있을 경우에만 연결이 이루어진다.
-rpc.nfsd : 서버측에서 rpc.mounted 에 의해 마운트되면 클라이언트는 rpc.nfsd 로 서버에 요구를 보내게 된다. Fork() 함수가 들어오는 요청을 처리하게 된다.
-rpc.rquotad : 원격 쿼터 서버로서 NFS 서버의 파일 시스템을 마운트한 로컬 유저의 쿼터에 넘겨준다.
2. 클라이언트에서 이용하기
각 노드에서 NFS를 이용하기 위해선 먼저 확인하여야 할 사항이 있습니다. 데몬에서 nfs 를 지원하는지 알기 위해서 다음과 같이 합니다.
[root@sscc /root]# cat /proc/filesystems | grep nfs
[root@sscc /root]#
/proc/filesystem 에 nfs 라는 라인이 없을 경우 다음과 같이 추가합니다.
[root@sscc /root]# modprobe nfs
[root@sscc /root]# cat /proc/filesystems | grep nfs
nodev nfs
만약 에러가 날경우 커널 컴파일을 통해 NFS를 지원하는 옵션을 넣어서 재컴파일을 하여야 합니다.
이제는 간단히 mount 를 이용해 NFS를 마운트 합니다.
[root@eady /]# mount 192.168.0.1:/tmp /nfs
[root@eady /]# df -m
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/hda5 988 229 709 25% /
big:/tmp 2895 1786 962 65% /nfs
부팅시 NFS를 마운트 하려면 다음과 같이 추가합니다.
[root@sscc /root]# cat /etc/fstab
#device mountpoint fs-type options dump fsckorder
…
192.168.0.1:/tmp /nfs nfs rw 0 0
…
간단한 NFS 설치법을 설명하였습니다.
혹... 이해가 안되신다면.. 제게 질문을 :-)
연애편지는 안받습니다 -.-
홈피는 http://rainy.sarang.net
병렬 컴퓨팅을 위하여 굳이 NFS를 사용하지 않아도 되지만...
노드가 많을땐 NFS를 이용하여 공유를 하는게 더 나을것 같습니다.
NFS 설치를 위하여 먼저 필요한 프로그램들을 점검해보겠습니다.
portmap
nfs-utils
이렇게 필요합니다.
각각은 기본으로 리눅스를 깔았다면 설치되어있습니다.
1. NFS SERVER 설정
여기서 NFS SERVER 라 함은 공유를 하고싶은 디렉토리가 속해 있는 컴퓨터입니다. 이 컴퓨터의 파일시스템을 이용한다는 말이죠.
1-1. /etc/exports
이 파일이 실제적으로 공유할 디렉토리를 적어주게 됩니다.
예를 보죠...
[root@sscc httpd]# cat /etc/exports
/tmp 192.168.0.2(rw)
/home2/movie 192.168.0.3(rw)
/work 192.168.0.0/255.255.255.0(rw)
[root@sscc httpd]#
이 경우 /tmp 라는 디렉토리를 192.168.0.2 에게 read and write 의 권한으로 공유 한다는 뜻입니다.
그리고 /home2/movie 라는 디렉토리를 192.168.0.3 에게 read and write 권한입니다.
마지막으로 /work 의 디렉토리를 192.168.0 대역에 속한 모든 컴퓨터에게 rw 로 공유하게 됩니다.
rw 옵션 외에도 ro(읽기전용), no_root_squash(루트권한해제),no_subtree_check(디렉토리체크해제) 등이 있습니다.
1-2. 데몬의 준비
이제 설정은 다 끝났습니다 -.-
다음과 같이 서비스를 시작할수 있습니다.
[root@sscc /root]# /etc/rc.d/init.d/portmap start
Starting portmapper: [ OK ]
[root@sscc /root]# /etc/rc.d/init.d/nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS mountd: [ OK ]
Starting NFS daemon: [ OK ]
[root@sscc /root]# /etc/rc.d/init.d/nfslock start
Starting NFS file locking services:
Starting NFS statd: [ OK ]
[root@sscc /root]# rpcinfo -p
프로그램 버전 원형 포트
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100011 1 udp 633 rquotad
100011 2 udp 633 rquotad
100005 1 udp 4112 mountd
100005 1 tcp 1276 mountd
100005 2 udp 4112 mountd
100005 2 tcp 1276 mountd
100005 3 udp 4112 mountd
100005 3 tcp 1276 mountd
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100021 1 udp 4113 nlockmgr
100021 3 udp 4113 nlockmgr
100021 4 udp 4113 nlockmgr
100024 1 udp 4114 status
100024 1 tcp 1277 status
[root@sscc /root]#
각각의 프로그램 설명은 다음과 같습니다.
-rpc.lockd : 파일잠금을 제공하며 이것은 동시에 여러 사람들이 동일한 파일을 수정하는 것을 막는다
-rpc.statd : rpc.lockd 와 함께 작동하며 NFS 서버가 비정상적으로 종료되었거나 리부팅될 경우 복구를 시켜준다
-rpc.mounted : 외부의 요청에 의해 반응하는 NFS 마운트 프로토콜이다. 클라이언트들이 서버를 이용할수 있도록 디렉토리를 공유해준다. NFS는 접속해제 방식이며 이는 웹서버처럼 접속요청이 있을 경우에만 연결이 이루어진다.
-rpc.nfsd : 서버측에서 rpc.mounted 에 의해 마운트되면 클라이언트는 rpc.nfsd 로 서버에 요구를 보내게 된다. Fork() 함수가 들어오는 요청을 처리하게 된다.
-rpc.rquotad : 원격 쿼터 서버로서 NFS 서버의 파일 시스템을 마운트한 로컬 유저의 쿼터에 넘겨준다.
2. 클라이언트에서 이용하기
각 노드에서 NFS를 이용하기 위해선 먼저 확인하여야 할 사항이 있습니다. 데몬에서 nfs 를 지원하는지 알기 위해서 다음과 같이 합니다.
[root@sscc /root]# cat /proc/filesystems | grep nfs
[root@sscc /root]#
/proc/filesystem 에 nfs 라는 라인이 없을 경우 다음과 같이 추가합니다.
[root@sscc /root]# modprobe nfs
[root@sscc /root]# cat /proc/filesystems | grep nfs
nodev nfs
만약 에러가 날경우 커널 컴파일을 통해 NFS를 지원하는 옵션을 넣어서 재컴파일을 하여야 합니다.
이제는 간단히 mount 를 이용해 NFS를 마운트 합니다.
[root@eady /]# mount 192.168.0.1:/tmp /nfs
[root@eady /]# df -m
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/hda5 988 229 709 25% /
big:/tmp 2895 1786 962 65% /nfs
부팅시 NFS를 마운트 하려면 다음과 같이 추가합니다.
[root@sscc /root]# cat /etc/fstab
#device mountpoint fs-type options dump fsckorder
…
192.168.0.1:/tmp /nfs nfs rw 0 0
…
간단한 NFS 설치법을 설명하였습니다.
혹... 이해가 안되신다면.. 제게 질문을 :-)
연애편지는 안받습니다 -.-
홈피는 http://rainy.sarang.net




텅날개
최근등록 댓글