웹사이트 검색

CentOS 8에서 NFS 서버 및 클라이언트를 설정하는 방법


클라이언트/서버 파일 시스템으로도 알려져 있는 네트워크 파일 시스템(NFS)은 네트워크를 통해 로컬 파일 시스템을 내보내는 데 사용되는 인기 있는 크로스 플랫폼 분산 파일 시스템 프로토콜입니다. 클라이언트는 네트워크를 통해 다른 사람과 디렉토리 및 파일을 공유하고 마치 로컬에 마운트된 것처럼 상호 작용할 수 있습니다.

CentOS/RHEL 8에서 지원되는 NFS 버전은 NFSv3NFSv4이며 기본 NFS 버전은 액세스 제어 목록을 지원하는 4.2입니다( ACL), 서버 측 복사, 스파스 파일, 공간 예약, 레이블이 있는 NFS, 레이아웃 향상 등이 있습니다.

이 문서에서는 CentOS/RHEL 8 Linux 배포판에 NFS 서버NFS 클라이언트를 설치하고 구성하는 방법을 알아봅니다.

전제 조건:

  1. CentOS 8 설치 가이드
  2. RHEL 8 최소 설치
  3. RHEL 8에서 RHEL 구독 활성화
  4. CentOS/RHEL 8에서 고정 IP 주소 설정

우리의 테스트 환경:

NFS Server IP:	10.20.20.8
NFS Client IP:	10.20.20.9	

CentOS 8에서 NFS 서버 설정

1. 먼저 NFS 서버에 필수 패키지를 설치하는 것부터 시작합니다. 패키지는 커널 NFS 서버용 데몬과 showmount 프로그램이 포함된 관련 도구를 제공하는 nfs-utils입니다.

다음 명령을 실행하여 NFS 서버에 패키지를 설치합니다(루트가 아닌 사용자로 시스템을 관리하는 경우 sudo 사용).

dnf install nfs-utils

2. 설치가 완료되면 nfs-server 서비스를 시작하고 시스템 부팅 시 자동으로 시작되도록 활성화한 다음 systemctl 명령을 사용하여 상태를 확인합니다.

systemctl start nfs-server.service
systemctl enable nfs-server.service
systemctl status nfs-server.service

nfsd, nfs-idmapd, rpcbind, 와 같이 NFS 서버를 실행하거나 NFS 공유를 마운트하는 데 필요한 기타 서비스에 유의하세요. >rpc.mountd, lockd, rpc.statd, rpc.rquotadrpc.idmapd 자동으로 시작됩니다.

NFS 서버의 구성 파일은 다음과 같습니다.

  • /etc/nfs.conf – NFS 데몬 및 도구에 대한 기본 구성 파일입니다.
  • /etc/nfsmount.conf – NFS 마운트 구성 파일.

3. 다음으로 NFS 서버에서 내보내거나 공유할 파일 시스템을 만듭니다. 이 가이드에서는 4개의 파일 시스템을 생성할 것이며, 그 중 3개는 인사, 재무, 마케팅 등 3개 부서의 직원이 파일 공유를 위해 사용하고 하나는 루트 사용자 백업용으로 사용합니다.

mkdir -p  /mnt/nfs_shares/{Human_Resource,Finance,Marketing}
mkdir  -p /mnt/backups
ls -l /mnt/nfs_shares/

4. 그런 다음 NFS 서버 /etc/exports 구성 파일에서 위의 파일 시스템을 내보내 NFS 클라이언트에 액세스할 수 있는 로컬 물리적 파일 시스템을 결정합니다.

/mnt/nfs_shares/Human_Resource  	10.20.20.0/24(rw,sync)
/mnt/nfs_shares/Finance			10.20.10.0/24(rw,sync)
/mnt/nfs_shares/Marketing		10.20.30.0/24(rw,sync)
/mnt/backups				10.20.20.9/24(rw,sync,no_all_squash,root_squash)

