Я использую два виртуальных сервера Ubuntu (последний долгосрочный), и оба имеют одинаковую конфигурацию, и на них запущены службы Squid и компьютер corosync. У меня два узла Squid01
и Squid02
с одним виртуальным IP.
Проблема: когда я запускаю оба сервера Squid02
обычно это тот, кто выполняет всю работу, запуская прокси-службу Squid, но Squid01
прокси-сервис автоматически отключается и становится неактивным, поэтому я закрываю Squid02
сервер и переключение между узлами сервера происходит, но Squid02
прокси-сервис по-прежнему неактивен, и вам придется запускать его вручную.
Не видит остановленную службу
Мне нужно добиться этого, когда происходит переключение, неактивная служба становится активной ИЛИ обе службы работают все время.
я использовал этот пример создания кластера
Но только одно отличие в том, что у меня нет Squid от apt-get
, но я создал его вручную с помощью config
[Unit]
Description=Squid Web Proxy.
[Service]
Type=simple
PIDFile=/usr/local/squid/var/run/squid.pid
ExecStart=/usr/local/squid/sbin/squid
[Install]
WantedBy=multi-user.target
И я пропустил часть брандмауэра.
Исправлена эта проблема путем редактирования служебного файла следующим образом:
[Unit]
Description=Squid Proxy.
[Service]
Type=simple
PIDFile=/usr/local/squid/var/run/squid.pid
ExecStartPre=/usr/local/squid/sbin/squid –z
ExecStart=/usr/local/squid/sbin/squid
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
[Install]
WantedBy=multi-user.target
И обновление Pacemaker до последней версии, в которой исправлена ошибка.
Это решение использовалось в Ubuntu Linux. В настоящее время я использую CentOS с последними версиями Squid и Pacemaker, поэтому этих проблем больше нет.