起動時に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.
解決済み:
systemd-networkd-wait-online.service
サービスを有効にする必要があることがわかりました。これで、私が試した両方の試み(/ etc/fstabおよびmnt-media.mount)は意図したとおりに機能しました。
systemd-networkd
とNetworkManager
のどちらを使用しているかに応じて、これに苦労している人は、システムでsystemd-networkd-wait-online.service
またはNetworkManager-wait-online.service
が有効になっていることを確認する必要があります。そうしないと、マウントで明示的に要求されていても、システムはネットワークの起動を待機しません。
私はこのリンクを介してこの答えに出くわしました: https://wiki.archlinux.org/index.php/NFS/Troubleshooting#mount.nfs4:_Network_is_unreachable
上記の方法で問題が解決しない場合(つまり、サービスが既に有効になっていて、NetManが実行されている場合)
x-systemd.after = network-online.targetをfstabエントリに追加して再起動すると、動作しました。 _ netdevが役立つかどうかはわかりませんが、私のエントリの一部も同様に役立ちます。