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에 설정을 추가해야 한다.
<참고>
'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 |