Package: nfs-common Version: 1:1.2.8-9 Severity: important Dear Maintainer,
I am the administrator of a network of systems which use kerberized NFSv3 to mount user homedirs across systems. On one particular machine, we were running jessie but had not yet switched to systemd. After switching to systemd, I discovered that it failed to mount critical mounts on startup. They mounted fine manually. Investigating the journal (attached), I discovered that NFS failed to mount because statd was not available, but systemd did not start statd until after attempting to mount the NFS shares, which is why the manual mount worked fine. The nfs-common systemd configuration should ensure that any nfs-common daemons are started before attempting to mount NFS shares, or ensure that if the mount call occurs first, that the system is able to gracefully recover by mounting them properly once the daemons are started, rather than by failing entirely. Please note that I have sanitized the fstab and mounts files below, so as not to expose system details. To the best of my knowledge, they bear no relevance to the bug. Attached is the relevant excerpt from the journal. Again I have sanitized the mount points; both kerberized mount points failed (sec=krb5 below). -- Package-specific info: -- rpcinfo -- program vers proto port service 100000 4 tcp 111 portmapper 100000 3 tcp 111 portmapper 100000 2 tcp 111 portmapper 100000 4 udp 111 portmapper 100000 3 udp 111 portmapper 100000 2 udp 111 portmapper 100021 1 udp 47679 nlockmgr 100021 3 udp 47679 nlockmgr 100021 4 udp 47679 nlockmgr 100021 1 tcp 44079 nlockmgr 100021 3 tcp 44079 nlockmgr 100021 4 tcp 44079 nlockmgr 100024 1 udp 58446 status 100024 1 tcp 37018 status -- /etc/default/nfs-common -- NEED_STATD=yes STATDOPTS= NEED_IDMAPD= NEED_GSSD=yes RPCGSSDOPTS= -- /etc/idmapd.conf -- [General] Verbosity = 0 Pipefs-Directory = /run/rpc_pipefs [Mapping] Nobody-User = nobody Nobody-Group = nogroup -- /etc/fstab -- <host>:<export> <mountpoint> nfs bg,vers=3,sec=krb5,nosuid,nodev 0 0 <host>:<export> <mountpoint> nfs bg,vers=3,sec=sys,nosuid,nolock,noatime,nodev 0 0 <host>:<export> <mountpoint> nfs bg,vers=3,sec=sys,nosuid,nodev 0 0 -- /proc/mounts -- <host>:<export> <mountpoint> nfs rw,nosuid,nodev,noatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,nolock,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=129.97.134.115,mountvers=3,mountport=53011,mountproto=udp,local_lock=all,addr=129.97.134.115 0 0 <host>:<export> <mountpoint> nfs rw,nosuid,nodev,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=krb5,mountaddr=129.97.134.115,mountvers=3,mountport=53011,mountproto=udp,local_lock=none,addr=129.97.134.115 0 0 <host>:<export> <mountpoint> nfs rw,nosuid,nodev,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=129.97.134.72,mountvers=3,mountport=52732,mountproto=udp,local_lock=none,addr=129.97.134.72 0 0 -- System Information: Debian Release: jessie/sid APT prefers testing-updates APT policy: (500, 'testing-updates'), (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 3.16-3-amd64 (SMP w/4 CPU cores) Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages nfs-common depends on: ii adduser 3.113+nmu3 ii initscripts 2.88dsf-53.4 ii libc6 2.19-12 ii libcap2 1:2.24-6 ii libcomerr2 1.42.12-1 ii libdevmapper1.02.1 2:1.02.90-2 ii libevent-2.0-5 2.0.21-stable-1.1 ii libgssapi-krb5-2 1.12.1+dfsg-11 ii libk5crypto3 1.12.1+dfsg-11 ii libkeyutils1 1.5.9-5 ii libkrb5-3 1.12.1+dfsg-11 ii libmount1 2.25.1-5 ii libnfsidmap2 0.25-5 ii libtirpc1 0.2.5-1 ii libwrap0 7.6.q-25 ii lsb-base 4.1+Debian13+nmu1 ii rpcbind 0.2.1-6 ii ucf 3.0030 Versions of packages nfs-common recommends: ii python 2.7.8-1 Versions of packages nfs-common suggests: pn open-iscsi <none> pn watchdog <none> -- Configuration Files: /etc/default/nfs-common changed: NEED_STATD=yes STATDOPTS= NEED_IDMAPD= NEED_GSSD=yes RPCGSSDOPTS= -- no debconf information
Nov 03 21:50:50 nullsleep lvm[354]: 2 logical volume(s) in volume group "nullsleep" now active Nov 03 21:50:50 nullsleep lvm[358]: 2 logical volume(s) in volume group "nullsleep" now active Nov 03 21:50:50 nullsleep lvm[360]: 2 logical volume(s) in volume group "nullsleep" monitored Nov 03 21:50:50 nullsleep ufw[363]: Skip starting firewall: ufw (not enabled)...done. Nov 03 21:50:50 nullsleep networking[366]: Configuring network interfaces...done. Nov 03 21:50:50 nullsleep kernel: FS-Cache: Loaded Nov 03 21:50:50 nullsleep systemd-udevd[202]: Network interface NamePolicy= disabled on kernel commandline, ignoring. Nov 03 21:50:50 nullsleep rpc.statd[493]: Version 1.2.8 starting Nov 03 21:50:50 nullsleep rpc.statd[493]: Flags: TI-RPC Nov 03 21:50:50 nullsleep rpc.statd[495]: Version 1.2.8 starting Nov 03 21:50:50 nullsleep rpc.statd[495]: Flags: TI-RPC Nov 03 21:50:50 nullsleep kernel: RPC: Registered named UNIX socket transport module. Nov 03 21:50:50 nullsleep kernel: RPC: Registered udp transport module. Nov 03 21:50:50 nullsleep kernel: RPC: Registered tcp transport module. Nov 03 21:50:50 nullsleep kernel: RPC: Registered tcp NFSv4.1 backchannel transport module. Nov 03 21:50:50 nullsleep rpc.statd[493]: failed to create RPC listeners, exiting Nov 03 21:50:50 nullsleep kernel: FS-Cache: Netfs 'nfs' registered for caching Nov 03 21:50:50 nullsleep rpc.statd[495]: failed to create RPC listeners, exiting Nov 03 21:50:50 nullsleep mount[476]: mount.nfs: rpc.statd is not running but is required for remote locking. Nov 03 21:50:50 nullsleep mount[476]: mount.nfs: Either use '-o nolock' to keep locks local, or start statd. Nov 03 21:50:50 nullsleep mount[476]: mount.nfs: an incorrect mount option was specified Nov 03 21:50:50 nullsleep systemd[1]: <mountpoint>.mount mount process exited, code=exited status=32 Nov 03 21:50:50 nullsleep systemd[1]: Failed to mount /<mountpoint>. Nov 03 21:50:50 nullsleep systemd[1]: Dependency failed for Remote File Systems. Nov 03 21:50:50 nullsleep systemd[1]: Unit <mountpoint>.mount entered failed state. Nov 03 21:50:50 nullsleep systemd[1]: <mountpoint>.mount mount process exited, code=exited status=32 Nov 03 21:50:50 nullsleep systemd[1]: Failed to mount /<mountpoint>. Nov 03 21:50:50 nullsleep systemd[1]: Unit <mountpoint>.mount entered failed state. Nov 03 21:50:50 nullsleep mount[480]: mount.nfs: rpc.statd is not running but is required for remote locking. Nov 03 21:50:50 nullsleep mount[480]: mount.nfs: Either use '-o nolock' to keep locks local, or start statd. Nov 03 21:50:50 nullsleep mount[480]: mount.nfs: an incorrect mount option was specified Nov 03 21:50:50 nullsleep systemd-journal[182]: Runtime journal is using 4.3M (max allowed 35.1M, trying to leave 52.6M free of 346.3M available → current limit 35.1M). Nov 03 21:50:50 nullsleep rpcbind[481]: Starting rpcbind daemon.... Nov 03 21:50:51 nullsleep rpc.statd[517]: Version 1.2.8 starting Nov 03 21:50:51 nullsleep sm-notify[518]: Version 1.2.8 starting Nov 03 21:50:51 nullsleep kernel: Installing knfsd (copyright (C) 1996 o...@monad.swb.de). Nov 03 21:50:51 nullsleep nfs-common[508]: Starting NFS common utilities: statd idmapd gssd.