Рейтинг:1

Как правильно исправить/предотвратить сбой модулей Systemd при привязке ни к одному локальному IP-узлу/порту при запуске системы?

флаг vn

Допустим, у вас есть новая и современная система Ubuntu (скажем, сервер 20.04 LTS), установленная на реальном оборудовании, и вам необходимо развернуть одну или несколько сетевых служб, таких как:

  • Nginx
  • MySQL
  • PostgreSQL

По моему опыту, если вы настроите службу для привязки к чему-либо, кроме IPv4 0.0.0.0 или IPv6 [::], или к локальному/петлевому интерфейсу, эта служба, скорее всего, выйдет из строя и не восстановится после перезагрузки системы.

Например, если вы привязываетесь к любому из локальных, частных, общедоступных хостов:

192.168.22.30 или же 2601:171с:д401:120а::1001 или же fde8:b0ab:dd91:1010::feeb

вы успешно запустите и активируете их во время этого сеанса, но, скорее всего, произойдет сбой при перезагрузке системы.

Почему? Потому что кажется, что системные блоки, поставляемые с Ubuntu:

  1. Не ждите, пока заработают сетевые интерфейсы или система действительно будет подключена к сети.
  2. Даже после инициализации Ethernet может потребоваться несколько секунд, чтобы IP-адреса (статически настроенные или нет) были готовы к привязке.
  3. Когда такая служба выходит из строя, стандартные устройства Ubuntu не настроены на перезапуск и повторную попытку запуска службы через несколько секунд.

Поэтому мое текущее решение состоит в том, чтобы изменить эти файлы модулей, чтобы добавить сильную зависимость от работающей сети и системы, находящейся в сети, а также добавить 5-секундный повтор/перезапуск при сбое запуска.

Но что такое правильный способ исправить это?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.