systemdがリモートNFSディレクトリをランダムにマウントできないのはなぜですか?

systemdがリモートNFSディレクトリをランダムにマウントできないのはなぜですか?

Ubuntu 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で

おすすめ記事