Study

NFS 서버

seomj 2023. 6. 8. 22:42

Network File System

네트워크 상에 연결된 다른 컴퓨터의 하드 디스크를 내 컴퓨터의 하드처럼 사용하는 것

네트워크에 연결된 리눅스끼리 NFS를 통해 파일 공유 가능

공유저장소로 동작

서버와 클라이언트는 IP로 연결되어야 함

AWS에서는 동일 기능은 EFS로 제공

 

서버가 네트워크상의 클라이언트에게 하나 이상의 디렉토리를 공유한다.

클라이언트는 공유된 디렉토리를 자체 시스템에 마운트하고 로컬인 것처럼 해당 디렉토리 내의 파일에 접근할 수 있다.

 

 

구축 과정

1. 서버/클라이언트에서 nfs-utils 설치

yum -y install nfs-utils

 

2. 방화벽, selinux 해제

systemctl stop firewalld
setenforce 0

본 실습에서는 편의를 위해 모두 종료하였으나 보안상 필요한 내용만을 지정하여 설정하여야 함

 

3. 서버에서 공유할 디렉토리를 생성하고 권한 지정

mkdir /cloud
chmod 777 /cloud/

 

4. 생성한 디렉토리를 nfs를 통해 공유하기 위해 등록

vi /etc/exports
cat /etc/exports
/cloud          211.183.3.0/24(rw,sync,no_root_squash)
systemctl restart nfs-server

rw: read write

sync: wirte 발생 시 디스크 동기화

(*nosync: 일정 간격으로 동기화)

no_root_squash: root 권한으로 공유 디렉토리 접근 가능

 

5. 클라이언트의 디렉토리에 원격지(서버)에 있는 디렉토리를 마운트

showmount -e 211.183.3.102
Export list for 211.183.3.102:
/cloud 211.183.3.0/24

mkdir /remote
mount -t nfs centos002:/cloud /remote

mount | grep remote
centos002:/cloud on /remote type nfs4 (rw,relatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=211.183.3.101,local_lock=none,addr=211.183.3.102)

 

이후 클라이언트에서 파일을 생성, 수정, 삭제를 하면 서버에서도 변경되는 것을 통해 확인할 수 있다.

 

df 명령어를 통해 마운트 된 것 확인할 수 있다. 

 

재부팅 후에도 마운트를 유지하기 위해서는 /etc/fstab에 설정을 추가해야 한다.

 

 

 

<참고>

https://it-serial.tistory.com/entry/Linux-NFS-%EC%84%9C%EB%B2%84-%EA%B0%9C%EB%85%90-%EA%B5%AC%EC%B6%95%EC%84%A4%EC%B9%98

https://meongj-devlog.tistory.com/96

https://onecoin-life.com/87

https://ansan-survivor.tistory.com/687

'Study' 카테고리의 다른 글

[DB]PostgreSQL 백업  (1) 2024.10.08
SSH 인증 과정(Authentication Process)  (0) 2023.05.29
2023 정보처리기사 필기 합격 후기  (0) 2023.03.17
Vagrant 사용  (0) 2023.02.06
DevOps & CI/CD  (0) 2023.01.05