새 ZFS 데이터 세트(풀/데이터)로 NFS 공유를 설정하려고 하며 공유에 기존 네트워크 그룹(foogroup)을 사용하려고 합니다. NFS 서버 및 클라이언트에서 Ubuntu 20.04를 실행하는 경우 호스트 또는 IP 서브넷을 지정하면 제대로 작동하지만 넷그룹을 사용하려고 하면 자동으로 실패합니다. sharenfs 대신 /etc/exports를 사용하면 기본 넷그룹이 작동하고 있다는 것을 알 수 있습니다. showmount -e(넷그룹을 올바르게 표시함)와 sharenfs(넷그룹을 표시하지 않음)를 사용하여 /etc/exports를 모두 확인했습니다.
일하다:
cat /etc/exports
/export/ftp @foogroup(sync,rw)
# showmount -e
Export list for nfs_server:
/export/ftp @foogroup
sharenfs에는 적용되지 않습니다(/etc/exports 내용은 주석 처리됨):
# zfs set sharenfs="rw=@foogroup" pool/data
# showmount -e
Export list for nfs_server:
풀/데이터의 마운트 지점 속성이 /export/ftp로 설정되어 있음을 확인했습니다. 또한 IP 서브넷 또는 호스트 이름 구문을 사용하면 작동한다는 것도 확인했습니다.
# zfs set sharenfs="[email protected]/24" pool/data
호스트 이름도 작동합니다:
# zfs set sharenfs="rw=client" pool/data
# showmount -e
Export list for nfs_server:
/export/ftp client
내 sharenfs 구문에 문제가 있나요? 아니면 Linux의 sharenfs 구현에서 ZFS의 버그입니까? 감사해요!
업데이트: 우연히 openzfs 버그 보고서를 발견했습니다(https://github.com/openzfs/zfs/issues/2092)에서는 넷그룹 사용의 예를 제공하지만 구문은 다릅니다. 내보내기 매뉴얼 페이지에는 netgroups를 사용하라고 나와 있으며 구문은 "@group"이지만 오류 보고서에서는 "@@group" 구문을 사용합니다. 성공!