NFS (Network File System)

민콕이·4일 전
post-thumbnail

NFS 란

NFS는 네트워크를 통해 파일 시스템을 공유하도록 설계된 분산 파일 시스템 프로토콜입니다.

다른 서버(컴퓨터)의 특정 폴더(파일 시스템)를 마치 내 로컬 컴퓨터의 폴더처럼 네트워크를 통해 접근하고 사용할 수 있게 해주는 기술입니다.



구성 요소

NFS는 클라이언트-서버(Client-Server) 아키텍처로 작동합니다.

NFS 서버 (Server)

자신의 파일 시스템 중 일부(디렉토리)를 네트워크를 통해 다른 시스템에 공유(Export)하는 역할을 합니다.

공유할 디렉토리와 접근을 허용할 클라이언트의 목록 및 권한 등을 설정합니다 (주로 /etc/exports 파일 사용).

NFS 클라이언트 (Client)

네트워크를 통해 NFS 서버가 공유한 디렉토리를 자신의 로컬 디렉토리에 연결(Mount)하여 사용합니다.

일단 마운트되면, 클라이언트 시스템의 애플리케이션이나 사용자는 원격 파일에 접근할 때 로컬 파일에 접근하는 것과 동일하게 느낄 수 있습니다.




가상머신을 통해 NFS 환경 구성해보기


일단 2개의 PC와 1개의 Server가 될 PC 에 해당 nfs 패키지를 다운로드 합니다

dnf install -y nfs-utils



PC Server

먼저 공유 폴더가 될 폴더 부터 생성하고 html 파일 하나를 만들어줍니다.

mkdir /webShared
echo Hello World > /webShared/index.html


/etc/exports

편집기를 이용해 공유 폴더의 경로와 두개의 아이피를 작성합니다. (PC1, PC2의 아이피)



설정이 완료 되었다면 nfs 를 실행해 줍니다.

systemctl start nfs-server.service



PC1, PC2

먼저 웹을 사용하기 위해 httpd 패키지를 설치해 줍니다.

dnf install -y httpd


/etc/httpd/conf/httpd.conf

DocumentRoot 의 경로를 확인해주고 해당 폴더를 PC Server에서 작업한 공유 폴더로 연결하겠습니다.



서버 공유폴더와 마운트 작업을 진행합니다. (10.9.0.53은 PC Server의 아이피)

mount -t nfs 10.9.0.53:/webShare /var/www/html

# 서버의 공유 폴더 목록을 확인하려면
showmount -e <서버 아이피>



마운트가 잘 되어있는지 확인

df -h


위 설정이 완료 되었다면 httpd 실행해 줍니다.

systemctl start httpd



최종 결과

이제 서버에서 index.html 파일을 수정하게 된다면 두 개의 PC에서 웹 폴더가 공유 폴더로 설정되어있기 때문에 같이 변경되는 것을 볼 수 있습니다.




추가) 윈도우에서 위에서 만든 공유폴더 접근하기

제어판모든 제어판 항목프로그램 및 기능 들어가서 Windows 기능 켜기/끄기



NFS용 클라이언트 체크



공유 폴더의 /shared 폴더에 마운트 하기
(PC Server에서 /shared 라는 공유폴더를 만들고 exports 해야 합니다.)

mount 10.9.0.53:/shared *


내 PC 눌러서 보면 shared 라는 네트워크 위치가 생긴걸 확인해 볼 수 있습니다.



profile
정리 블로그

0개의 댓글