CentOS 7에서 NFS 서버 및 클라이언트 설치

CentOS 7에서 NFS 서버 및 클라이언트 설치

2022-10-18 last update

5 minutes reading linux centos storage
이 가이드는 CentOS 7에서 NFS 서버를 구성하는 방법을 설명합니다. NFS(Network File System)는 사용자가 서버에 원격 디렉토리를 마운트할 수 있게 해주는 널리 사용되는 분산 파일 시스템 프로토콜입니다. NFS를 사용하면 다른 위치의 저장 공간을 활용할 수 있으며 여러 서버 또는 클라이언트에서 동일한 공간에 손쉽게 쓸 수 있습니다. 따라서 사용자가 자주 액세스해야 하는 디렉토리에 대해 상당히 잘 작동합니다. 이 튜토리얼에서는 CentOS 7.6 서버에 NFS 공유를 마운트하는 과정을 간단하고 따라하기 쉬운 단계로 설명합니다.

1 서문


NFS 서버를 설치할 CentOS 7 서버를 새로 설치했습니다. 내 CentOS 서버의 호스트 이름은 server1.example.com이고 IP는 192.168.0.100입니다.
CentOS 서버가 아직 설치되지 않은 경우 기본 운영 체제 설치에 이 서버tutorial를 사용하세요. 서버에 추가로 CentOS 7 클라이언트 머신이 필요합니다. 이것은 서버 또는 데스크탑 시스템일 수 있습니다. 제 경우에는 호스트 이름이 client1.example.com이고 IP가 192.168.0.101인 CentOS 7 데스크톱을 클라이언트로 사용합니다. 이 튜토리얼의 모든 명령을 루트 사용자로 실행하겠습니다.

2 NFS 서버 측에서


첫 번째 단계로 yum을 사용하여 CentOS 서버에 다음 패키지를 설치합니다.
yum install nfs-utils
이제 NFS에서 공유할 디렉터리를 만듭니다.
mkdir /var/nfsshare
폴더의 권한을 다음과 같이 변경합니다.
chmod -R 755 /var/nfsshare
chown nfsnobody:nfsnobody /var/nfsshare
우리는/var/nfsshare를 공유 폴더로 사용합니다./home 디렉터리와 같은 다른 드라이브를 사용하는 경우 권한 변경으로 인해 엄청난 권한 문제가 발생하고 전체 계층 구조가 망가집니다. 따라서/home 디렉터리를 공유하려는 경우 권한을 변경하면 안 됩니다. 그런 다음 서비스를 시작하고 부팅 시 시작되도록 설정해야 합니다.
systemctl enable rpcbind
systemctl enable nfs-server
systemctl enable nfs-lock
systemctl enable nfs-idmap
systemctl start rpcbind
systemctl start nfs-server
systemctl start nfs-lock
systemctl start nfs-idmap
이제 다음과 같이 네트워크를 통해 NFS 디렉토리를 공유합니다.
nano /etc/exports
우리는 두 개의 공유 지점을 만들 것입니다. /home 및/var/nfsshare. 내보내기 파일을 다음과 같이 편집합니다.

/var/nfsshare 192.168.0.101(rw,sync,no_root_squash,no_all_squash) /home 192.168.0.101(rw,sync,no_root_squash,no_all_squash)
참고 192.168.0.101은 클라이언트 시스템의 IP입니다. 다른 클라이언트가 액세스하도록 하려면 IP를 추가해야 합니다. 그렇지 않으면 모든 IP 액세스에 대해 IP 대신 "*"를 추가할 수 있습니다.
조건은 양쪽 끝에서 핑할 수 있어야 한다는 것입니다.
마지막으로 NFS 서비스를 시작합니다.
systemctl restart nfs-server
다시 CentOS 7 firewall-cmd 공개 영역 서비스에 NFS 서비스 재정의를 다음과 같이 추가해야 합니다.
firewall-cmd --permanent --zone=public --add-service=nfs
firewall-cmd --permanent --zone=public --add-service=mountd
firewall-cmd --permanent --zone=public --add-service=rpc-bind
firewall-cmd --reload
참고: 완료되지 않으면 클라이언트 측에서 연결 시간 초과 오류가 발생합니다.
이제 NFS 서버 부분을 사용할 준비가 되었습니다.

3 NFS 클라이언트 측


제 경우에는 CentOS 7 데스크탑이 클라이언트로 있습니다. 다른 CentOS 버전도 같은 방식으로 작동합니다. 다음과 같이 nfs-utild 패키지를 설치합니다.
yum install nfs-utils
이제 NFS 디렉터리 마운트 지점을 만듭니다.
mkdir -p /mnt/nfs/home
mkdir -p /mnt/nfs/var/nfsshare
다음으로 아래와 같이 클라이언트 머신에 NFS 공유 홈 디렉터리를 마운트합니다.
mount -t nfs 192.168.0.100:/home /mnt/nfs/home/
NFS 서버의/home을 마운트합니다. 다음으로/var/nfsshare 디렉터리를 마운트합니다.
 mount -t nfs 192.168.0.100:/var/nfsshare /mnt/nfs/var/nfsshare/
이제 NFS 공유에 연결되었으며 다음과 같이 교차 확인합니다.
df -kh
[[email protected] ~]# df -kh
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/centos-root        39G  1.1G   38G   3% /
devtmpfs                      488M     0  488M   0% /dev
tmpfs                         494M     0  494M   0% /dev/shm
tmpfs                         494M  6.7M  487M   2% /run
tmpfs                         494M     0  494M   0% /sys/fs/cgroup
/dev/mapper/centos-home        19G   33M   19G   1% /home
/dev/sda1                     497M  126M  372M  26% /boot
192.168.0.100:/var/nfsshare   39G  980M   38G   3% /mnt/nfs/var/nfsshare
192.168.0.100:/home           19G   33M   19G   1% /mnt/nfs/home
[[email protected] ~]#
그래서 우리는 NFS 공유와 연결됩니다.
이제 공유 경로에서 읽기/쓰기 권한을 확인합니다. 클라이언트에서 다음 명령을 입력합니다.
touch /mnt/nfs/var/nfsshare/test_nfs
그래서 우리는 NFS 공유를 성공적으로 구성했습니다.

4 영구 NFS 마운팅


재부팅할 때마다 클라이언트에서 NFS 공유를 다시 마운트해야 합니다. 다음은 클라이언트 시스템의/etc/fstab 파일에 NFS 공유를 추가하여 영구적으로 마운트하는 단계입니다.
nano /etc/fstab
다음과 같이 항목을 추가합니다.
[...]
192.168.0.100:/home /mnt/nfs/home nfs defaults 0 0 192.168.0.100:/var/nfsshare /mnt/nfs/var/nfsshare nfs defaults 0 0
참고 192.168.0.100은 서버 NFS 공유 IP 주소이며 귀하의 경우에 따라 다릅니다.
이렇게 하면 NFS 공유가 영구적으로 마운트됩니다. 이제 시스템을 재부팅할 수 있으며 재부팅 후에도 마운트 지점이 영구적입니다.
건배, 이제 CentOS 7을 통해 NFS 서버를 성공적으로 구성했습니다. :)

5 링크


  • CentOS: http://www.centos.org/