1. 목표 

ㄱ. 이전 시간에 고정 IP 설정하는 법을 배웠습니다. 그 고정 IP를 임베디드 보드에 세팅하고 호스트와의 NFS(network file system)을 설정하는 법을 배워보도록 하겠습니다.


2. 준비

ㄱ. 타겟 임베디드 보드에 고정 IP 설정을 해줍니다. (타겟 IP는 192.168.0.5 라고 가정)

ㄴ. 호스트에 고정 IP(호스트의 IP는 192.168.0.6 이라고 가정)와 nfs-kernel-server 패키지를 인스톨 해줍니다.

sudo apt-get install nfs-kernel-server

위의 명령어를 입력하여 설치합니다.


3. 본문

ㄱ. 먼저 NFS에서 사용할 공유 디렉토리를 생성해 주어야 합니다.

mkdir ~/nfs_host

명령어를 통해 nfs_host라는 디렉토리를 홈 및 유저 폴더에 생성해 줍니다.


ㄴ. 위의 설정을 완료 하였다면 NFS 관련 설정 파일인 /etc/exports 파일을 편집 하여야 합니다.

sudo vi /etc/exports

명령어를 통해 파일을 엽니다.

다음과 같은 그림이 뜨는데 색 별로 글씨로 설명하면 

- 호스트(사용자가 쓰는 PC의 개발환경)의 NFS용 공유 디렉토리
- 타겟의 IP 주소
- NFS 공유 방식입니다. (공유 방식 / rw : 읽기 / 쓰기, sync : NFS가 쓰기 작업할 때 마다 디스크 동기화, no_root_squash : NFS 클라이언트가 서버의 루트 권한 접근 허용)

그림 1. /etc/exports 파일의 설정 모습

 위의 그림 1과 같이 규칙에 맞게 설정을 해줍시다.

위와 같은 설정을 한 후에 아래 명령어를 입력하여 nfs-kernel-server를 재구동 시켜줍니다.

sudo /etc/init.d/nfs-kernel-server restart


ㄷ. 이제 호스트 설정이 완료 되었으니 임베디드 타겟 보드에서 NFS를 마운트 해야합니다.

먼저 다음의 명령어로 공유 디렉토리를 마운트 할 디렉토리를 만들어 줍니다.

mkdir /root/nfs_target


그 다음 다음과 같은 명령어를 통해 마운트 하게 됩니다.

mount -t nfs 192.168.0.6:/home/dean/nfs_host \    엔터

> /root/nfs_target    엔터

성공하게 되면 호스트와 디렉토리가 동기화 됨을 볼 수 있습니다.


4. 결론

ㄱ. NFS를 구축하는 법을 배워보았습니다.

ㄴ. 가끔 공유가 안되는 경우가 있는데 그럴경우 ufw 와 같은 방화벽 설정을 해제하거나 허용 IP를 추가하는 것으로 해결 할 수 있습니다.


Posted by 시크한공돌이
,