NFS 내보내기를 위해 USB 하위 디렉터리 마운트

NFS 내보내기를 위해 USB 하위 디렉터리 마운트

우분투 18.04.1 LTS

USB 드라이브에서 디렉토리를 내보내는 데 문제가 있습니다. 비슷한 권한 구성으로 내보내기를 많이 했는데 모두 괜찮습니다.

오류는 다음과 같습니다.

mount --bind /mnt/usb2T/inbox /export/inbox
mount: /export/inbox: mount(2) system call failed: No such file or directory.

이 문제와 관련된 디렉터리는 다음과 같습니다.

USB 드라이브:

ls -la /mnt/
drwxrwxr-x  7 root users 4096 Sep 14 14:29 usb2T

성공적인 설치를 다음으로 내보냈습니다.

/mnt/usb2T /export/usb2T nfs bind 0 0

고객이 다음과 같이 성공적으로 내보내고 설치했습니다.

/export/usb2T 10.0.0.0/24(rw,nohide,insecure,no_subtree_check,async)

그러나 usb2T의 하위 디렉터리에 대해 동일한 접근 방식을 시도하면 문제가 발생합니다.

ls -la /mnt/usb2T/inbox | wc -l
96

그래서 그것은 존재하고 거기에 파일이 있습니다.

/export/inbox 디렉토리도 마찬가지입니다:

ls -la /export
drwxrwxr-x  0 root users    0 Sep 14 14:29 inbox
drwxrwxr-x  7 root users 4096 Sep 14 14:29 usb2T

fstab에서 다음 줄을 사용하여 바인드 마운트를 시도해 보세요.

/mnt/usb2T/inbox /export/inbox nfs bind 0 0

이 오류가 발생하는 이유는 무엇입니까?

답변1

Ubuntu 18.04.1 LTS는 사용할 수 있을 만큼 새로운 버전 systemd이며 systemd레거시 ./etc/fstabmount -a

대신 자동으로 .mount-type을 생성합니다.시스템 단위 파일/etc/fstab라인에 대해 이러한 유닛에 몇 가지 기본 종속성을 추가한 다음 시작 시 기본적으로 최대한 빠르게 유닛을 병렬로 실행합니다.

중요한 점은 systemd하나의 설치가 완료된 다른 설치에 종속된다는 점을 명시적으로 알려주지 않는 한 특정 순서가 보장되지 않는다는 것입니다. 줄의 순서는 /etc/fstab이전처럼 의미가 없습니다 mount -a.

/mnt/usb2T두 번째 바인드 마운트는 이미 설치된 경우에만 성공합니다. 이 요구 사항을 알리려면 해당 행을 다음으로 변경 systemd해야 합니다 .fstab

/mnt/usb2T/inbox /export/inbox nfs bind,x-systemd.requires=/mnt/usb2T 0 0

또는 systemd사용된 버전에 따라 다음과 같을 수 있습니다.

/mnt/usb2T/inbox /export/inbox nfs bind,x-systemd.requires-mounts-for=/mnt/usb2T 0 0

(기술적으로 바인드 마운트에서 해당 행의 파일 시스템 유형은 가 아니어야 fstab하지만 바인드 마운트는 어쨌든 이를 무시한다고 생각합니다.)nonenfs

관련 정보