nginx.service start operation timed out. Terminating.

Gena Makhomed gmm на csdoc.com
Ср Авг 14 14:17:25 UTC 2019


Здравствуйте, All!

Столкнулся с проблемой

nginx.service start operation timed out. Terminating.

Конфигурация:

есть два физических сервера px62-nvme
https://www.hetzner.com/dedicated-rootserver/px62-nvme
на каждом из них установлена операционная система Linux,
KVM и ZFS.

Есть виртуальная машина vm, для которой получен Failover IP
https://wiki.hetzner.de/index.php/Failover/en

На первом физическом сервере создан виртуальный диск размером 1 терабайт
для этой виртуальной машины zfs create -s -b 4K -V 1T tank/kvm-vm

Внутри виртуальной машины установлена операционная система Linux,
весь необходимый софт, в том числе и nginx.

Failover IP привязан к первому физическому серверу и проброшен внутрь 
виртуальной машины, все нормально работает, как и ожидалось.

С помощью утилиты https://github.com/makhomed/autosnap
на первом физическом сервере периодически делаются snapshot`ы
zvol с образом диска виртуальной машины и с помощью утилиты
https://github.com/makhomed/autosync эти snapshot`ы
в постоянном режиме реплицируются на второй физический сервер.

на втором физическом сервере настроена идентичная конфигурация
виртуальной машины и с помощью zfs send и zfs receive из локального 
зеркала создана локальная копия виртуального диска tank/kvm-vm

Failover IP привязан к первому физическому серверу,
поэтому если запустить эту же виртуальную машину на втором
физическом сервере - у нее не будет доступа в интернет.

тем не менее, виртуальная машина нормально стартует и все работает.

кроме nginx.

который падает с такой ошибкой в логах:

Aug 14 16:22:35 vm nginx: nginx: [warn] "ssl_stapling" ignored, host not 
found in OCSP responder "ocsp.int-x3.letsencrypt .org" in the 
certificate "/etc/letsencrypt/live/example.com/fullchain.pem"
Aug 14 16:23:03 vm systemd: nginx.service start operation timed out. 
Terminating.
Aug 14 16:23:03 vm systemd: Failed to start nginx - high performance web 
server.
Aug 14 16:23:03 vm systemd: Unit nginx.service entered failed state.
Aug 14 16:23:03 vm systemd: nginx.service failed.

Подскажите пожалуйста, каким образом можно сконфигурировать nginx, чтобы 
он нормально запускался и работал на втором узле кластера даже в том
случае, когда Failover IP указывает на первый физический сервер и 
виртуальная машина, запускаемая на втором физическом сервере не имеет 
доступа в интернет?

Таким способом, как описано выше я пытаюсь сделать high availability
кластер из двух физических серверов, которые размещены в двух различных
датацентрах - один в Германии, второй в Финляндии. Кластер работает
по схеме active/passive, в случае выхода из строя первого физического
сервера - Failover IP переключается на второй физический сервер.

Порядок переключения на второй узел кластера такой:

1. На втором физическом сервере из локальной копии сделать виртуальный 
диск tank/kvm-vm
2. На втором физическом сервере запустить виртуальную машину
3. Переключить Failover IP таким образом, чтобы он указывал на второй 
физический сервер.

И второй вопрос, если он не является в этом списке рассылки оффтопиком:
Я все правильно делаю, когда таким способом строю high availability 
кластер, или я совершил какие-то ошибки и что-то можно сделать
еще проще, еще лучше и еще надежнее?

Про Proxmox и VMware я читал, но мне сейчас гораздо интереснее сделать
high availability кластер самому, используя только CentOS, KVM, ZFS
и немного скриптов на Python.

-- 
Best regards,
  Gena



Подробная информация о списке рассылки nginx-ru