HAProxy - очистить флешку из командной строки
Я использую HAProxy для автоматического восстановления после отказа для сервера LDAP, но я не хочу автоматического восстановления после отказа.
Сценарий состоит в том, что у меня есть 2 узла, s1 и s2. Я хочу, чтобы весь трафик шел на s1, если он не выходит из строя, когда он терпит неудачу, я хочу, чтобы весь трафик шел на s2. Когда s1 снова станет работоспособным, я не хочу автоматически направлять трафик обратно на него, потому что некоторые записи будут созданы на s2, когда он был живым. Я хочу убедиться, что все данные были синхронизированы, прежде чем я снова сделаю s1 активным.
Я настраиваю HAProxy так:
backend bk_app
stick-table type ip size 1 nopurge
stick on dst
option httpchk
server s1 10.37.226.118:80 check
server s2 10.37.226.113:80 check backup
Кажется, это работает, соединения продолжают переходить на s2 даже после того, как s1 снова исправен.
У меня вопрос - как очистить stick-table из командной строки, другими словами, как перенаправить трафик обратно на s1?
Я видел несколько советов, которые говорят, что если я заставлю s2 потерпеть неудачу, HAProxy перенаправит трафик обратно на s1. Кажется, это работает, но когда s2 снова становится работоспособным, HAProxy снова направляет трафик обратно на s2, другими словами, таблица приставок все еще действует.
Я видел несколько советов, которые говорят, что мне просто нужно перезапустить HAProxy, который отлично работает, но это похоже на ядерный вариант! Есть ли какая-то опция командной строки для очистки таблицы?
1 ответ
Вы можете использовать команды сокета, чтобы очистить таблицу, например, echo "очистить таблицу Abuse key 192.168.64.12" | socat unix-connect:/var/run/haproxy.stat stdio
Документация находится здесь: http://haproxy.tech-notes.net/9-2-unix-socket-commands/