CentOS 7 boot too fast и httpd

На един от сървърите забелязох, че след рестартиране не тръгва нито httpd, нито postfix.

И какво се оказа, че след като се изключи NetworkManager и се превключи на network. Systemd не следи дали мрежата е налична вече( IP адресите са вдигнати)  и си включва и другите услуги независимо дали IP адресите „вдигнати“.

Накратко за решението. Ще редактираме скриптовете, които стартират тези услуги.

  1. # cp /usr/lib/systemd/system/httpd.service /etc/systemd/system/ – копираме услугата, която ще редактираме.
  2. #  nano /etc/systemd/system/httpd.service – редактираме файла
    Преди редакцията излежда така (Разглеждаме само частта [Unit]:
    [Unit]
    Description=The Apache HTTP Server
    After=network.target remote-fs.target nss-lookup.target
    Documentation=man:httpd(8)
    Documentation=man:apachectl(8)След редакцията изглежда така:

    [Unit]
    Description=The Apache HTTP Server
    After=network.target remote-fs.target nss-lookup.target network-online.target
    Documentation=man:httpd(8)
    Documentation=man:apachectl(8)
    Requires=network-online.target

    Добавени са 2 неща. Първо след nss-lookup.target е добавено network-online.target и Requires=network-online.target. Първото казва, че httpd да се стартира след като мрежата е налична,  а второто казва, че network-online.target е задължително.

  3. След като сме направили редакцията е необходимо да заредим тези конфигурации.
    За целта е необходимо да изпълним: #systemctl daemon-reload
  4. Done!
  5. В някои момент ще превключа към systemd-networkd

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *