2.8. 선택적 NFSv4 지원으로 NFSv3 서버 구성
여전히 NFSv3 클라이언트를 사용하는 네트워크에서 NFSv3 프로토콜을 사용하여 공유를 제공하도록 서버를 구성합니다. 네트워크에 최신 클라이언트가 있는 경우에도 NFSv4를 활성화할 수 있습니다. 기본적으로 Red Hat Enterprise Linux NFS 클라이언트는 서버에서 제공하는 최신 NFS 버전을 사용합니다.
절차
nfs-utils패키지를 설치합니다.dnf install nfs-utils
# dnf install nfs-utilsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 기본적으로 NFSv3 및 NFSv4가 활성화됩니다. NFSv4 또는 특정 마이너 버전만 필요하지 않은 경우 모든
vers4.<minor_version> 매개변수의 주석을 제거하고 그에 따라 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 구성을 사용하면 서버에서 NFS 버전 3 및 4.2만 제공합니다.
중요특정 NFSv4 마이너 버전만 필요한 경우 마이너 버전의 매개변수만 설정합니다. 예기치 않은 활성화 또는 마이너 버전의 비활성화를 방지하기 위해
vers4매개변수의 주석을 제거하지 마십시오. 기본적으로vers4매개변수는 모든 NFSv4 마이너 버전을 활성화하거나 비활성화합니다. 그러나 다른vers매개 변수와 함께vers4를 설정하면 이 동작이 변경됩니다.기본적으로 NFSv3 RPC 서비스는 임의의 포트를 사용합니다. 방화벽 구성을 활성화하려면
/etc/nfs.conf파일에서 고정 포트 번호를 구성합니다.[lockd]섹션에서nlockmgrRPC 서비스의 고정 포트 번호를 설정합니다. 예를 들면 다음과 같습니다.[lockd] port=5555
[lockd] port=5555Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 설정을 사용하면 서비스는 UDP 및 TCP 프로토콜 모두에 이 포트 번호를 자동으로 사용합니다.
[statd]섹션에서rpc.statd서비스의 고정 포트 번호를 설정합니다. 예를 들면 다음과 같습니다.[statd] port=6666
[statd] port=6666Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 설정을 사용하면 서비스는 UDP 및 TCP 프로토콜 모두에 이 포트 번호를 자동으로 사용합니다.
선택 사항: 공유할 디렉터리를 생성합니다. 예를 들면 다음과 같습니다.
mkdir -p /nfs/projects/
# mkdir -p /nfs/projects/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 기존 디렉터리를 공유하려면 이 단계를 건너뜁니다.
/nfs/projects/디렉터리에 필요한 권한을 설정합니다.chmod 2770 /nfs/projects/ chgrp users /nfs/projects/
# chmod 2770 /nfs/projects/ # chgrp users /nfs/projects/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이러한 명령은
/nfs/projects/디렉터리에서users그룹에 대한 쓰기 권한을 설정하고 동일한 그룹이 이 디렉터리에 생성된 새 항목에 자동으로 설정되어 있는지 확인합니다.공유하려는 각 디렉터리의
/etc/exports파일에 내보내기 지점을 추가합니다./nfs/projects/ 192.0.2.0/24(rw) 2001:db8::/32(rw)
/nfs/projects/ 192.0.2.0/24(rw) 2001:db8::/32(rw)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 항목은
192.0.2.0/24및2001:db8::/32서브넷의 클라이언트에 대한 읽기 및 쓰기 액세스 권한으로 액세스할 수 있도록/nfs/projects/디렉터리를 공유합니다.firewalld에서 관련 포트를 엽니다.firewall-cmd --permanent --add-service={nfs,rpc-bind,mountd} firewall-cmd --permanent --add-port={5555/tcp,5555/udp,6666/tcp,6666/udp} firewall-cmd --reload# firewall-cmd --permanent --add-service={nfs,rpc-bind,mountd} # firewall-cmd --permanent --add-port={5555/tcp,5555/udp,6666/tcp,6666/udp} # firewall-cmd --reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow NFS 서버를 활성화하고 시작합니다.
systemctl enable --now rpc-statd nfs-server
# systemctl enable --now rpc-statd nfs-serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
서버에서 서버가 구성한 NFS 버전만 제공하는지 확인합니다.
cat /proc/fs/nfsd/versions +3 +4 -4.0 -4.1 +4.2
# cat /proc/fs/nfsd/versions +3 +4 -4.0 -4.1 +4.2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클라이언트에서 다음 단계를 수행합니다.
nfs-utils패키지를 설치합니다.dnf install nfs-utils
# dnf install nfs-utilsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 내보낸 NFS 공유를 마운트합니다.
mount -o vers=<version> server.example.com:/nfs/projects/ /mnt/
# mount -o vers=<version> server.example.com:/nfs/projects/ /mnt/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 공유가 지정된 NFS 버전으로 마운트되었는지 확인합니다.
mount | grep "/mnt" server.example.com:/nfs/projects/ on /mnt type nfs (rw,relatime,vers=3,...
# mount | grep "/mnt" server.example.com:/nfs/projects/ on /mnt type nfs (rw,relatime,vers=3,...Copy to Clipboard Copied! Toggle word wrap Toggle overflow users그룹의 멤버인 사용자로/mnt/:에 파일을 생성합니다.touch /mnt/file
# touch /mnt/fileCopy to Clipboard Copied! Toggle word wrap Toggle overflow 디렉터리를 나열하여 파일이 생성되었는지 확인합니다.
ls -l /mnt/ total 0 -rw-r--r--. 1 demo users 0 Jan 16 14:18 file
# ls -l /mnt/ total 0 -rw-r--r--. 1 demo users 0 Jan 16 14:18 fileCopy to Clipboard Copied! Toggle word wrap Toggle overflow