首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >systemd试图过早地挂载davfs2 --在DHCP地址接收之前

systemd试图过早地挂载davfs2 --在DHCP地址接收之前
EN

Server Fault用户
提问于 2019-01-18 12:44:13
回答 1查看 1.3K关注 0票数 0

我试图让davfs2在引导时自动挂载WebDAV文件夹。

systemd似乎试图在DHCP客户端有IP地址(当然失败)之前用mount.davfs挂载文件夹,即使在/etc/fstab中使用_netdev挂载选项也是如此。(如果没有_netdev,挂载也会失败,但是整个引导过程也会失败,在引导过程中,我会掉进根shell。)

我能给davfs什么魔法,让它只在我们用DHCP获得一个IP地址之后才能挂载?(为什么这不是默认的.)

从下面的journalctl输出可以看出,davfs2尝试在DHCPACK之前挂载,NFS在DHCPACK之后成功挂载。所以NFS会运行,但是davfs2失败了。

代码语言:javascript
复制
> grep davfs /etc/fstab
https://example.com/remote.php/webdav/ /home/peter/pmorch davfs user,rw,auto,_netdev 0 0

> sudo journalctl --since 13:20:48 | grep -P 'davfs|pmorch|DHCP|ISO'
Jan 18 13:20:49 snowden dhclient[669]: Internet Systems Consortium DHCP Client 4.3.5
Jan 18 13:20:49 snowden sh[657]: Internet Systems Consortium DHCP Client 4.3.5
Jan 18 13:20:49 snowden sh[657]: DHCPDISCOVER on ens18 to 255.255.255.255 port 67 interval 3
Jan 18 13:20:49 snowden dhclient[669]: DHCPDISCOVER on ens18 to 255.255.255.255 port 67 interval 3
Jan 18 13:20:49 snowden systemd[1]: Mounting /mnt/ISO-Dev...
Jan 18 13:20:49 snowden systemd[1]: Mounting /home/peter/pmorch...
Jan 18 13:20:49 snowden systemd[1]: Mounting /mnt/ISO...
Jan 18 13:20:49 snowden mount.davfs[751]: davfs2 1.5.4
Jan 18 13:20:49 snowden systemd[1]: home-peter-pmorch.mount: Mount process exited, code=exited status=1
Jan 18 13:20:49 snowden systemd[1]: Failed to mount /home/peter/pmorch.
Jan 18 13:20:49 snowden systemd[1]: home-peter-pmorch.mount: Unit entered failed state.
Jan 18 13:20:50 snowden dhclient[669]: DHCPREQUEST of 172.22.216.172 on ens18 to 255.255.255.255 port 67
Jan 18 13:20:50 snowden sh[657]: DHCPREQUEST of 172.22.216.172 on ens18 to 255.255.255.255 port 67
Jan 18 13:20:50 snowden sh[657]: DHCPOFFER of 172.22.216.172 from 172.22.216.251
Jan 18 13:20:50 snowden dhclient[669]: DHCPOFFER of 172.22.216.172 from 172.22.216.251
Jan 18 13:20:50 snowden dhclient[669]: DHCPACK of 172.22.216.172 from 172.22.216.251
Jan 18 13:20:50 snowden sh[657]: DHCPACK of 172.22.216.172 from 172.22.216.251
Jan 18 13:20:52 snowden systemd[1]: Mounted /mnt/ISO-Dev.
Jan 18 13:20:52 snowden systemd[1]: Mounted /mnt/ISO.
EN

回答 1

Server Fault用户

发布于 2019-01-22 04:03:06

正如在系统D:在网络真正启动后启动服务(为了WoL目的)中描述的那样,由于一些不可思议的原因,我不会假装理解,系统目标network-online (和其他合理的目标)在我们获得DHCP地址之前就已经到达了。(这似乎是错的)。

我的猜测是,这就是fstabs _netdev试图过早上马的原因。

相反,我已经完全删除了/etc/fstab中的行,现在完成了:

代码语言:javascript
复制
systemctl enable systemd-networkd.service systemd-networkd-wait-online.service

并创建了/etc/systemd/system/home-peter-pmorch.mount

代码语言:javascript
复制
[Unit]
Description=Mount pmorch WebDAV Service
After=systemd-networkd-wait-online.service
Wants=systemd-networkd-wait-online.service

[Mount]
What=https://example.com/remote.php/webdav/
Where=/home/peter/pmorch
Options=uid=peter,gid=peter,file_mode=0664,dir_mode=2775,grpid
Type=davfs
TimeoutSec=15

[Install]
WantedBy=multi-user.target

现在它在启动时被挂载。在网络问题发生后,我不能再做mount -a了,但是必须

代码语言:javascript
复制
sudo systemctl start home-peter-pmorch.mount

但现在至少起作用了。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/949715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档