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/

Другие вопросы по тегам