一、问题描述
阿里云服务器挂载文件存储NAS很慢,服务器启动后2-3分钟左右才能完成挂载
二、问题排查
1、通过vnc登录服务器查看,发现tty的console一直在显示一个mount的job在执行
2、通过systemd-analyze blame查看每个单元的启动时间
systemd-analyze blame
3、确认问题原因为系统中systemd-networkd-wait-online.service 服务启动夯住时间比较久导致的
四、解决
在/lib/systemd/system/systemd-networkd-wait-online.service 中,加一个--ignore=eth0参数就可以了
vim /lib/systemd/system/systemd-networkd-wait-online.service
ExecStart=/lib/systemd/systemd-networkd-wait-onlinea --ignore=eth0
五、备注
systemd-networkd-wait-online.service, systemd-networkd-wait-online — 等待网络连线成功
1、对应位置
/usr/lib/systemd/systemd-networkd-wait-online
2、描述
systemd-networkd-wait-online 是一个 一次性的系统服务,用于等待网络连线成功(可以对外通信)。 默认情况下,它会一直等待到 所有被其监视且由 systemd-networkd.service 管理的网络接口连线成功或者超时失败,并且至少有一个连接 可以对外通信。
3、选项
能够识别的命令行选项如下:
-i, --interface= 需要监视的网络接口。 如果系统上存在多个网络接口, 但仅需监视其中个别接口时, 可以使用此选项。 可以多次使用此选项以监视多个网络接口。 一旦使用了此选项,所有未指定的接口都将被忽略(不监视)。 --ignore= 忽略(不监视)的网络接口。 默认情况下,只有本地回环(loopback)会被忽略。 可以多次使用此选项 以忽略多个网络接口。 --timeout= 如果超过此处指定的时长, 网络依然没有连线成功(可以对外通信),那么此服务将失败。 设为 0 表示永不超时(无限等待)。默认值是 120 秒。