启动期间的 netplan

启动期间的 netplan

从我目前能找到的所有信息来看,我很困惑为什么有人会在启动过程中想要在服务器等重要机器上使用 netplan 来启动网络。所以我感觉我只是错过了一些在主 wiki 或我能找到的任何其他地方找不到的东西。

我到底怎样才能让 netplan 执行 ifupdown 所做的简单操作,并在尝试安装网络驱动器和执行其他与网络相关的任务之前在启动期间使网络联机?

我有 4 台服务器,都运行 Ubuntu 18.04,但其中一台是全新构建的,其他的都已升级,因此只有一台运行 netplan,其他的似乎仍在使用 ifupdown。三台运行 ifupdown 的服务器运行正常,但新的服务器直到启动后才会启动网络,我没有网络驱动器 (nfs),依赖这些驱动器的 apache 等程序无法启动,因为驱动器丢失了。

我通过在 crontab 中输入命令来解决这个问题,这些命令会等待几秒钟,确保网络正在运行,然后安装驱动器并启动服务。但这是一个可笑的解决方案,因为一切都应该从启动过程开始。

有没有人有办法让 netplan 在启动时初始化网络?

>> 添加更多细节 <<

我的 NFS 安装在所有机器的 /etc/fstab 中,只有这台新机器有问题。网络接口确实联机了,但这是尝试安装后很久的事情,为了使其可靠地安装,我不得不在 crontab 中添加 15 秒延迟。零秒从来没有起作用,5 秒很多时候有效,10 秒大多数时候有效,15 秒每次都有效。

crontab entry
@reboot sleep 15; mount -a

journalctl --no-pager -lu systemd-networkd
-- Logs begin at Mon 2018-05-21 06:11:07 PDT, end at Tue 2018-05-22 04:17:22 PDT. --
May 21 06:11:12 data1 systemd[1]: Starting Network Service...
May 21 06:11:12 data1 systemd-networkd[1170]: Enumeration completed
May 21 06:11:12 data1 systemd[1]: Started Network Service.
May 21 06:11:12 data1 systemd-networkd[1170]: lo: Link is not managed by us
May 21 06:11:12 data1 systemd-networkd[1170]: enp31s0: IPv6 successfully enabled
May 21 06:11:15 data1 systemd-networkd[1170]: enp31s0: Gained carrier
May 21 06:11:16 data1 systemd-networkd[1170]: enp31s0: Gained IPv6LL
May 21 06:11:17 data1 systemd-networkd[1170]: enp31s0: DHCPv4 address 192.168.1.113/24 via 192.168.1.1
May 21 06:11:17 data1 systemd-networkd[1170]: Not connected to system bus, not setting hostname.
May 21 06:11:17 data1 systemd-networkd[1170]: enp31s0: Configured

networkctl
IDX LINK             TYPE               OPERATIONAL SETUP     
  1 lo               loopback           carrier     unmanaged 
  2 enp31s0          ether              routable    configured

答案1

netplan 在启动时启动网络通常不会遇到困难。要调试此问题,请查找以下位置:

  • 输出journalctl --no-pager -lu systemd-networkd——哪些网络接口需要很长时间来配置,为什么?
  • 输出networkctl- 启动后预期的接口是否启动?

要查看特定挂载在启动时失败的原因,您可以查看特定.mount单元的 journalctl 输出。例如,如果您有/mnt/nfs远程挂载点,则可以运行journalctl --no-pager -lu mnt-nfs.mount

有报告称 systemd 存在一个错误,即在网络完全配置之前,它会尝试过早挂载网络文件系统。https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1577575 此错误尚未得到开发人员的确认,但 systemd 中可能存在与排序相关的错误。我认为错误报告将是跟踪进度的最佳位置。

相关内容