nfs

메론보이·2024년 6월 5일

리눅스

목록 보기
14/17
post-thumbnail

RHEL에서 NFS 설정 및 마운트 방법

이번 포스팅에서는 RHEL (Red Hat Enterprise Linux)에서 NFS (Network File System)를 설정하고, 이를 통해 파일을 공유하는 방법을 설명드리겠습니다. 먼저 NFS의 개념과 정의, 사용하는 이유와 시기, 작동 원리를 간략히 소개한 후 A 컴퓨터를 NFS 서버로 설정하고, B, C, D, E, F 컴퓨터를 NFS 클라이언트로 설정하는 과정을 단계별로 안내하겠습니다.

NFS란 무엇인가?

NFS (Network File System)는 네트워크를 통해 파일 시스템을 공유하는 데 사용되는 프로토콜입니다. 이를 통해 여러 컴퓨터가 네트워크 상에서 동일한 파일을 공유하고 사용할 수 있습니다.

NFS의 정의와 개념

  • 정의: NFS는 네트워크를 통해 파일을 공유하기 위한 분산 파일 시스템 프로토콜입니다.
  • 개념: 클라이언트가 네트워크를 통해 원격 서버의 파일 시스템에 접근할 수 있도록 합니다. 클라이언트는 마치 로컬 파일 시스템처럼 원격 파일 시스템을 사용할 수 있습니다.

NFS를 사용하는 이유

  • 중앙 집중식 데이터 관리: 여러 클라이언트가 동일한 파일을 액세스하고 수정할 수 있어 데이터 관리가 편리합니다.
  • 디스크 공간 절약: 여러 클라이언트가 동일한 데이터를 공유하므로 디스크 공간을 절약할 수 있습니다.
  • 데이터 일관성 유지: 모든 클라이언트가 동일한 데이터에 접근하므로 데이터 일관성이 유지됩니다.

NFS를 사용하는 시기

  • 다수의 사용자들이 동일한 데이터를 사용해야 할 때: 여러 클라이언트가 동시에 같은 데이터에 접근해야 하는 환경에서 유용합니다.
  • 백업 및 데이터 복제: 중앙 서버에서 데이터를 관리하여 백업 및 복제를 쉽게 할 수 있습니다.
  • 분산 시스템 환경: 여러 서버와 클라이언트가 상호작용하는 분산 시스템에서 파일을 공유할 때 사용됩니다.

NFS의 작동 원리

NFS는 클라이언트-서버 모델을 기반으로 작동합니다. 서버는 특정 디렉토리를 공유하고, 클라이언트는 이 디렉토리를 마운트하여 로컬 파일 시스템처럼 사용할 수 있습니다. NFS 서버는 공유할 디렉토리를 /etc/exports 파일에 정의하고, 클라이언트는 서버의 공유 디렉토리를 마운트하여 접근합니다.

1. NFS 서버 설정 (A 컴퓨터)

1.1. NFS 패키지 설치

NFS 서버를 설정하기 위해 필요한 패키지를 설치합니다.

sudo yum install nfs-utils -y

1.2. 공유 디렉토리 생성 및 권한 설정

NFS를 통해 공유할 디렉토리를 생성하고 권한을 설정합니다.

sudo mkdir -p /srv/nfs
sudo chown nfsnobody:nfsnobody /srv/nfs
sudo chmod 755 /srv/nfs

1.3. /etc/exports 파일 설정

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 주소를 가진 클라이언트들이 접근할 수 있습니다.

1.4. NFS 서버 시작 및 활성화

NFS 서버 데몬을 시작하고 부팅 시 자동으로 시작되도록 설정합니다.

sudo systemctl enable nfs-server
sudo systemctl start nfs-server

1.5. 방화벽 설정

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

2. NFS 클라이언트 설정 (B, C, D, E, F 컴퓨터)

2.1. NFS 패키지 설치

NFS 클라이언트를 설정하기 위해 필요한 패키지를 설치합니다.

sudo yum install nfs-utils -y

2.2. 마운트 포인트 생성

NFS 공유 디렉토리를 마운트할 로컬 디렉토리를 생성합니다.

sudo mkdir -p /mnt/nfs

2.3. NFS 공유 디렉토리 마운트

NFS 서버의 공유 디렉토리를 마운트합니다.

sudo mount -t nfs 192.168.1.100:/srv/nfs /mnt/nfs
  • 192.168.1.100은 NFS 서버의 IP 주소입니다.

2.4. 자동 마운트를 위한 /etc/fstab 설정

NFS 공유 디렉토리를 시스템 부팅 시 자동으로 마운트되도록 /etc/fstab 파일에 추가합니다.

sudo vi /etc/fstab

다음 라인을 추가합니다:

192.168.1.100:/srv/nfs  /mnt/nfs  nfs  defaults  0  0

3. NFS 서버와 클라이언트 테스트

3.1. 서버에서 테스트 파일 생성

서버에서 공유 디렉토리에 파일을 하나 생성합니다.

sudo touch /srv/nfs/testfile

3.2. 클라이언트에서 파일 확인

각 클라이언트(B, C, D, E, F)에서 마운트된 디렉토리로 이동하여 파일이 존재하는지 확인합니다.

ls /mnt/nfs

testfile 파일이 보여야 합니다.

요약

이 과정을 통해 RHEL 시스템에서 NFS 서버와 여러 클라이언트를 설정할 수 있습니다. NFS는 중앙 집중식 데이터 관리, 디스크 공간 절약, 데이터 일관성 유지 등의 이유로 사용됩니다. 필요에 따라 권한 설정이나 보안 설정을 추가적으로 구성할 수 있습니다. 설정 과정에서 문제가 발생하거나 추가적인 도움이 필요하시면 댓글로 알려주세요.

0개의 댓글