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