내 LAN 서버에 암호화된 하드 드라이브가 있습니다. luks/dm-crypt를 사용하여 암호화됩니다. 서버는 NFS v4를 실행하여 LAN에서 파일을 공유합니다. 암호화된 USB 하드 드라이브를 제외하고는 작동합니다. 클라이언트가 파일 시스템에 공유를 마운트하면 해독된 파일이 포함되어야 하는 빈 폴더를 찾을 수 있습니다.
설정은 다음과 같습니다.
어떻게서버 설치이것루크스 디비전:
sudo cryptsetup luksOpen /dev/sdb1 data1
sudo mount /dev/mapper/data1 /exports/user1/data1
서버에서 드라이브의 암호를 해독하고 마운트하면 정상적으로 작동합니다. 내가 가면 /exports/user1/data1
해독된 파일을 얻을 것이다.
이것NFS 내보내기:
/exports 192.168.178.20(rw,sync,fsid=0,no_subtree_check,root_squash) 192.168.178.21(rw,sync,fsid=0,no_subtree_check,root_squash)
/exports/user1 192.168.178.20(rw,sync,no_subtree_check,root_squash) 192.168.178.21(rw,sync,no_subtree_check,root_squash)
따라서 해독된 USB 드라이브는 NFS 내보내기에 직접 마운트됩니다./exports/user1/data1
이것이 방법이다클라이언트 설치이것공유 된 폴더:
sudo mount.nfs4 192.168.178.10:/ /fs_data -o soft,intr,rsize=32768,wsize=32768
이제 클라이언트가 서버 마운트를 해당 파일 시스템으로 내보내면 "data1" 폴더가 비어 있음을 알게 됩니다.
내가 놓친 것이 있나요?
고쳐 쓰다:
감사합니다 자일스좋은 대답나는 성공했다. 나는 궁극적인 상황을 피하고 피하려고 crossmnt
노력 한다.nohide
인덱스 노드질문. 이것이 내가 지금 사용하고 있는 것입니다:
/etc/export
/exports/user1 192.168.178.20(rw,sync,fsid=0,crossmnt,no_subtree_check)
/exports/user1/data1 192.168.178.20(rw,sync,no_subtree_check)
클라이언트 명령 마운트데이터 1:
sudo mount.nfs4 192.168.178.10:/data1 /fs_data -o soft,intr,rsize=32768,wsize=32768
답변1
Linux 커널 NFS 서버의 경우 디렉토리 트리를 내보내면 트리에 마운트된 모든 파일 시스템이 포함되지 않습니다. nohide
옵션 설명 참조exports(5)
매뉴얼 페이지.
마운트된 파일 시스템을 명시적으로 내보내야 합니다. 즉, exports
for 에 별도의 줄이 필요합니다 /exports/user1/data1
. 또한 설치 후 NFS 서버를 (다시) 시작해야 합니다 /exports/user1/data1
.
클라이언트 측에서는 /fs_data/data1
별도로 마운트해야 합니다. 매뉴얼 페이지에서 설명한 대로 on 옵션 이나 on 옵션을 포함하면 이를 방지 exports
할 수 있지만 클라이언트가 동일한 파일 시스템으로 보이는 항목에서 동일한 inode 번호를 가진 파일을 볼 수 있기 때문에 문제가 발생할 수 있습니다. 예를 들어, 이로 인해 파일 복사 또는 보관 프로그램이 파일을 백업했다고 생각하기 때문에 파일을 무시할 수 있습니다(프로그램이 inode 42를 본 경우 inode 42와 관련 없는 파일이 동일한 파일 시스템에 있는 것으로 생각할 것입니다 .) 하지만 실제로는 아니요 - 동일한 파일입니다).nohide
/exports/users1/data1
crossmnt
/exports/users1
/fs_data/foo
/fs_data/data1/bar
답변2
포인트 부족에 대해서는 언급할 수 없으므로 /etc/exports에 추가 파일 시스템을 추가한 후 nfs 서버를 다시 시작할 필요가 없다는 점을 추가하겠습니다. 대신 커널 nfs를 사용하기 때문에 고통스러울 것입니다. 또 다른 내보내기fs -a는 새로 지정된 내보내기를 내보냅니다.