디바이스 드라이버
이번 시간에는 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
설치가 끝났으면 설정을
해줘야 하는데요.
설정을 하려면 먼저
공유할 nfs폴더를 만들어 줘야 됩니다.
$ mkdir ~/nfs
$ sudo chmod –R 777 ~/nfs
요렇게 폴더를 생성
하시고 폴더 엑세스에 문제가 생기지 않도록 chmod로 권한을 변경해 줍니다.
이제 nfs 접근 계정 설정을 해줍니다
$ sudo vi /etc/exports
[공유폴더 경로] [접속아이피][옵션]을
정의해 주어야 하는데요
예를 들면 /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:
클라이언트가
파일쓰기를 완료하면 동기화를 진행함
의 옵션을 가지고 있습니다. 나머지 디테일한 옵션 부분은 구글링 하세요…필자의 귀차니즘 -_-;;
요렇게 수정하면 되구요
참고로 아이피 주소에 별표를 넣어주시면 전체 옵션이 됩니다.
[*]
모든
아이피
[192.168.0.*]
192.168.0.0~255
설정이 다 끝났으면
portmap과 nfs를 재시작 시켜줍니다.
$ sudo service portmap restart
$ sudo service nfs-kernel-server restart
Nfs
설정이
다 끝났습니다. 일반 서버로 설치하신 거라면 이제 접속해 보면 되는데요
저처럼 VMwarer같은 가상 프로그램을 쓰시는 분은 VMwarer설정을 해주셔야
됩니다
아래 사진처럼Virtual Machine Settings 에 Network Adapter부분을 Bridged로 셋팅 해주셔야
타겟보드에서 마운트가
가능합니다.
ifconfig
명령으로
아이피 주소를 확인하신 다음
타겟보드에서 마운트를
해보면
$ mount –t nfs –o nolock 192.168.0.10:/nfs /mnt/nfs
아무 에러메세지없이
쉘이 뜨면 마운트가 성공 한거구요 요렇게 디렉토리를 이동해서 보면
nfs폴더가 보이게 됩니다.
다른 확인 방법으로는 df 명령으로 마운트된 내용을 확인해 보시면 됩니다.
$ df
참고로
마운트가 안되시고 nfs mount시 permission denied
발생하신다면
최상위
디렉토리에 /nfs 폴더를 생성하시고 한번 해보시기 바람니다.
좋은 내용 감사합니다.
요약하면, nfs를 사용하여, 타켓보드에 마운트할 rootfs를 ubuntu로부터 가져온다.