Задержка при загрузке Ubuntu Server

15.04.2020

Теги: LinuxUbuntuЛокальнаяСетьСервер

Если сервер имеет два или более сетевых интерфейсов, то при загрузке можно столкнуться с зависанием на две-три минуты. При этом выдается сообщение «A start job is running for Wait for Network to be Configured». Например, у меня это случилось при настройке маршрутизатора с двумя сетевыми интерфейсами enp0s3 и enp0s8.

Оказалось, что это служба systemd-networkd-wait-online ждет состояния «онлайн» для интерфейса enp0s8:

$ sudo systemctl status systemd-networkd-wait-online.service
● systemd-networkd-wait-online.service - Wait for Network to be Configured
   Loaded: loaded (/lib/systemd/system/systemd-networkd-wait-online.service; enabled-runtime; vendor preset: enabled)
   Active: failed (Result: exit-code) since Fri 2020-04-24 14:38:46 MSK; 1min 50s ago
     Docs: man:systemd-networkd-wait-online.service(8)
  Process: 495 ExecStart=/lib/systemd/systemd-networkd-wait-online (code=exited, status=1/FAILURE)
 Main PID: 495 (code=exited, status=1/FAILURE)

апр 15 14:36:46 gateway systemd[1]: Starting Wait for Network to be Configured...
апр 15 14:38:46 gateway systemd-networkd-wait-online[495]: Event loop failed: Connection timed out
апр 15 14:38:46 gateway systemd[1]: systemd-networkd-wait-online.service: Main process exited, code=exited, status=1/FAILURE
апр 15 14:38:46 gateway systemd[1]: systemd-networkd-wait-online.service: Failed with result 'exit-code'.
апр 15 14:38:46 gateway systemd[1]: Failed to start Wait for Network to be Configured.

Давайте скажем ей, чтобы ждала состояния «онлайн» только для интерфейса enp0s3:

$ sudo systemctl edit systemd-networkd-wait-online.service

Эта команда создает в каталоге /etc/systemd/system/ новый каталог systemd-networkd-wait-online.service.d, помещает в него пустой файл override.conf и открывает этот файл на редактирование:

[Service]
ExecStart=
ExecStart=/lib/systemd/systemd-networkd-wait-online --interface=enp0s3

Мы отменили прежнюю директиву ExecStart, которая предписывала ждать состояния «онлайн» для всех интерфесов, и добавили вместо нее новую, которая предписывает ждать состояния «онлайн» для интерфейса enp0s3. Теперь сообщаем системе, что мы внесли изменения в конфигурацию службы:

$ sudo systemctl daemon-reload

Вместо указания интерфейсов, для которых надо ждать состояния «онлайн», можно указать, какие интерфейсы игнорировать:

[Service]
ExecStart=
ExecStart=/lib/systemd/systemd-networkd-wait-online --ignore=enp0s8

По идее, есть еще один способ сказать, что не надо ждать состояния «онлайн» для интерфейса enp0s8 — в файле конфигурации Netplan:

network:
    version: 2
    renderer: networkd
    ethernets:
        enp0s3:
            ..........
            optional: no
        enp0s8:
            ..........
            optional: yes

Поиск: Linux • Ubuntu • Локальная сеть • Служба • Онлайн • online • networkd • Интерфейс

Каталог оборудования
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Производители
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Функциональные группы
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.