You are not logged in.

#1 2018-09-15 17:39:50

stonebit
Member
Registered: 2012-08-25
Posts: 5

[Solved] Network Mount Not Waiting for Network

My CIFS mount does not wait for the network to come online. I've set requires and after statements on my mount config, but it's not being respected.
Note the mount generally works. For example, if i start it manually (systemctl start srv-repository.mount) it mounts without issue.

/etc/systemd/system/srv-repository.mount

[Unit]
Description=repository
Requires=network-online.target systemd-networkd-wait-online.service
After=network-online.target systemd-networkd-wait-online.service

[Mount]
What=//10.0.0.10/repository
Where=/srv/repository
Options=users,username=USER,password=PASS,gid=users,uid=MyUser,iocharset=utf8,noauto,rw
Type=cifs
TimeoutSec=30

[Install]
WantedBy=multi-user.target

systemctl output.... the mount executes exactly when the wait completes, but the mount errors out on the network not being ready.

# systemctl status network-online.target
● network-online.target - Network is Online
   Loaded: loaded (/usr/lib/systemd/system/network-online.target; static; vendor preset: disabled)
   Active: active since Sat 2018-09-15 11:23:47 MDT; 1min 44s ago
     Docs: man:systemd.special(7)
           https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget

Sep 15 11:23:47 stone systemd[1]: Reached target Network is Online.
# systemctl status systemd-networkd-wait-online.service
● systemd-networkd-wait-online.service
   Loaded: loaded (/etc/systemd/system/systemd-networkd-wait-online.service; enabled; vendor preset: disabled)
   Active: active (exited) since Sat 2018-09-15 11:23:47 MDT; 1min 57s ago
  Process: 563 ExecStart=/lib/systemd/systemd-networkd-wait-online --interface=enp4s0 --timeout=0 (code=exited, status=0/SUCCESS)
 Main PID: 563 (code=exited, status=0/SUCCESS)

Sep 15 11:23:43 stone systemd-networkd-wait-online[563]: ignoring: lo
Sep 15 11:23:45 stone systemd-networkd-wait-online[563]: ignoring: eno1
Sep 15 11:23:45 stone systemd-networkd-wait-online[563]: ignoring: lo
Sep 15 11:23:45 stone systemd-networkd-wait-online[563]: ignoring: eno1
Sep 15 11:23:45 stone systemd-networkd-wait-online[563]: ignoring: lo
Sep 15 11:23:45 stone systemd-networkd-wait-online[563]: ignoring: eno1
Sep 15 11:23:45 stone systemd-networkd-wait-online[563]: ignoring: lo
Sep 15 11:23:47 stone systemd-networkd-wait-online[563]: ignoring: eno1
Sep 15 11:23:47 stone systemd-networkd-wait-online[563]: ignoring: lo
Sep 15 11:23:47 stone systemd[1]: Started systemd-networkd-wait-online.service.
# systemctl status srv-repository.mount
Warning: The unit file, source configuration file or drop-ins of srv-repository.mount changed on disk. Run 'systemctl daemon-reload' to reload units.
● srv-repository.mount - repository
   Loaded: loaded (/etc/systemd/system/srv-repository.mount; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Sat 2018-09-15 11:23:47 MDT; 2min 22s ago
    Where: /srv/repository
     What: //10.0.0.10/repository

Sep 15 11:23:47 stone systemd[1]: Mounting repository...
Sep 15 11:23:47 stone mount[839]: mount error(101): Network is unreachable
Sep 15 11:23:47 stone mount[839]: Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
Sep 15 11:23:47 stone systemd[1]: srv-repository.mount: Mount process exited, code=exited status=32
Sep 15 11:23:47 stone systemd[1]: srv-repository.mount: Failed with result 'exit-code'.
Sep 15 11:23:47 stone systemd[1]: Failed to mount repository.

Last edited by stonebit (2018-09-15 21:09:04)

Offline

#2 2018-09-15 20:31:20

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 78,842

Re: [Solved] Network Mount Not Waiting for Network

systemctl status systemd-networkd
systemctl list-unit-files --state=enabled

Are you on the same subnet?

Offline

#3 2018-09-15 20:44:54

stonebit
Member
Registered: 2012-08-25
Posts: 5

Re: [Solved] Network Mount Not Waiting for Network

Yes, in the same subnet. My ip is 10.0.0.42/24.

# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eno1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether 10:bf:48:8d:a2:50 brd ff:ff:ff:ff:ff:ff
3: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 30:1c:21:31:f0:c0 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.42/24 brd 10.0.0.255 scope global noprefixroute enp4s0
       valid_lft forever preferred_lft forever
# systemctl status systemd-networkd
● systemd-networkd.service - Network Service
   Loaded: loaded (/usr/lib/systemd/system/systemd-networkd.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2018-09-15 14:38:04 MDT; 2min 50s ago
     Docs: man:systemd-networkd.service(8)
 Main PID: 519 (systemd-network)
   Status: "Processing requests..."
    Tasks: 1 (limit: 4915)
   Memory: 4.1M
   CGroup: /system.slice/systemd-networkd.service
           └─519 /usr/lib/systemd/systemd-networkd

Sep 15 14:38:04 stone systemd[1]: Starting Network Service...
Sep 15 14:38:04 stone systemd-networkd[519]: Enumeration completed
Sep 15 14:38:04 stone systemd[1]: Started Network Service.
Sep 15 14:38:04 stone systemd-networkd[519]: eno1: Interface name change detected, eno1 has been renamed to eth0.
Sep 15 14:38:04 stone systemd-networkd[519]: eth0: Interface name change detected, eth0 has been renamed to eno1.
Sep 15 14:38:04 stone systemd-networkd[519]: request_name_destroy_callback n_ref=1
Sep 15 14:38:04 stone systemd-networkd[519]: eth1: Interface name change detected, eth1 has been renamed to enp4s0.
Sep 15 14:38:07 stone systemd-networkd[519]: enp4s0: Gained carrier
Sep 15 14:38:09 stone systemd-networkd[519]: enp4s0: Gained IPv6LL
# systemctl list-unit-files --state=enabled
UNIT FILE                             STATE  
srv-repository.mount                  enabled
srv-stone.mount                       enabled
srv-vmshare.mount                     enabled
org.cups.cupsd.path                   enabled
autovt@.service                       enabled
dbus-org.freedesktop.network1.service enabled
dbus-org.freedesktop.resolve1.service enabled
dhcpcd.service                        enabled
display-manager.service               enabled
getty@.service                        enabled
org.cups.cupsd.service                enabled
sddm.service                          enabled
systemd-networkd-wait-online.service  enabled
systemd-networkd.service              enabled
systemd-resolved.service              enabled
org.cups.cupsd.socket                 enabled
systemd-networkd.socket               enabled
remote-fs.target                      enabled

18 unit files listed.

(Note the other mounts in srv don't work either.)

Last edited by stonebit (2018-09-15 21:10:12)

Offline

#4 2018-09-15 20:55:43

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 78,842

Re: [Solved] Network Mount Not Waiting for Network

dhcpcd.service                        enabled
systemd-networkd.service              enabled

You've two network managing services enabled what is gonna cause some mess in any event. Probably dhcp interferes and the network is briefly down after being initially online (and at this point your mount fails)

Offline

#5 2018-09-15 21:08:46

stonebit
Member
Registered: 2012-08-25
Posts: 5

Re: [Solved] Network Mount Not Waiting for Network

Thanks! I disabled dhcpcd.service, setup a DHCP config for networkd, and it works now.

Offline

Board footer

Powered by FluxBB