У меня есть два сервера, один из которых действует как резервный, а другой активный. В режиме ожидания pgpool постоянно проверяет, работает ли postgres на другом сервере. Я пытаюсь смоделировать ситуацию, когда запрос pgpool на активный сервер истекает, и пытается использовать для этого iptables DROP.iptables DROP не отбрасывает пакеты
В соответствии с тем, что я прочитал, опция DROP тихо отбрасывает пакеты без источника, чтобы узнать об этом, и требуется много времени для отказа (для источника знать). Я использовал ниже запись в IPTables активного сервера
iptables -A INPUT -p tcp -s <standby server ip> -m state --state NEW,ESTABLISHED --dport 5432 -j DROP
Делая это, я мог имитировать тайм-аут, но раз слишком рано (даже не второй).
Может ли кто-нибудь объяснить, что это значит, «долгое время терпеть неудачу» во всех ссылках? и есть ли какой-либо вариант, который я могу использовать для увеличения времени, затраченного на провал.
Предположим, что клиент ipv4 linux проверяет '/ proc/sys/net/ipv4/tcp_syn_retries'. Типичное значение - '5', дающее тайм-аут' ~ 60s'. –
Спасибо, Дэниэл. Я проверил значения, и он там, как вы упомянули. Однако я обнаружил, что DROP на самом деле работает, но pgpool не соблюдает тайм-аут – spathirana