다음은 몇 가지 내보내기 옵션입니다(자세한 내용과 내보내기 옵션은 man 내보내기 참조).

  • rw – 파일 시스템에 대한 읽기 및 쓰기 액세스를 모두 허용합니다.
  • 동기화 – 요청 시 쓰기 작업(디스크에 정보 쓰기)을 NFS 서버에 지시합니다(기본적으로 적용됨).
  • all_squash – 클라이언트 요청의 모든 UID 및 GID를 익명 사용자에게 매핑합니다.
  • no_all_squash – 클라이언트 요청의 모든 UID 및 GID를 NFS 서버의 동일한 UID 및 GID에 매핑하는 데 사용됩니다.
  • root_squash – 클라이언트의 루트 사용자 또는 UID/GID 0의 요청을 익명 UID/GID에 매핑합니다.

5. 위의 파일 시스템을 내보내려면 -a 플래그와 함께 exportfs 명령을 실행합니다. 이는 모든 디렉터리를 내보내거나 내보내지 않음을 의미합니다. - r/var/lib/nfs/etab/etc/exports/etc/exports.d 아래의 파일과 동기화하여 모든 디렉토리를 다시 내보내는 것을 의미합니다. -v는 자세한 출력을 활성화합니다.

exportfs -arv

6. 현재 내보내기 목록을 표시하려면 다음 명령을 실행하세요. 내보내기 테이블은 다음 스크린샷에 표시된 것처럼 명시적으로 정의되지 않은 일부 기본 내보내기 옵션도 적용합니다.

exportfs  -s

7. 다음으로, firewalld 서비스가 실행 중인 경우 필요한 NFS 서비스(mountd, nfs)에 대한 트래픽을 허용해야 합니다. , rpc-bind) 방화벽을 통해 다음과 같이 방화벽 규칙을 다시 로드하여 변경 사항을 적용합니다.

firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --reload

클라이언트 시스템에 NFS 클라이언트 설정

8. 이제 클라이언트 노드에서 클라이언트 시스템의 NFS 공유에 액세스하는 데 필요한 패키지를 설치합니다. 배포판에 적합한 명령을 실행하십시오.

dnf install nfs-utils nfs4-acl-tools         [On CentOS/RHEL]
sudo apt install nfs-common nfs4-acl-tools   [On Debian/Ubuntu]

9. 그런 다음 showmount 명령을 실행하여 NFS 서버에 대한 마운트 정보를 표시합니다. 이 명령은 스크린샷에 표시된 대로 클라이언트에서 내보낸 파일 시스템을 출력해야 합니다.

showmount -e 10.20.20.8

9. 다음으로 원격 NFS 파일 시스템을 마운트하기 위한 로컬 파일 시스템/디렉토리를 생성하고 이를 ntf 파일 시스템으로 마운트합니다.

mkdir -p /mnt/backups
mount -t nfs  10.20.20.8:/mnt/backups /mnt/backups

10. 그런 다음 mount 명령을 실행하고 nfs 마운트를 필터링하여 원격 파일 시스템이 마운트되었는지 확인합니다.

mount | grep nfs

11. 시스템 재부팅 후에도 지속적으로 마운트를 활성화하려면 다음 명령을 실행하여 /etc/fstab에 적절한 항목을 입력합니다.

echo "10.20.20.8:/mnt/backups     /mnt/backups  nfs     defaults 0 0">>/etc/fstab
cat /etc/fstab

12. 마지막으로 서버에 파일을 생성하여 NFS 설정이 제대로 작동하는지 테스트하고 해당 파일이 클라이언트에 표시되는지 확인합니다.

touch /mnt/backups/file_created_on_server.text     [On NFS Server]
ls -l /mnt/backups/file_created_on_server.text     [On NFS client]

그런 다음 반대를 수행하십시오.

touch /mnt/backups/file_created_on_client.text     [On NFS Client]
ls -l /mnt/backups/file_created_on_client.text     [On NFS Server]

13. 클라이언트측에서 원격 파일 시스템을 마운트 해제합니다.

umount /mnt/backups

다음 스크린샷과 같이 원격 파일 시스템 내에서 작업 중인 경우에는 원격 파일 시스템을 마운트 해제할 수 없습니다.

그게 다야! 이 가이드에서는 CentOS/RHEL 8에서 NFS 서버와 클라이언트를 설치하고 구성하는 방법을 보여주었습니다. 공유할 생각이나 질문이 있는 경우 의견 양식을 사용하세요. 아래에서 우리에게 연락하세요.