다른 fstab 마운트 드라이브가 포함된 NFS와 폴더를 공유하는데 클라이언트 nfs는 가장 깊은 마운트만 통과할 수 없습니다.
즉: /홈/사용자/사진다음을 포함하는 일반 디렉토리입니다./카메라1
/home/user/pictures/camera1은 GPT 형식의 3TiB 드라이브이며 일반적으로 서버의 /etc/fstab에 ext4로 설치됩니다.
현재는 Samba와 공유되지만 공존하고 서버와 클라이언트 모두에서 잘 작동하는 것으로 보이며 충돌이 발생할 수 있습니다.
그러나 NFS를 사용하여 마운트한 후 /camera1을 볼 때 특이한 문제가 발생했습니다. 전혀 마운트되지 않은 것처럼 보였습니다. 대신 서버의 사전 설치가 표시됩니다.빈 디렉토리NFS 연결된 클라이언트에서 볼 때.
내가 찾았어 -아르 자형mount(앞의 "r" 참고) - 모든 예에서 제안된 --mount와 달리 - 서버 NFS 내보내기 디렉터리(/mnt/nfs/...)가 /camera1까지 올바르게 이동하도록 합니다. 그러나 클라이언트는 여전히 /camera1을 마운트하지 않습니다. /~pictures는 문제 없이 마운트되지만 /camera1은 빈 폴더로 처리됩니다. 이는 /camera1이 서버에서 마운트 해제된 것과 같습니다.
데모 목적으로 설치하기 전에 서버 디렉토리 ~/pictures/camera1/에 UNMOUNTED.txt가 있습니다. 따라서 드라이브를 마운트하면 UNMOUNTED.txt가 서버의 Camera1 드라이브에 대한 올바른 디렉터리 목록으로 대체됩니다. 예상대로.
**하지만* 클라이언트에는 여전히.../camera1/UNMOUNTED.txt가 표시됩니다.
노트:
/ - 드라이브다
/집- 두 번째 드라이브입니다
/홈/사용자/사진- /home 드라이브의 폴더입니다.
/홈/사용자/사진/카메라1- 세 번째 드라이브입니다.
서버의 일반 ext4 fstab 마운트에서는 모든 것이 예상대로 작동하지만 NFS를 통해 원격으로 볼 때 "camera1" 마운트에만 문제가 있습니다.
실수할 경우를 대비해 설정을 실행하겠습니다.
섬기는 사람(쿠반투 14.10)
개인이나 단체가 존재하지 않으므로...
# mkdir -p /mnt/nfs/pictures
# chown -R nobody:nogroup /mnt/nfs
# chmod 777 /mnt
# chmod 777 /mnt/nfs
# chmod 777 /mnt/nfs/pictures
좋아요
# mount --bind /home/user/pictures /mnt/nfs/pictures
/mnt/nfs/pictures를 마운트하지만 /mnt/nfs/pictures/는 마운트하지 않습니다.카메라 1비었다. 이것이 문제의 핵심입니다.
# mount --rbind /home/user/pictures /mnt/nfs/pictures
(아르 자형이번에는 바인딩)이 예상대로 작동하고 /mnt/nfs/pictures/카메라 1이미 사람이 살고 있음
그럼...
/etc/idmapd.conf올바른 매핑이 이루어졌으며 두 컴퓨터 모두에서 모든 것이 동일하다는 것을 확인했습니다.
편집했습니다/etc/export:
/mnt/nfs/ <SERVER-IP>(rw,fsid=root,no_subtree_check)
/mnt/nfs/pictures <SERVER-IP>(rw,no_subtree_check,sync,no_root_squash)
좋아요
sudo exportfs -rav
좋아요
sudo service nfs-kernel-server restart
그것도 괜찮습니다.
그럼 다음 단계는...
고객(쿠반투 16.04)
(SSH를 사용하지만 물리적으로 액세스해도 결과는 동일합니다)
$ showmount -e <SERVER-IP>
Export list for <SERVER-IP>:
/mnt/nfs/pictures <SERVER-IP>
/mnt/nfs <SERVER-IP>
공유를 올바르게 표시
그 다음에
$ ls -al /home/user/pictures
total 8
drwxr-xr-x 2 user user 4096 Aug 23 23:47 .
drwxr-xr-x 36 user user 4096 Aug 23 23:49 ..
디렉터리가 존재하고 비어 있음을 확인하여 공유를 마운트합니다.
# mount -t nfs <SERVER-IP>:/pictures /home/user/pictures
or
# mount -t nfs <SERVER-IP>:/mnt/nfs/pictures /home/user/pictures
....same diff
좋아요
...하지만...
$ ls -al ~/pictures/camera1
total 16
drwxrwxr-x 2 user user 4096 Nov 12 2015 .
drwxrwxrwx 6 user user 4096 Aug 24 12:31 ..
-rw-rw-r-- 1 user user 21 Nov 12 2015 UNMOUNTED.txt
-rwxr-xr-x 1 user user 213 Nov 12 2015 .directory
물론~해야 한다다른 방식으로 장착되어 작동하는 "camera1" 드라이브 마운트의 내용으로 완전히 채워집니다.
왜냐하면--아르 자형바인딩은 서버 측에 도움이 됩니다. 클라이언트 측에서 활용하려고 했지만
# mount --rbind -t nfs <SERVER-IP>:/pictures /home/user/pictures
--rbind가 작동하므로 도움말/설명서에 나열되어 있음에도 불구하고 내 구문이 잘못되었다는 메시지가 표시됩니다.
돕다?