CentOS 8 실행
server side: /etc/exports:
/home/share *(ro)
/home 및 /home/share는 root.root가 소유하며 디렉터리에 대해 755 권한, 파일에 대해 644 권한을 갖습니다.
client side:
mount -t nfs4 server:/ /sharefolder
fs의 루트를 마운트하는 대신 /home/share를 /sharefolder에 직접 마운트하려면 어떻게 해야 합니까? "mount -t nfs4 server:/home/share /sharefolder"를 시도하면 "작업이 허용되지 않음" 오류가 발생합니다.
답변1
mount -t nfs4 server:/home/share /sharefolder
클라이언트측 명령이 올바른 것 같고 방금 테스트한 대로 설정이 제대로 작동합니다.
물론 루트로 명령을 입력하거나 sudo
함께 사용해야 합니다. "작업이 허용되지 않음" 오류 메시지는 실수로 루트가 아닌 사용자로 명령을 실행했거나 공유 이름을 잘못 입력했음을 나타냅니다.
을 내보내고 마운트하는 경우에도 server:/home/share
NFSv4 서버는 자동 생성을 수행해야 합니다.가상 수출및 ./
/home
그러나 이는 NFS 서버의 실제 /
또는 가 아니라 /home
실제로 내보낸 디렉터리에 도달하는 데 필요한 최소한의 하위 디렉터리만 포함하는 가상 읽기 전용 디렉터리입니다. 공유가 마운트되면 /proc/fs/nfsd/exports
NFS 서버에서 다음을 볼 수 있습니다.
cat /proc/fs/nfsd/exports
# Version 1.1
# Path Client(Flags) # IPs
/home *(ro,insecure,no_root_squash,sync,no_wdelay,no_subtree_check,v4root,uuid=e4c0fcd4:00b94db3:b63bd9a8:0e705e29,sec=390003:390004:390005:1)
/home/share *(ro,root_squash,sync,wdelay,no_subtree_check,uuid=e4c0fcd4:00b94db3:b63bd9a8:0e705e29,sec=1)
/ *(ro,insecure,no_root_squash,sync,no_wdelay,no_subtree_check,v4root,fsid=0,uuid=e4c0fcd4:00b94db3:b63bd9a8:0e705e29,sec=390003:390004:390005:1)
답변2
약간의 테스트 후에 문제를 재현할 수 있었고 방화벽 문제인 것으로 밝혀졌습니다. 방화벽이 비활성화되어 있는지 확인하고 nfs
나중에 공유가 작동하는지 확인하십시오.
다음을 사용한다고 가정합니다 firewalld
.
sudo systemctl stop firewalld
예상대로 작동한다고 판단되면 nfs
방화벽 구성을 변경해야 합니다.
nfs
다른 데몬 프로세스에 의존하므로 nfs
가 올바르게 작동하려면 뿐만 nfs
아니라 mountd
및rpc-bind
sudo firewall-cmd --permanent --add-service=rpc-bind
sudo firewall-cmd --permanent --add-service=mountd
sudo firewall-cmd --permanent --add-service=nfs
sudo firewall-cmd --reload
특정 영역에만 이러한 서비스를 허용하려면 다음을 추가하여 영역을 지정할 수도 있습니다.--zone=nfszone
이 솔루션을 철저하게 테스트하지 않았으므로 모든 기능(예: 파일 잠금)이 작동하려면 추가 포트를 열어야 할 수도 있습니다.https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/storage_administration_guide/s2-nfs-nfs-firewall-config