임베디드/Linux BSP

NFS 파일 공유 시스템

O_oz 2024. 2. 6. 08:00
반응형

윈도우 - 리눅스간 파일 공유 시스템에 samba가 있다면

리눅스 - 리눅스간 파일 공유 시스템엔 NFS가 있다

 

리눅스에서 NFS 설정 (서버)

$ sudo apt-get install nfs-common nfs-kernel-server rpcbind
$ sudo mkdir /srv/nfs
$ sudo chmod 777 /srv/nfs
$ sudo vi /etc/exports
/srv/nfs    ***.***.***.***/**(rw,sync)

파일의 맨 마지막에 해당 코드를 작성한다

/srv/nfs는 공유할 디렉토리 경로

***.***.***.***/**은 네트워크와 호스트 주소로 클라이언트의 IP주소를 작성하면 된다

한명에게만 공유하고자 한다면 클라이언트 IP를 그대로 작성해주고, 여러명에게 공유하고자 한다면

네트워크주소.0/넷마스크 주소로 설정해주면 된다

괄호 안은 옵션인데 

  • rw: 읽기/쓰기 권한을 부여합니다.
  • ro: 읽기 전용 권한을 부여합니다.
  • sync: 변경 사항을 즉시 디스크에 동기화합니다.
  • no_subtree_check: 서브트리 검사를 비활성화하여 성능을 향상시킵니다.

네개 중 넣고 싶은 옵션을 나열하면 된다

 

$ sudo service nfs-kernel-server restart

실행 후, 위 코드를 입력하면

적용된 것을 확인할 수 있다

 

 

라즈베리파이에서 NFS 설정 (클라이언트)

$ sudo apt-get install nfs-common nfs-kernel-server rpcbind
$ sudo mkdir /mnt/ubuntu_nfs	// 폴더 생성
$ sudo mount -t nfs 서버IP주소:/srv/nfs /mnt/ubuntu_nfs		// 생성한 폴더를 공유 폴더로 마운트
$ df

마운트된 것을 확인할 수 있고 폴더에 들어가면 파일을 추가하거나 삭제, 수정하면 폴더가 공유된 것을 확인할 수 있다

 

$ sudo umount /mnt/ubuntu_nfs

마운트를 해제하려면 위와 같이 umount 해주면 된다

 

마운트 자동화

NFS를 설정해도 클라이언트는 재부팅할 때마다 mount를 반복해줘야 하는 귀찮음이 있다

 

그러면 부팅할 때 자동으로 마운트가 되게하면 되지 않을까? -> 실행 순서에 따라 부팅이 안될 가능성이 존재한다

그렇기 때문에 쉘 스크립트를 통해 부팅 시, 서버가 켜져있으면 마운트하고 켜져있지 않으면 마운트하지 않게 하려고 한다

 

// /mnt
vi nfs.sh
#!/bin/bash
#vi ~/.profile
#if [ -f /mnt/nfs.sh ] ; then
#    . /mnt/nfs.sh
#fi

SERVIP=서버IP
if ! df | grep lect_nfs > /dev/null ; then
	ping -c 1 $SERVIP > /dev/null
	if [ $? -eq 0 ] ; then
			sudo mount -t nfs $SERVIP:/srv/nfs /mnt/lect_nfs
			df | grep lect_nfs
	fi
fi

위와 같이 쉘스크립트를 생성한다

 

vi ~/.profile
if [ -f /mnt/nfs.sh ]; then
		. /mnt/nfs.sh
fi

이렇게 설정해주면 재부팅 할때마다 마운트가 된다

이런식으로 프린트가 되면 마운트가 된 것이당

 


2024.02.19 추가

 

접속할 때 비밀번호 입력하라고 뜨면

$ sudo vi /etc/sudoers.d/010_ubuntu-nopasswd

 

ubuntu ALL=(ALL) NOPASSWD: ALL

해당 내용을 추가하자 그러면 비밀번호 입력이 안뜬다

 

 

반응형

'임베디드 > Linux BSP' 카테고리의 다른 글

디바이스 파일  (0) 2024.03.06
디바이스 드라이버  (1) 2024.03.05
크로스 컴파일러  (0) 2024.02.05
Linux SMB (samba)  (1) 2024.02.04
리눅스와 라즈베리파이를 ssh으로 접속하기  (0) 2024.02.03