이번 포스팅에서는 RHEL (Red Hat Enterprise Linux)에서 NFS (Network File System)를 설정하고, 이를 통해 파일을 공유하는 방법을 설명드리겠습니다. 먼저 NFS의 개념과 정의, 사용하는 이유와 시기, 작동 원리를 간략히 소개한 후 A 컴퓨터를 NFS 서버로 설정하고, B, C, D, E, F 컴퓨터를 NFS 클라이언트로 설정하는 과정을 단계별로 안내하겠습니다.
NFS (Network File System)는 네트워크를 통해 파일 시스템을 공유하는 데 사용되는 프로토콜입니다. 이를 통해 여러 컴퓨터가 네트워크 상에서 동일한 파일을 공유하고 사용할 수 있습니다.
NFS는 클라이언트-서버 모델을 기반으로 작동합니다. 서버는 특정 디렉토리를 공유하고, 클라이언트는 이 디렉토리를 마운트하여 로컬 파일 시스템처럼 사용할 수 있습니다. NFS 서버는 공유할 디렉토리를 /etc/exports 파일에 정의하고, 클라이언트는 서버의 공유 디렉토리를 마운트하여 접근합니다.
NFS 서버를 설정하기 위해 필요한 패키지를 설치합니다.
sudo yum install nfs-utils -y
NFS를 통해 공유할 디렉토리를 생성하고 권한을 설정합니다.
sudo mkdir -p /srv/nfs
sudo chown nfsnobody:nfsnobody /srv/nfs
sudo chmod 755 /srv/nfs
NFS 서버에서 공유할 디렉토리를 정의하기 위해 /etc/exports 파일을 편집합니다.
sudo vi /etc/exports
다음 라인을 추가합니다:
/srv/nfs 192.168.1.0/24(rw,sync,no_root_squash)
/srv/nfs는 공유할 디렉토리 경로입니다.192.168.1.0/24는 허용할 클라이언트의 서브넷 범위입니다. 이 예제에서는 192.168.1.0부터 192.168.1.255까지의 IP 주소를 가진 클라이언트들이 접근할 수 있습니다.NFS 서버 데몬을 시작하고 부팅 시 자동으로 시작되도록 설정합니다.
sudo systemctl enable nfs-server
sudo systemctl start nfs-server
NFS가 사용할 포트를 방화벽에서 허용합니다.
sudo firewall-cmd --permanent --add-service=nfs
sudo firewall-cmd --permanent --add-service=mountd
sudo firewall-cmd --permanent --add-service=rpc-bind
sudo firewall-cmd --reload
NFS 클라이언트를 설정하기 위해 필요한 패키지를 설치합니다.
sudo yum install nfs-utils -y
NFS 공유 디렉토리를 마운트할 로컬 디렉토리를 생성합니다.
sudo mkdir -p /mnt/nfs
NFS 서버의 공유 디렉토리를 마운트합니다.
sudo mount -t nfs 192.168.1.100:/srv/nfs /mnt/nfs
192.168.1.100은 NFS 서버의 IP 주소입니다.NFS 공유 디렉토리를 시스템 부팅 시 자동으로 마운트되도록 /etc/fstab 파일에 추가합니다.
sudo vi /etc/fstab
다음 라인을 추가합니다:
192.168.1.100:/srv/nfs /mnt/nfs nfs defaults 0 0
서버에서 공유 디렉토리에 파일을 하나 생성합니다.
sudo touch /srv/nfs/testfile
각 클라이언트(B, C, D, E, F)에서 마운트된 디렉토리로 이동하여 파일이 존재하는지 확인합니다.
ls /mnt/nfs
testfile 파일이 보여야 합니다.
이 과정을 통해 RHEL 시스템에서 NFS 서버와 여러 클라이언트를 설정할 수 있습니다. NFS는 중앙 집중식 데이터 관리, 디스크 공간 절약, 데이터 일관성 유지 등의 이유로 사용됩니다. 필요에 따라 권한 설정이나 보안 설정을 추가적으로 구성할 수 있습니다. 설정 과정에서 문제가 발생하거나 추가적인 도움이 필요하시면 댓글로 알려주세요.