본문 바로가기
Linux/Linux

NFS 서버 구성 on RHEL/CentOS

by LILO 2023. 8. 15.
반응형

INTRO

Linux를 사용하면서 하나의 저장소를 여러 서버가 사용할 수 있게 하려면 공유 파일 시스템을 사용해야 합니다.

여러 가지의 공유 파일 시스템이 있겠지만 많이 사용하는 공유 파일 시스템의 종류는 아래와 같습니다.

아래의 공유 파일 시스템은 네트워크를 통해 공유를 하고 접근을 하기 때문에 Gbps 급의 대역폭은 보장되어 있어야 합니다.

- NFS(Network File System): 사용자가 원격 컴퓨터에 있는 파일 및 디렉토리에 접근할 수 있고 사용자는 마치 로컬에 있는 것처럼 사용할 수 있음
- CFS(Clustered File System): 여러 개의 서버(클러스터 구성원)가 저장소를 공유하여 하나의 단일 논리 시스템으로 공유함
(EX. OCFS2, GFS2 등)
- CIFS(Common Internet File System): SMB 파일 공유 프로토콜의 확장된 버전으로 윈도우와 리눅스(유닉스) 환경을 동시에 지원함

 

 

NFS Server 구성

NFS 패키지를 설치합니다.

# dnf install nfs-utils

NFS 서버 데몬을 enable하고 시작합니다.

# systemctl enable --now nfs-server

공유할 디렉토리를 생성합니다.

# mkdir /data

NFS 공유를 위한 설정 /etc/exports에 작성합니다.

보안상 no_root_squash가 취약하다고 하지만 사용하는데 불편함이 있어 "no_root_squash" 설정을 많이 하는 편입니다.

# cat << EOF > /etc/exports
## <Shared Directory>	<Network CIDR>(Options)

## Data Directory for 192.168.56.0/24
/data	192.168.56.*(rw,no_root_squash)
EOF
- no_root_squash: NFS 서버와 클라이언트의 root 사용자를 일치시키게 하기 위해서 사용
- root_squash: 모든 클라이언트는 root 유저가 부여한 nfsnobody와 같은 익명의 유저로 접근하게 됨

/etc/exports에 기록된 설정을 읽어오고 설정하는 작업을 진행합니다.

# exportfs -ra

공유된 리소스를 확인합니다. (옵션도 확인 가능)

# exportfs -v
/data   192.168.56.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)

 

 

 

Client 서버에서 마운트 테스트

NFS 서버에 공유된 파일시스템이 보이는지 확인합니다.

이 작업에서 제대로 보이지 않는다면 방화벽에서 NFS 관련 Port가 Open되었는지 확인이 필요합니다.

# showmount -e 192.168.56.10
Export list for 192.168.56.10:
/data         192.168.56.0/24

 

NFS로 공유된 파일시스템을 마운트 할 서버에 접속하여 NFS 패키지를 설치합니다.

# dnf install nfs-utils

NFS 데몬을 시작합니다.

# systemctl start nfs-utils

NFS로 공유된 파일시스템을 마운트할 디렉토리를 생성합니다.

# mkdir /data

재부팅시 마운트가 될 수 있게 /etc/fstab에 작성합니다.

# vi /etc/fstab

..(생략)
192.168.56.10:/data     /data                   nfs4    defaults        0 0

마운트를 시도하고 공유된 파일 및 디렉토리를 확인합니다.

# mount /data


<파일 및 디렉토리 확인>
# ls -l /data/
total 0
drwxr-xr-x  2 root root   6 Aug  1 23:59 elasticsearch
drwxr-xr-x  3 root root  22 Aug 14 22:44 os_backup


<파일시스템 확인>
# df -Th /data
Filesystem          Type  Size  Used Avail Use% Mounted on
192.168.56.10:/data nfs4  1.9T  768G  1.1T  42% /data

 

 

NFS 구성에 대한 자세한 내용은 아래의 RedHat 문서를 참고바랍니다.

3번째 문서인 "NFS 서버 구성" 문서에는 exportfs 명령의 옵션과 /etc/exports에 많이 사용되는 기본 옵션이 설명되어 있습니다.

 

5.8. NFS 설치 Red Hat Enterprise Linux 8 | Red Hat Customer Portal

Access Red Hat’s knowledge, guidance, and support through your subscription.

access.redhat.com

 

5.9. NFS 서버 시작 Red Hat Enterprise Linux 8 | Red Hat Customer Portal

Access Red Hat’s knowledge, guidance, and support through your subscription.

access.redhat.com

 

4.6. NFS 서버 구성 Red Hat Enterprise Linux 8 | Red Hat Customer Portal

Access Red Hat’s knowledge, guidance, and support through your subscription.

access.redhat.com

 

반응형