Vero 4k fstab/autofs problem

ls: cannot access '/mnt/NASFiles1/': No such file or directory

and

total 8.0K
drwxr-xr-x  3 root root 4.0K Oct 25 16:18 .
drwxr-xr-x 20 root root 4.0K Aug  8 06:47 ..
drwxr-xr-x  2 root root    0 Oct 25 16:18 NASFiles1

Ok, would recommend a NAS reboot and then checking showmount again. Also maybe trying to run autofs again manually to check for debug info.

OK, so changes I made on the ReadyNAS did not survive the reboot, but readding the permissions for the Vero IP (192.168.1.214) now changes the showmount output to

/c/media 192.168.1.214

In terms of running autofs manually, does this involve running

sudo automount -f -v -d

and then attempting to ls the mount from a second connection? If so, I get this:

Starting automounter version 5.1.2, master map /etc/auto.master
using kernel protocol version 5.02
lookup_nss_read_master: reading master file /etc/auto.master
do_init: parse(sun): init gathered global options: (null)
lookup_read_master: lookup(file): read entry +dir:/etc/auto.master.d
lookup_nss_read_master: reading master dir /etc/auto.master.d
lookup_read_master: lookup(dir): scandir: /etc/auto.master.d
lookup_read_master: lookup(file): read entry +auto.master
lookup_nss_read_master: reading master files auto.master
do_init: parse(sun): init gathered global options: (null)
lookup(file): failed to read included master map auto.master
lookup_read_master: lookup(file): read entry /-
master_do_mount: mounting /-
automount_path_to_fifo: fifo name /var/run/autofs.fifo--
lookup_nss_read_map: reading map file /etc/auto.nfs.shares
do_init: parse(sun): init gathered global options: (null)
mounted direct on /mnt/NASFiles1 with timeout 30, freq 8 seconds
do_mount_autofs_direct: mounted trigger /mnt/NASFiles1
st_ready: st_ready(): state = 0 path /-
handle_packet: type = 5
handle_packet_missing_direct: token 7, name /mnt/NASFiles1, request pid 3211
attempting to mount entry /mnt/NASFiles1
lookup_mount: lookup(file): looking up /mnt/NASFiles1
lookup_mount: lookup(file): /mnt/NASFiles1 -> 192.168.1.210:/c/media
parse_mount: parse(sun): expanded entry: 192.168.1.210:/c/media
parse_mount: parse(sun): gathered options:
parse_mount: parse(sun): dequote("192.168.1.210:/c/media") -> 192.168.1.210:/c/media
parse_mount: parse(sun): core of entry: options=, loc=192.168.1.210:/c/media
sun_mount: parse(sun): mounting root /mnt/NASFiles1, mountpoint /mnt/NASFiles1,what 192.168.1.210:/c/media, fstype nfs, options (null)
mount_mount: mount(nfs): root=/mnt/NASFiles1 name=/mnt/NASFiles1 what=192.168.1.                                                                                                     210:/c/media, fstype=nfs, options=(null)
get_nfs_info: called with host 192.168.1.210(192.168.1.210) proto 6 version 0x30
get_nfs_info: nfs v3 rpc ping time: 0.000000
get_nfs_info: nfs v2 rpc ping time: 0.000000
get_nfs_info: host 192.168.1.210 cost 0 weight 0
get_nfs_info: called with host 192.168.1.210(192.168.1.210) proto 17 version 0x30
get_nfs_info: nfs v3 rpc ping time: 0.000000
get_nfs_info: nfs v2 rpc ping time: 0.000000
get_nfs_info: host 192.168.1.210 cost 0 weight 0
prune_host_list: selected subset of hosts that support NFS3 over TCP
mount_mount: mount(nfs): calling mkdir_path /mnt/NASFiles1
mount_mount: mount(nfs): calling mount -t nfs 192.168.1.210:/c/media /mnt/NASFiles1
>> mount.nfs: mount system call failed
mount(nfs): nfs: mount failure 192.168.1.210:/c/media on /mnt/NASFiles1
dev_ioctl_send_fail: token = 7
failed to mount /mnt/NASFiles1
^Cst_expire: state 1 path /-
expire_proc: exp_proc = 4100977744 path /-
expire_cleanup: got thid 4100977744 path /- stat 0
expire_cleanup: sigchld: exp 4100977744 finished, switching from 2 to 1
st_ready: st_ready(): state = 2 path /-
st_expire: state 1 path /-
expire_proc: exp_proc = 4100977744 path /-
expire_cleanup: got thid 4100977744 path /- stat 0
expire_cleanup: sigchld: exp 4100977744 finished, switching from 2 to 1
st_ready: st_ready(): state = 2 path /-
statemachine:1500: got unexpected signal 28!
st_expire: state 1 path /-
expire_proc: exp_proc = 4100977744 path /-
expire_cleanup: got thid 4100977744 path /- stat 0
expire_cleanup: sigchld: exp 4100977744 finished, switching from 2 to 1
st_ready: st_ready(): state = 2 path /-

