当我启动我的 Debian 不稳定 Linux 机器时,当它尝试从另一台未开启的机器挂载 NFS 分区时,进程会延迟。启动期间显示的消息是:
[*** ] A start job is running for /media/photos [1 of 4] [35s/1m 45s]
左边的星星动了起来,它循环遍历我在中定义的四个挂载点/etc/fstab
:
mnemosyne:/mnt/volume1/videos /media/videos nfs defaults 0 0
mnemosyne:/mnt/volume1/books /media/books nfs defaults 0 0
mnemosyne:/mnt/volume1/photos /media/photos nfs defaults 0 0
mnemosyne:/mnt/volume1/downloads /media/downloads nfs defaults 0 0
长期以来,此设置一直有效,没有延迟。如果具有挂载点的机器未开启,它会立即超时并继续正常的系统启动。
答案1
我发现这个 Debian 错误报告关于提出与@Henrik 相同解决方案的相关问题:
不幸的是,我们无法轻易地让 NetworkManager.service 拉入 network.target,因为凭借我们目前对 rcS 类型服务的支持,这会创建一个依赖循环。
我建议,如果您正在使用 NetworkManager,则切换 NFS 挂载以使用 comment=systemd.automount 来延迟实际挂载请求,直到它被访问。
我删除了挂载点,/etc/fstab
并按如下方式配置了自动挂载。
自动主机管理工具
/mnt/myserver /etc/auto.myserver --timeout=180
/etc/auto.myserver
home/jon -fstype=nfs,rw,suid,soft,intr,nouser,relatime 192.168.2.45:/mnt/volume1/home/jon
videos -fstype=nfs,rw,suid,soft,intr,nouser,relatime 192.168.2.45:/mnt/volume1/videos
books -fstype=nfs,rw,suid,soft,intr,nouser,relatime 192.168.2.45:/mnt/volume1/books
photos -fstype=nfs,rw,suid,soft,intr,nouser,relatime 192.168.2.45:/mnt/volume1/photos
downloads -fstype=nfs,rw,suid,soft,intr,nouser,relatime 192.168.2.45:/mnt/volume1/downloads
music -fstype=nfs,rw,suid,soft,intr,nouser,relatime 192.168.2.45:/mnt/volume1/music
games -fstype=nfs,rw,suid,soft,intr,nouser,relatime 192.168.2.45:/mnt/volume1/games
```
NFS 挂载现已挂载当它们被访问时。这也意味着,与使用 不同/etc/fstab
,本地文件夹(例如/mnt/myserver/music
)在被访问之前并不存在。
如果有人正在查看该/home/jon
挂载,并且想知道我在启动时没有主文件夹的情况下如何生存,那么值得一提的是,这实际上不是我的主文件夹。