NFS 서버 구성하기 - Rocky Linux 9 완벽 가이드

안녕하세요! mj의 리눅스 시스템 관리 가이드에 오신 것을 환영합니다. 오늘은 NFS 서버 구성 방법에 대해 자세히 알아보겠습니다. Rocky Linux를 사용하시는 분들께 도움이 되길 바랍니다.

NFS 서버 구성하기

NFS(Network File System)는 네트워크를 통해 원격 서버의 파일 시스템을 마운트하여 로컬 파일처럼 사용할 수 있게 해주는 프로토콜입니다. 이 가이드에서는 Rocky Linux 9에서 NFS 서버를 구성하는 방법을 설명합니다.

1. 시스템 환경 확인

먼저 시스템 버전을 확인합니다:

$ cat /etc/redhat-release
Rocky Linux release 9.2 (Blue Onyx)

2. NFS 패키지 설치

필요한 패키지를 설치합니다:

$ sudo dnf install nfs-utils -y
Dependencies resolved.
=================================================================
 Package          Arch        Version            Repository   Size
=================================================================
Installing:
 nfs-utils        x86_64      2.5.4-2.el9       appstream   412k
Installing dependencies:
 gssproxy         x86_64      0.8.4-2.el9       appstream   112k
 keyutils         x86_64      1.6.1-2.el9       appstream    63k
...

3. NFS 서비스 활성화 및 시작

$ sudo systemctl enable nfs-server
Created symlink /etc/systemd/system/multi-user.target.wants/nfs-server.service → /usr/lib/systemd/system/nfs-server.service

$ sudo systemctl start nfs-server
$ sudo systemctl status nfs-server
● nfs-server.service - NFS server and services
     Loaded: loaded (/usr/lib/systemd/system/nfs-server.service)
     Active: active (running) since Thu 2025-02-14 23:45:12 KST;
     ...

4. 공유 디렉토리 설정

공유할 디렉토리를 생성하고 적절한 권한을 설정합니다:

$ sudo mkdir -p /nfs_share
$ sudo chmod 777 /nfs_share
$ sudo chown nobody:nobody /nfs_share

$ ls -l / | grep nfs_share
drwxrwxrwx.  2 nobody nobody    6 Feb 14 23:46 nfs_share

5. exports 파일 구성

NFS 공유 설정을 위한 exports 파일을 구성합니다:

$ sudo vi /etc/exports
/nfs_share *(rw,sync,no_root_squash)

$ sudo exportfs -r
$ sudo exportfs -v
/nfs_share
                (rw,sync,wdelay,hide,no_subtree_check,sec=sys,secure,no_root_squash,no_all_squash)

6. 방화벽 설정

NFS 관련 서비스를 방화벽에서 허용합니다:

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

$ sudo firewall-cmd --list-services
cockpit dhcpv6-client mountd nfs rpc-bind ssh

7. NFS 클라이언트 설정

클라이언트 시스템에서 다음 과정을 수행합니다:

# NFS 유틸리티 설치
$ sudo dnf install nfs-utils -y

# 공유 확인
$ showmount -e 서버IP
Export list for 서버IP:
/nfs_share *

# 마운트 포인트 생성
$ sudo mkdir /mnt/nfs
$ sudo mount -t nfs 서버IP:/nfs_share /mnt/nfs

# 마운트 확인
$ df -h | grep nfs
서버IP:/nfs_share   50G  8.4G   42G  17% /mnt/nfs

8. 영구 마운트 설정

재부팅 후에도 자동으로 마운트되도록 설정:

$ sudo vi /etc/fstab
# 다음 라인 추가
서버IP:/nfs_share /mnt/nfs nfs defaults 0 0

# 설정 테스트
$ sudo mount -a
$ mount | grep nfs
서버IP:/nfs_share on /mnt/nfs type nfs4 (rw,relatime,vers=4.2)

9. 문제 해결

자주 발생하는 문제와 해결 방법:

9.1 RPC 오류 발생 시

$ sudo rpcinfo -p
   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100005    1   udp  20048  mountd
    100005    1   tcp  20048  mountd
    100005    2   udp  20048  mountd
    ...

9.2 NFS 서버 상태 확인

$ sudo nfsstat -s
Server rpc stats:
calls      badcalls   badauth    badclnt    xdrcall
721         0          0          0          0
...

9.3 활성 마운트 확인

$ sudo showmount -a
All mount points on 서버IP:
192.168.1.100:/nfs_share

이상으로 NFS 서버 구성 가이드를 마치겠습니다. 추가 질문이나 문제가 있다면 댓글로 남겨주세요. 감사합니다!

댓글

이 블로그의 인기 게시물

006) 컴퓨터 주요 부품 설명: CPU, 메모리, 디스크의 모든 것

011) Rocky Linux 9.5 설치 방법: 단계별 가이드와 설정 팁

001) 리눅스란? 기본 개념부터 활용까지 완벽 가이드