이번 시간에는 nfs설치와 설정에 대해 알아보겠습니다.

 

먼저 nfs에 대해 잠깐 알아보면

 

NFS?

- Network File System은 파일 시스템의 공유와 서버 자원의 공유를 위해 1980 SUN마이크로 시스템즈에서 개발된 것으로 현재 여러 운영체제에서 지원되는 서비스로 서버의 리소스를 클라이언트 상에서 마치 자신의 리소스를 사용하는것 처럼 제공하는 서비스이다.

 

라고 합니다. 뭐 간단하게 표현하자면 네트웍 파일 공유 라고 할까요? 서버에 공유폴더를 만들어서 타겟보드에서 서버에 공유폴더를 마운트해서 자신에 저장공간처럼 활용 할 수 있단거죠...ㅎㅎㅎ

 

아무튼 딱 맞는 설명인지 아닌지는 모르겠지만 이런 용도를 위해 설치합니다.

 

먼저 nfs파일 설치를 합니다.

두개의 패키지를 설치 해야 되는데요 nfs-common nfs-kernel-server입니다.

 

$ sudo apt-get install nfs-common 

$ sudo apt-get install nfs-kernel-server

이미지 131.png

 

설치가 끝났으면 설정을 해줘야 하는데요.

설정을 하려면 먼저 공유할 nfs폴더를 만들어 줘야 됩니다.

 

$ mkdir ~/nfs

$ sudo chmod –R 777 ~/nfs

이미지 133.png

 

요렇게 폴더를 생성 하시고 폴더 엑세스에 문제가 생기지 않도록 chmod로 권한을 변경해 줍니다.

 

이제 nfs 접근 계정 설정을 해줍니다

$ sudo vi /etc/exports

이미지 134.png

 

[공유폴더 경로] [접속아이피][옵션]을 정의해 주어야 하는데요

예를 들면 /home/midbb/nfs 폴더를 192.168.0.30의 아이피가 접속하도록 설정하면

 

/ home/midbb/nfs 192.168.0.30(rw,no_root_squash)

 

요렇게 됩니다 뒤에 붙이는 괄호안에 옵션을 몇가지 간단히 살펴보면

 

rw: 읽기,쓰기 허용

ro: 읽기 전용

root_squash: 클라이언트의 root 권한 획득을 허용안함

no_root_squash: 클라이언트의 root 권한 획득을 허용함

sync: 클라이언트가 파일쓰기를 완료하면 동기화를 진행

 

의 옵션을 가지고 있습니다. 나머지 디테일한 옵션 부분은 구글링 하세요필자의 귀차니즘 -_-;;

이미지 135.png

 

요렇게 수정하면 되구요 참고로 아이피 주소에 별표를 넣어주시면 전체 옵션이 됩니다.

[*] 모든 아이피

[192.168.0.*] 192.168.0.0~255

 

설정이 다 끝났으면 portmap nfs를 재시작 시켜줍니다.

 

$ sudo service portmap restart

이미지 136.png

 

$ sudo service nfs-kernel-server restart

이미지 143.png

 

Nfs 설정이 다 끝났습니다. 일반 서버로 설치하신 거라면 이제 접속해 보면 되는데요

 

저처럼 VMwarer같은 가상 프로그램을 쓰시는 분은 VMwarer설정을 해주셔야 됩니다  

 

아래 사진처럼Virtual Machine Settings Network Adapter부분을 Bridged로 셋팅 해주셔야

타겟보드에서 마운트가 가능합니다.

 이미지 140.png

 

ifconfig 명령으로 아이피 주소를 확인하신 다음

이미지 141.png

 

타겟보드에서 마운트를 해보면

 

$ mount –t nfs –o nolock 192.168.0.10:/nfs /mnt/nfs

 이미지 145.png

 

아무 에러메세지없이 쉘이 뜨면 마운트가 성공 한거구요 요렇게 디렉토리를 이동해서 보면

nfs폴더가 보이게 됩니다.

 

다른 확인 방법으로는 df 명령으로 마운트된 내용을 확인해 보시면 됩니다.

$ df

이미지 146.png

  

참고로 마운트가 안되시고 nfs mount permission denied 발생하신다면

최상위 디렉토리에 /nfs 폴더를 생성하시고 한번 해보시기 바람니다.