리눅스 : NFS서버의 파일 마운트하기
NFS(Network File System)
네트워크 상에서 다른 컴퓨터의 파일 시스템을 마운트해서 공유하는 것이다.
예시 상황 )
- A의 컴퓨터에 있는 NFS1폴더를 B가 쓰고 싶다.
- 하지만 B는 자신의 컴퓨터 용량이 작아 A의 NFS1폴더를 다운받을 수 없다.
- 이러한 경우 NFS를 통해 직접 다운로드 하지 않아도 A컴퓨터의 NFS1파일을 자신의 파일처럼 공유받아 사용할 수 있다.
- 또한 A의 컴퓨터에 B뿐만 아니라 C,D,E컴퓨터도 동시에 파일을 공유받을 수 있다.
모든 서비스를 시작하기전에!
NFS를 제외한 다른 서비스를 사용하더라도 항상 해야 하는 것이 있다.
- 설치 확인
- 미설치시 설치
- 방화벽체크(포트 설정)
- selinux :disabled 확인[연습을 위한 설정]
- 설정파일 수정
- 데몬 돌리기(서비스 시작 또는 재시작)
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확인
4) 설정 파일 수정
설정 파일의 위치는 /etc/exports이다.
해당 파일에서 아래 사진과 같이 설정을 하면 지정된 ip와 연동이 가능한 환경이 생성된다.
공유 옵션에 대한 설명은 맨 아래에 링크를 걸어두었다.
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