systemd가 원격 NFS 디렉터리를 무작위로 마운트하지 못하는 이유는 무엇입니까?

systemd가 원격 NFS 디렉터리를 무작위로 마운트하지 못하는 이유는 무엇입니까?

우분투 20.04. systemd원격 NFS 경로를 마운트하는 마운트 파일이 있습니다 . 마운트된 파일은 다음과 같습니다.

[Unit]
Description=/userdata
Wants=network-online.target
After=network-online.target

[Mount]
What=10.20.30.40:/data/users
Where=/userdata
Type=nfs
Options=nofail,rw,soft,intr,actimeo=60

[Install]
WantedBy=multi-user.target

무작위로 재부팅 시 경로가 마운트되지 않습니다. 활성화되어 있습니다. 수동으로 시작하면 제대로 작동하고 /userdata/디렉토리가 설치됩니다.

마운트된 파일의 상태를 확인하면 "네트워크에 연결할 수 없음" 오류가 발생합니다.

$ sudo systemctl status userdata.mount
● userdata.mount - /userdata
     Loaded: loaded (/lib/systemd/system/userdata.mount; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Mon 2021-06-07 09:56:27 EDT; 6h ago
      Where: /userdata
       What: 10.20.30.40:/data/users

Jun 07 09:56:27 hostname mount[474]: mount.nfs: Network is unreachable
Jun 07 09:56:27 hostname systemd[1]: userdata.mount: Mount process exited, code=exited, status=32/n/a
Jun 07 09:56:27 hostname systemd[1]: userdata.mount: Failed with result 'exit-code'.
Jun 07 09:56:27 hostname systemd[1]: Failed to mount /userdata.
Warning: journal has been rotated since unit was started, output may be incomplete.

웹 검색으로 판단하면 이것은 일반적인 질문입니다. 그러나 systemd가장 일반적인 해결책은 " systemd마운트 파일을 작성"하는 것입니다. 이 경우에는 이미 사용하고 있으므로 systemd도움이 되지 않습니다.

내가 하나 찾았어아치스 위키의견에서는 이 문제를 해결할 수 있어야 한다고 제안했습니다 systemd-networkd-wait-online.service. 그러나 이 명령은 $ sudo systemctl status systemd-networkd-wait-online.service내 시스템에서 단위 파일이 활성화되어 있음을 보여줍니다.

그래서 나는 무엇을 더 해야할지 모르겠습니다. 시작 시 이 경로를 일관되게 마운트하려면 어떻게 해야 합니까?

편집하다

Wants=network-online.target로 교체해 보았지만 Requires=network-online.target문제가 해결되지 않았거나 다른 방식으로 영향을 미치지 않았습니다.

답변1

Wants=network-online.target나는 당신의 문제가 아닌 것 같아요 Requires=network-online.target.

Wants=시작 하라는 메시지가 표시 되면 network-online.target무시될 수 있습니다 network-online.target. 그러나 NFS의 경우 이는 분명히 필수적입니다. Requires=서비스를 성공적으로 시작하고 실행하는 데 반드시 필요합니다. 부팅하는 동안 네트워크가 약간 불안정한 것 같습니다.

바라보다원하는 = 및 필요 = systemd에서

관련 정보