리눅스

리눅스 : NFS서버의 파일 마운트하기

공부하고 기억하는 공간 2023. 1. 22. 14:53
728x90
반응형
SMALL

NFS(Network File System)

 

네트워크 상에서 다른 컴퓨터의 파일 시스템을 마운트해서 공유하는 것이다.

예시 상황 ) 

  1. A의 컴퓨터에 있는 NFS1폴더를 B가 쓰고 싶다.
  2. 하지만 B는 자신의 컴퓨터 용량이 작아 A의 NFS1폴더를 다운받을 수 없다.
  3. 이러한 경우 NFS를 통해 직접 다운로드 하지 않아도 A컴퓨터의 NFS1파일을 자신의 파일처럼 공유받아 사용할 수 있다.
  4. 또한 A의 컴퓨터에 B뿐만 아니라 C,D,E컴퓨터도 동시에 파일을 공유받을 수 있다.

 

모든 서비스를 시작하기전에!

NFS를 제외한 다른 서비스를 사용하더라도 항상 해야 하는 것이 있다.

  1. 설치 확인
  2. 미설치시 설치
  3. 방화벽체크(포트 설정)
  4. selinux :disabled 확인[연습을 위한 설정]
  5. 설정파일 수정
  6. 데몬 돌리기(서비스 시작 또는 재시작)

1. NFS 설치 확인

 

rpm -qa를 통해 설치여부를 확인한다. nfs-utils가 있으니 설치되어 있는 것을 확인

 

 

2. 방화벽체크(포트설정)

방화벽 진입 명령어

참고) 30000번대 포트는 /etc/sysconfig/nfs에서 주석을 풀거나 새로 적어주면 된다.

아직 파일 내용을 모른다면 아래 사진처럼 그대로 적은 후 포트를 개방시키자

3. selinux 가 disbaled되어 있는지 확인(파일 설정 후 재부팅)

 

3.1 설정 및 재부팅 후 sestatus를 통해 확인이 가능하다.

 

4.설정 파일 수정

여기서 설정 파일 수정과 동시에 해야할 것!

 

1) 마운트할 파일을 호스트서버와 클라이언트서버에서 생성

  • 호스트 서버 생성 : /nfs1(폴더)            /nfs1/1 /nfs1/2(공유확인용파일)
  • 클라이언트 서버 생성 : /test(폴더)

2) 파일의 권한 변경

  • chmod 705 /nfs1 (클라이언트가 해당 파일에 접근할 수 있도록 함)

3) 자신과 클라이언트의 ip확인

 

hostname -I를 통해 ip주소 확인

4) 설정 파일 수정

설정 파일의 위치는 /etc/exports이다.

해당 파일에서 아래 사진과 같이 설정을 하면 지정된 ip와 연동이 가능한 환경이 생성된다.

공유 옵션에 대한 설명은 맨 아래에 링크를 걸어두었다.

/etc/exports

4-1. 수정 확인 명령어 (exportfs -ra)

해당 명령어 입력시 자동으로 exports 파일의 내용을 다시 갱신한다.

아래와 같이 오류가 뜰 경우 해당 파일을 생성하고 다시 명령어를 입력해보자. 

아무 오류도 뜨지 않는다면 정상적으로 적용된것이다.

5. 포트개방 재 확인 및 서비스 재시작(rpcinfo -p)

방화벽 설정에서 개방한 포트가 정상적으로 작동해야 클라이언트 서버와 연결이 가능하다.

 

포트가 모드 개방되어 있음을 확인

포트가 모두 개방되어 있다면 서비스를 재시작하고 이제 클라이언트로 넘어가자!

정상적인 재시작


Client 설정

 

1. nfs서비스 설치 확인 (위의 1번과 동일)

 

2. showmount -e ip번호을 통해 마운트가 정상적으로 되는지 확인한다.

ex) showmount -e 192.168.89.11

192.168.89.11의 export항목이 정상적으로 보여지는것을 확인할 수 있다.

 

3. 클라이언트서버의 test파일을 호스트서버의 nfs1에 마운트한다.

mount -t nfs [IP]:host서버의공유할폴더    Client서버의마운트폴더

 

 

리눅스 nfs설정 파일에 대한 옵션(ro/rw,no_sqush_root등)에 대한 설명은 아래 링크에 적어두었다.

https://sunro1994.tistory.com/21

 

리눅스 : NFS 설정 파일 옵션

1. /etc/exports에서 쓸 수 있는 옵션들 ro/rw 파일 시스템을 읽기 전용으로 하거나 read-write 가능하도록 마운트 root_squash[on]/no_root_squash[off] 로컬 사용자와 원격 사용자를 모두 root로 취급한다. 따라서

sunro1994.tistory.com

 

728x90
반응형
SMALL