web-dev-qa-db-ja.com

(Ubuntu 19.04)ブート時にNFS共有が自動マウントされない: 'mount.nfs:ネットワークに到達できません'

起動時にNFS共有をマウントする方法がわかりません。私はいくつかの異なることを試しましたが(以下にリストされています)、何もうまくいきませんでした。どちらの場合も、network-online.targetが必要ですが、開始する前にネットワークがオンラインになるのを待っているようには見えません。はい、確かにリモートマシンと通信できます。ログイン後にmount -aを実行すると、共有がマウントされます。私は完全に途方に暮れています。

Attempt#1:以下を/etc/fstabに入れます:

10.0.10.10:/volume1/Media /mnt/media nfs x-systemd.automount,noauto,nofail,x-systemd.requires=network-online.target,suid,dev,exec,rw,sync,nouser 0 0

再起動後の結果:

root@ubuntu-svr:~# journalctl -b -u mnt-media.mount
-- Logs begin at Mon 2019-08-12 00:00:56 UTC, end at Fri 2019-09-20 22:05:16 UTC. --
Sep 20 21:36:29 ubuntu-svr systemd[1]: Mounting Mounts the '/mnt/media' directory...
Sep 20 21:36:29 ubuntu-svr mount[1528]: mount.nfs: Network is unreachable
Sep 20 21:36:29 ubuntu-svr systemd[1]: mnt-media.mount: Mount process exited, code=exited, status=32/n/a
Sep 20 21:36:29 ubuntu-svr systemd[1]: mnt-media.mount: Failed with result 'exit-code'.
Sep 20 21:36:29 ubuntu-svr systemd[1]: Failed to mount Mounts the '/mnt/media' directory.

Attempt#2:fstabエントリーをコメント化してsystemd mnt-media.mountファイルを作成し、systemdユニットが起動時に起動できるようにしました。これは、mnt-media.mountファイルで構成されています。

root@ubuntu-svr:~# cat /etc/systemd/system/mnt-media.mount
[Unit]
Description=Mounts the '/mnt/media' directory
Wants=network-online.target
Requires=network-online.target
#After=network-online.target

[Mount]
Where=/mnt/media
What=10.0.10.10:/volume1/Media
Options=auto,x-systemd.automount,nofail,suid,dev,exec,rw,sync,nouser
Type=nfs

[Install]
WantedBy=multi-user.target

systemctl enable mnt-media.mountで有効にしました。私は再起動し、そのステータスを確認しました:

root@ubuntu-svr:~# systemctl status mnt-media.mount
● mnt-media.mount - Mounts the '/mnt/media' directory
   Loaded: loaded (/etc/systemd/system/mnt-media.mount; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Fri 2019-09-20 22:28:51 UTC; 1min 12s ago
    Where: /mnt/media
     What: 10.0.10.10:/volume1/Media

Sep 20 22:28:51 ubuntu-svr systemd[1]: Mounting Mounts the '/mnt/media' directory...
Sep 20 22:28:51 ubuntu-svr mount[1206]: mount.nfs: Network is unreachable
Sep 20 22:28:51 ubuntu-svr systemd[1]: mnt-media.mount: Mount process exited, code=exited, status=32/n/a
Sep 20 22:28:51 ubuntu-svr systemd[1]: mnt-media.mount: Failed with result 'exit-code'.
Sep 20 22:28:51 ubuntu-svr systemd[1]: Failed to mount Mounts the '/mnt/media' directory.
1
beechfuzz

解決済み:

systemd-networkd-wait-online.serviceサービスを有効にする必要があることがわかりました。これで、私が試した両方の試み(/ etc/fstabおよびmnt-media.mount)は意図したとおりに機能しました。

systemd-networkdNetworkManagerのどちらを使用しているかに応じて、これに苦労している人は、システムでsystemd-networkd-wait-online.serviceまたはNetworkManager-wait-online.serviceが有効になっていることを確認する必要があります。そうしないと、マウントで明示的に要求されていても、システムはネットワークの起動を待機しません。

私はこのリンクを介してこの答えに出くわしました: https://wiki.archlinux.org/index.php/NFS/Troubleshooting#mount.nfs4:_Network_is_unreachable

1
beechfuzz

上記の方法で問題が解決しない場合(つまり、サービスが既に有効になっていて、NetManが実行されている場合)

x-systemd.after = network-online.targetfstabエントリに追加して再起動すると、動作しました。 _ netdevが役立つかどうかはわかりませんが、私のエントリの一部も同様に役立ちます。

0
ssvegeta96