OP already tried that.

Ah, they didnā€™t use markup so I missed it.

Did they try the systemd-networkd-wait-online.service?

sudo systemctl enable systemd-networkd-wait-online.service

To confirm itā€™s not trying to mount before the network is fully up? Logs look like using Wireless Nic vs ethernet port.

Looks like adding the following to the fstab options might be an alternative as well:
x-systemd.after=network-online.target
and removing the option:
noauto

so:

192.168.1.210:/c/media /mnt/NASFiles nfs x-systemd.automount,x-systemd.after=network-online.target 0 0

What happens if you try to manually do the mount:

sudo mount -t nfs 192.168.1.210:/c/media /mnt/NASFiles1

I enabled the systemd-networkd-wait-online.service but didnā€™t help. Donā€™t really want to go back to fstab at this point if I can avoid it.

I was just looking at this, with the verbose option added I get:

osmc@osmc:~$ sudo mount -v -t nfs 192.168.1.210:/c/media /mnt/NASFiles1
mount.nfs: timeout set for Mon Oct 25 16:56:45 2021
mount.nfs: trying text-based options 'vers=4.2,addr=192.168.1.210,clientaddr=192                                                                                                     .168.1.214'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options 'vers=4.1,addr=192.168.1.210,clientaddr=192                                                                                                     .168.1.214'
mount.nfs: mount(2): Input/output error
mount.nfs: mount system call failed

If it helps at all rpcinfo -p 192.168.1.210 |egrep "service|nfs" returns:

program vers proto   port  service
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs

It seems I can successfully make the mount if I specify version 3 in the manual mount command:

sudo mount -o vers=3 -v -t nfs 192.168.1.210:/c/media /mnt/NASFiles1

How can I specify that autofs uses version 3?

Hi,

I believe that autofs defaults to nfs version 2 or 3, you can only specify nfs4 (-fstype=nfs4); but you could try:

/mnt/NASFiles1 fstype=nfs 192.168.1.210:/c/media

Thanks Tom.

This should work for autofs:

/mnt/NASFiles1 -fstype=nfs,vers=3.0 192.168.1.210:/c/media

Neither of these work, Iā€™m afraid, I see

validate_location: invalid character "=" found in location fstype=nfs 192.168.1.210:/c/media

Try to go back to your original configuration and add in /etc/autofs.conf set mount_nfs_default_protocol = 3

I had tried that, but didnā€™t help, what did work though was bmillhamā€™s suggestion, though it was missing a switch marker before the fstype declaration, so the working form is:

/mnt/NASFiles1 -fstype=nfs,vers=3.0  192.168.1.210:/c/media

Many thanks to everyone for your help and patience :grinning:

2 Likes

Opps, my bad! Sorry about that.