@watsonstudio

Как правильно настроить LVS (IPVSADM)?

Всем привет.
Пытаюсь разобраться с балансировкой нагрузки с помощью LVS.

Есть исходные данные:
- 4 сервера
- Каждый сервер имеет внешний адрес и внутренний (серверы объединены в локальную сеть)

Сервер 1 (директор): внешний IP: 179.60.167.1, внутренний IP: 192.168.0.1
Сервер 2: внешний IP: 179.60.167.2, внутренний IP: 192.168.0.2
Сервер 3: внешний IP: 179.60.167.3, внутренний IP: 192.168.0.3
Сервер 4 (для тестов): внешний IP: 179.60.167.4, внутренний IP: 192.168.0.4

Мне необходимо настроить LVS Direct Routing.

VIP: 192.168.0.100 (виртуальный IP)

Алгоритм настройки на директоре:
ipvsadm -A -t 192.168.0.100:80 -s rr
ipvsadm -a -t 192.168.0.100:80 -r 192.168.0.2:80 -w 1
ipvsadm -a -t 192.168.0.100:80 -r 192.168.0.3:80 -w 1
ifconfig ens224:0 192.168.0.100 netmask 255.255.0.0 broadcast 192.168.255.255

Алгоритм на фронтэндах:
iptables -t nat -A PREROUTING -d 192.168.0.100 -j REDIRECT (не понимаю смысла, в некоторых мануалах нет этого шага)

При такой настройке все отлично работает, но балансировщик доступен только внутри локальной сети по виртуальному адресу, мне же нужно настроить так, что бы балансировщик принимал запросы с 179.60.167.1, перекидывал их в локальную сеть, в которой уже фронты отдавали бы результат клиентам обратно.

Так же есть подозрение, что то чего я хочу, это уже не Direct Routing, т.к. у нас разные сети. Возможно, если я прав, то будет приемлема схема, когда виртуальный адрес будет в сети 179.*.*.*, получается для этого случая мне необходимо у хостера запросить дополнительный IP?

С настройкой сети и LVS сталкиваюсь впервые, прошу помощи.

p.s. Все IP вымышленные, все совпадения с реальными IP считать случайными. :)
  • Вопрос задан
  • 1200 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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