50% запросов, переставших работать к одному хосту

Я встретился со странной ошибкой и закончился способы диагностировать ее.

Я настроил 3 виртуальных машины: LVS, RS1 и RS2. RS1 и RS2 выполняют простой php веб-сайт. RS2 является точной копией RS1 только с измененным IP-адресом. Все машины подключены к локальной сети (1.1.1.0/24). Вот мой ipvsadm конфигурация:

echo "1" > /proc/sys/net/ipv4/ip_forward
echo "0" > /proc/sys/net/ipv4/conf/all/send_redirects
echo "0" > /proc/sys/net/ipv4/conf/default/send_redirects
echo "0" > /proc/sys/net/ipv4/conf/eth0/send_redirects

LVS_IP=192.168.1.180
RS1_IP=1.1.1.2
RS2_IP=1.1.1.3
ipvsadm -A -t $LVS_IP:www -s rr         
ipvsadm -a -t $RS1_IP:www -r $RS1_IP:www -m -w 1
ipvsadm -a -t $RS2_IP:www -r $RS2_IP:www -m -w 2

Выполнение links 1.1.1.2 и links 1.1.1.3 отображает тот же положительный результат - содержание моей веб-страницы.

Однако выполнение links 192.168.1.180 (Внешний IP LVS), дает мне надлежащие результаты..., но только каждое второе время (50% запросов). Кажется этим когда циклические алгоритмы LVS запрос к RS2, нет только никакого ответа. (links говорит "Устанавливающую связь...", и затем ничего не происходит).

Как я могу делать попытку отладки такой проблемы?

0
задан 14 August 2015 в 09:09
1 ответ

Вы отлаживаете это с помощью своего доверенного tcpdump. Начните с перехвата пакетов на реалсервере, у которого есть проблема, и если сразу видно, что ничего не случилось, сравните его с эквивалентным перехватом на рабочем реалсервере. В какой-то момент они будут выглядеть по-другому, потому что поведение отличается; то, что отличается, укажет вам очень сильно в правильном направлении. Пакеты не доходят до реалсервера? Проблема с брандмауэром на балансировщике нагрузки. Пакеты не выходят из рельсервера? Может быть проблемы с исходящим брандмауэром, или веб-сервер рельсервера не очень хорошо играет с другими.

1
ответ дан 4 December 2019 в 16:56

Теги

Похожие вопросы