NFS(Network File System) 실습

Hiyalobi·2024년 4월 15일
0

linux_master

목록 보기
11/14

NFS란 네트워크 상에서 다른 컴퓨터의 파일시스템을 마운트하고 공유하여 사용할 수 있는 시스템입니다.
NIS와 동일하게 RPC 기반으로 동작하기에 해당 패키지를 다운로드하고 진행해야 합니다.

해당 포스터는 Rocky Linux 8로 리눅스 마스터 1급 정복하기를 참고하여 작성되었습니다.

NFS 서버와 클라이언트 공통 환경 구축

NIS와 동일하게 Virtual Box의 가상환경 2개로 서버와 클라이언트를 구축하여 실습을 진행하였습니다.

서버와 클라이언트 모두 공통적으로 환경을 구축해주어야 할 부분은 크게 3가지 부분입니다.

  1. 패키지 설치
  2. 방화벽 설정
  3. SELinux 해제

패키지 설치

NFS는 RPC 기반이기 때문에 rpcbind와 nfs-utls를 설치해야합니다.

sudo dnf install rpcbind
sudo dnf install nfs-utils

방화벽 설정

추가 해야 할 서비스는 rpcbind와 mountd이고, port는 NFS의 포트인 2049포트를 추가하여야 합니다.

firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --permanent --add-port=2049/tcp
firewall-cmd --permanent --add-port=2049/udp
firewall-cmd --reload

SELinux 해제

서버와 클라이언트 모두 SELinux를 해제해주어야 합니다.

setenforce 0

만약 그럼에도 SELinux가 disabled가 뜨지 않는다면 etc/selinux/config 파일에서 SELINUX=disabled로 작성하고 저장해줍니다.

NFS 서버 설정

우선 /etc/exports에 NFS 클라이언트에 대한 권한을 작성합니다.

sudo vi /etc/exports

/ndata	192.168.56.102(rw,no_root_squash)

이후 공유 디렉토리를 생성 및 권한을 설정해주고 확인합니다.

sudo mkdir /ndata
sudo chmod 1777 /ndata
ls –ld /ndata

디렉토리 설정이 마쳤다면, nfs-server와 rpcbind 데몬을 실행 시켜줍니다.

systemctl start nfs-server
systemctl start rpcbind

systemctl –l status nfs-server
systemctl –l status rpcbind

공유 내역을 확인해 줍니다.

sudo exportfs –v

다음과 같은 화면이 출력됩니다.

실행시킨 데몬의 프로세스를 확인하고 활성화 시켜줍니다.

ps aux |egrep ‘rpcbind|nfs’

systemctl enable rpcbind nfs-server

NFS 클라이언트 설정

NFS서버에 대한 정보를 확인해줍니다.

showmount –e 192.168.56.102

만일 해당 명령어 사용 시, 공유 디렉토리 명과 server-ip 주소가 출력되지 않는다면 작성한 설정파일을 확인하고 방화벽과 SELinux가 정상적으로 꺼져있는지를 확인해 주어야 합니다.

정상적으로 정보를 확인할 수 있다면, mount 명령으로 로컬 시스템의 하위 디렉토리로 마운트 해줍니다.

mount –t nfs 192.168.56.103:/ndata /mnt

이후 마운트 정보를 확인해 줍니다.

mount -t nfs4

정상적으로 진행되었다면 다음 화면이 나타나게 됩니다.

NFS 테스트

NFS를 테스트 해 보기 위해 클라이언트에서 /mnt에 파일을 생성하면 서버에서 해당 파일이 생성이 되었는지 확인해보았습니다.


클라이언트가 /mnt에서 nfs-test.txt 파일을 생성하였습니다.

이후 서버의 /ndata에서 nfs-test.txt가 존재하는 것을 확인하였습니다.

참고 사이트

[참고 사이트] - RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)

profile
유영하다

0개의 댓글

관련 채용 정보