본문 바로가기

Linux/Ubuntu

우분투에서 nfs mount 하는 방법

$ sudo apt-get install nfs-kernel-server nfs-common portmap

설치가 되면, /etc/exports에 다음 내용을 추가한다.

/mnt/nfs xxx.xxx.xxx.xxx/xx(rw,no_root_squash,async)

물론... xxx.xxx.xxx.xxx/xx는 board에서 사용될 ip와 netmask이다 (255.255.255.0의 netmask일 경우 24)
$ sudo /etc/init.d/portmap restart
$ sudo /etc/init.d/nfs-kernel-server restart
$ sudo exportfs -a

nfs server 서비스 시작할때, 메세지가 나오는데, 무시해도 상관없다.

마무리 되었으면, 보드에서 ip와 netmask를 셋팅하고, 다음과 같이 하여 마운트 시킨다.
# mkdir nfs
# mount -t nfs xxx.xxx.xxx.xxx:/mnt/nfs ./nfs

물론 xxx.xxx.xxx.xxx는 host의 ip이다. /mnt/nfs는 host에서 nfs로 설정된 디렉토리.
이상 간단한 ubuntu에서의 nfs 설정기~

2007년 11월 22일 수정분:
MDS에 rebis2440용 2.6 커널이 떴다. 반가운 마음에 잘 썼는데 문제는 nfs 할 때 눈엣가시같은 메세지가 뜬다는 거다.  바로...

portmap: RPC call returned error 101
RPC: failed to contact portmap (errno -101).
portmap: RPC call returned error 101
RPC: failed to contact portmap (errno -101).
lockd_up: makesock failed, error=-101
portmap: RPC call returned error 101
RPC: failed to contact portmap (errno -101).

에러메세진데 왜 마운트가 되는거냐 -_-; 어쨌든 꼴보기 싫으니까 구글링.

It's not a BusyBox "error" but it probably is a BusyBox "quirk". There are several tricks to getting BusyBox to mount an NFS volume.

1) BusyBox mount defaults to NFS version 3. You need to make sure that your
NFS server supports v3, and that your host kernel is compiled to support v3.  
Or you can force version 2 by adding "-o vers=2" to the mount command.

2) You're getting RPC errors because you don't have a portmap daemon running
on your host. You can either run a portmap daemon, or bypass it with the "-o
nolock" option.

3) Someone has reported needing to force BusyBox mount to mount version 2.
This is a "-o mountvers=2".
검색결과, 마운트시 nolock 옵션을 줘야 하는 것으로 밝혀졌다.

mount -t nfs xxx.xxx.xxx.xxx:/mnt/nfs ./nfs -o nolock

에러메세지가 없다.


2007년 12월 24일 수정본:
아 쓰... 공유기에 붙여서 브로드캐스팅 어쩌고 작업하는데 문제가 좀 있었다. 그 와중에 nfs server의 service를 몇번 재시동 시킬때마다 나는 저놈의 워닝 메세지가 보기 싫어졌다. 그래서 수정.

/mnt/nfs xxx.xxx.xxx.xxx/xx(rw,subtree_check,no_root_squash,async)

그건 그렇고... 다이렉트로 물렸을땐 전혀 문제가 안되던 것이 공유기에 꼽아놓고 nfs를 마운트 시키니 큰 파일을 리딩할려면 not responding, still trying 어쩌고.. 하는 메세지가 뜨면서 에러다! 결국 찾아보고 찾아본 결과... nfs가 기본으로 udp를 쓰며 저럴 경우에는 tcp로 바꾸든가 packet 크기를 줄여야 한다네... 그래서 마운트 옵션을 또 변경.

mount -t nfs xxx.xxx.xxx.xxx:/mnt/nfs /mnt/nfs -o nolock,rsize=32768,wsize=32768,tcp

오케이.

'Linux > Ubuntu' 카테고리의 다른 글

USB to Serial 사용  (0) 2009.01.16
폰트 등록  (0) 2009.01.15
.bash_profile에서 path 수정하기  (0) 2008.11.24
우분투에서 CVS 서버 설치  (0) 2008.10.09
우분투에 SVN 설치하기  (1) 2008.10.09