Unable to mount my nfs shares on boot


#1

Hello,

I just recently installed Fedora Silverblue (from the iso I downloaded off the teamsilverblue.org website), everything is updated, and I layered a minimal of tools for the time being.

The issue that I have is I’m unable to have my NFS shares mounted off my NAS server on boot, no matter how I try to. Once fully booted, I can manually mount -a and everything shows up if I booted without the mounts in my /etc/fstab and re-introduced them in the fstab and issuing a mount -a.

I tried both with .mount unit files and _netdev options entries on my /etc/fstab without any success.

When I try to boot with them I get kicked un emergency shell with the error that the Network isn’t available even when I use _netdev.

I really want to use Silverblue, but right now, that’s my one major show stopper.

For reference, I tried this in my /etc/fstab:

serenity:/volume1/git /mnt/serenity/git nfs _netdev,rw 0 0

And also with the following unit file:

[root@sulaco ~]# cat /etc/systemd/system/mnt-serenity-video.mount 
[Unit]
Description=video on Serenity
After=network.target

[Mount]
What=serenity:/volume1/video
Where=/mnt/serenity/video
Type=nfs
Options=_netdev,auto

[Install]
WantedBy=multi-user.target
[root@sulaco ~]#

#2

So, reading various manpages, I would try to use the bg options in the /etc/fstab. So it will not block and retry after a while, which seems to be what you may want.

See http://man7.org/linux/man-pages/man5/nfs.5.html and https://www.freedesktop.org/software/systemd/man/systemd.mount.html

This archwiki link also provides some more options https://wiki.archlinux.org/index.php/NFS#Mount_using_.2Fetc.2Ffstab_with_systemd and discourage from using _netdev.


#3

No I did try that to and it stills doesn’t work among other things I get the Network is not reachable.

sep 08 09:50:50 localhost.localdomain mount[998]: mount.nfs: Network is unreachable
sep 08 09:50:50 localhost.localdomain systemd[1]: Failed to mount /var/mnt/serenity/backups.
– Subject: L’unité (unit) var-mnt-serenity-backups.mount a échoué

It feels like the nfs mount happens way too soon in a NetworkManager setup.


#4

I managed to solve my issue. I created a set of configurations for systemd-networkd (and along the way, I configured a br0 that will come handy later on) with my static IPv4 et IPv6 addresses and now, everything works.

As I guessed the main culprit was the fact that NetworkManager wasn’t started early enough.


#5

Then maybe you need to wait on NetworkManager-wait-online.service rather than network.target ?


#6

I tried that too with the same results.