<div dir="ltr">Hey Felipe,<br>thanks for your reply and sorry for getting back so late<br><br>On Mon, Jan 25, 2016 at 2:21 PM, Felipe Sateler <<a href="mailto:fsateler@debian.org">fsateler@debian.org</a>> wrote:<br>> On 25 January 2016 at 09:04, Sandro Tosi <<a href="mailto:morph@debian.org">morph@debian.org</a>> wrote:<br>>> Hello,<br>>> we are converting our installations to jessie and we are facing some<br>>> issues, which we believe is somehow related to how systemd boots the<br>>> system, and that they can be summarized as (more details below):<br>>><br>>> 1. some NFS shares are not mounted at boot<br>>> 2. using 'mount -a' as @reboot cronjob (to workaround 1.) duplicates mounts<br>>> 3. @reboot jobs for programs on NFS mountpoints are started too early<br>>> (when the share is not yet mounted)<br>><br>> I'll try to focus on the original problem first (failed mounts).<br><br>yup, makes totally sense!<br><br>><br>>><br>>><br>>> (1.) we believe that the NFS shares not mounted at boot is also<br>>> causing the other problems, so let's start from this one.<br>>><br>>> we define our NFS mounts in /etc/fstab like this:<br>>><br>>> NFS_SERVER:VOLUME    MOUNTPOINT      nfs<br>>> rw,intr,tcp,bg,rdirplus,noatime,_netdev<br>>><br>>> the mount options are always the same, and we have several of these<br>>> mounts (from different servers), even up to 20 on some hosts.<br>>><br>>> some of those (not always the same and not on all the machines), are<br>>> not mounted during the boot.<br>><br>> Logs would be helpful (`journalctl -axb` would get you the current boot's logs).<br><br>sure, attached is the output of journalctl -axb on a system where only 1 of the 10 NFS shares in /etc/fstab was not mounted (the output is lightly anonymized, but it should have preserved all the relevant information).<br><br>> Also, what are you using for networking? Ifupdown?<br><br>yup, we configure all our network interfaces in /etc/network/interfaces and they are all "auto <iface>"<br><br><br>> Does `systemctl<br>> status` print failed units?<div><br></div><div>yeah, here are some additional commands output:</div><div><br></div><div><span style="font-size:12.8px"># systemctl status</span><br style="font-size:12.8px"><span style="font-size:12.8px">● SERVER</span><br style="font-size:12.8px"><span style="font-size:12.8px">    State: degraded</span><br style="font-size:12.8px"><span style="font-size:12.8px">     Jobs: 0 queued</span><br style="font-size:12.8px"><span style="font-size:12.8px">   Failed: 1 units</span><br></div><div><span style="font-size:12.8px"><br></span></div><div><div style="font-size:12.8px"># systemctl | grep failed</div><div style="font-size:12.8px">● mnt-NFSSERVER.mount                                                                         loaded failed failed    /mnt/POINT</div></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px"><div style="font-size:12.8px"># systemd-analyze critical-chain</div><div style="font-size:12.8px">The time after the unit is active or started is printed after the "@" character.</div><div style="font-size:12.8px">The time the unit takes to start is printed after the "+" character.</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">graphical.target @1min 32.289s</div><div style="font-size:12.8px">└─multi-user.target @1min 32.289s</div><div style="font-size:12.8px">  └─postfix.service @1min 32.101s +187ms</div><div style="font-size:12.8px">    └─nss-lookup.target @1min 32.097s</div><div style="font-size:12.8px">      └─unbound.service @1min 31.804s +292ms</div><div style="font-size:12.8px">        └─basic.target @1min 31.793s</div><div style="font-size:12.8px">          └─paths.target @1min 31.792s</div><div style="font-size:12.8px">            └─acpid.path @1min 31.792s</div><div style="font-size:12.8px">              └─sysinit.target @1min 31.790s</div><div style="font-size:12.8px">                └─console-setup.service @1min 31.719s +71ms</div><div style="font-size:12.8px">                  └─kbd.service @1min 31.698s +20ms</div><div style="font-size:12.8px">                    └─remote-fs.target @1min 31.697s</div><div style="font-size:12.8px">                      └─mnt-NFSSERVER.mount @1.568s +1min 30.128s</div><div style="font-size:12.8px">                        └─network-online.target @1.561s</div><div style="font-size:12.8px">                          └─network.target @1.561s</div><div style="font-size:12.8px">                            └─networking.service @246ms +1.314s</div><div style="font-size:12.8px">                              └─local-fs.target @245ms</div><div style="font-size:12.8px">                                └─var-lib-hugetlbfs-global-pagesize\x2d2MB.mount @1min 31.822s</div><div style="font-size:12.8px">                                  └─local-fs-pre.target @233ms</div><div style="font-size:12.8px">                                    └─systemd-remount-fs.service @230ms +3ms</div><div style="font-size:12.8px">                                      └─keyboard-setup.service @145ms +84ms</div><div style="font-size:12.8px">                                        └─systemd-udevd.service @142ms +2ms</div><div style="font-size:12.8px">                                          └─systemd-tmpfiles-setup-dev.service @118ms +23ms</div><div style="font-size:12.8px">                                            └─kmod-static-nodes.service @109ms +6ms</div><div style="font-size:12.8px">                                              └─system.slice @106ms</div><div style="font-size:12.8px">                                                └─-.slice @106ms</div></div><div><br>><br>> Without more information on how this is failing (ie, logs), it is very<br>> hard to help.<br><br>i was just not sure which information to provide, hopefully the ones here are enough, but could provide more if needed<br><br>> BTW, be sure to order cron.service after remote-fs.target if your<br>> @reboot commands need those paths available, otherwise cron might run<br>> before they are mounted. This should solve problem 3.<br><br>yup, indeed we'll do.</div><div><br></div><div>An additional question: in the critical-chain output above, we see that the network targets (network.target and network-only.target) are correctly reached before the remote-fs.target, but.. how is systemd defining the network as "online"? our doubt comes from the fact that sometimes (but not in the machines i provided the log for) we have multiple physical NICs in the machine, so is "online" as soon as one of those interfaces is up, or only when all of them are configured and 'UP' in the "ip link" sense?</div><div><br>thanks a ton for your help!</div><div><br></div><div>Cheers,<br>-- <br>Sandro "morph" Tosi<br>My website: <a href="http://matrixhasu.altervista.org/">http://matrixhasu.altervista.org/</a><br>Me at Debian: <a href="http://wiki.debian.org/SandroTosi">http://wiki.debian.org/SandroTosi</a><br>G+: <a href="https://plus.google.com/u/0/+SandroTosi">https://plus.google.com/u/0/+SandroTosi</a></div></div>