Обмен технологиями

Режим DR в lvs и разделенный мозг в Keepalive

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Режим ДР:

Три режима трансляции lvs nat адресов

Режим прямого маршрута DR

туннельный режим

Планировщик — самый важный во всем кластере LVS. В режиме NAT он отвечает за прием запросов, пересылку трафика по алгоритму балансировки нагрузки и отправку ответов клиенту.

Режим DR: планировщик по-прежнему отвечает за прием запросов, а также пересылает трафик на RS в соответствии с алгоритмом балансировки нагрузки, а RS напрямую отвечает клиенту.

Прямая маршрутизация Прямая маршрутизация — это режим пересылки уровня 2. Уровень 2 пересылает кадры данных. Переадресация на основе Mac-адреса источника и Mac-адреса назначения.

IP-адрес источника и IP-адрес назначения пакета данных не будут изменены, а пакет данных будет пересылаться на основе MAC-адреса.

В режиме DR LVS также поддерживает виртуальный IP-адрес, и все запросы отправляются на этот VIP. Поскольку он пересылается через второй уровень, когда запрос клиента достигает планировщика, RS выбирается в соответствии с алгоритмом балансировки нагрузки, и VIP изменяется. Mac-адрес сервера становится MAC-адресом RS. После того, как RS обработает запрос, он может напрямую отправить ответ клиенту на основе исходного MAC-адреса клиента в сообщении без необходимости использования планировщика.

1. Планировщик настроен с помощью VIP, а также на RS настроен VIP-адрес.

Конфликт VIP-адресов. Планировщик и RS находятся в одном сегменте сети. Связь ARP хаотична, поскольку она транслируется на всю локальную сеть, и все устройства ее получили.

Как заблокировать ответ lo на обратную связь, чтобы отвечал только физический IP-адрес этой машины.

Измените параметры ядра:

arp_igrone=1

На запрос ответит только физический IP-адрес системы. lo не будет отвечать на запросы ARP.

2. Когда сообщение возвращается, VIP-адрес все еще существует. Как клиент может получить ответ?

arp_announce=2

Система не использует адрес источника IP-пакета для ответа на запрос ARP, а напрямую отправляет IP-адрес физического интерфейса.

Конфигурация узла сервера:

Реализация режима DR:

nginx1 RS1 192.168.233.100

nginx2 RS2 192.168.233.110

вип 192.168.233.200

Планировщик test1 192.168.233.10

клиент test2 192.168.233.20

route add -host 192.168.233.100 dev lo:0

Установите IP-адрес 192.168.233.100.

Отключите брандмауэр и механизм защиты планировщика (test1), клиента (test2), rs1 (nginx1), rs2 (nginx2)

  1. [root@test1 ~]# systemctl stop firewalld
  2. [root@test1 ~]# setenforce 0

Планировщик загружает ядро ​​и устанавливает инструмент ipvsadm.

  1. [root@test1 ~]# modprobe ip_vs
  2. [root@test1 ~]# yum -y install ipvsadm*

Создать vip-адрес

  1. [root@test1 ~]# cd /etc/sysconfig/network-scripts/
  2. [root@test1 network-scripts]# vim ifcfg-ens33:0
  3. DEVICE=ens33:0
  4. ONBOOT=YES
  5. IPADDR=192.168.233.200
  6. NETMASK=255.255.255.255
  7. [root@test1 network-scripts]# ifup ens33:0

Измените параметры ответа планировщика

  1. [root@test1 network-scripts]# vim /etc/sysctl.conf
  2. net.ipv4.ip_forward=0
  3. #关闭数据包转发功能
  4. net.ipv4.conf.all.send_redirects=0
  5. #禁止系统发送icmp重定向的消息
  6. net.ipv4.conf.default.send_redirects=0
  7. #禁止默认网络接口发送ICMP重定向的消息
  8. net.ipv4.conf.ens33.send_redirects=0
  9. #禁止ens33设备,禁止发送ICMP重定向消息

Укажите VIP и алгоритмы балансировки нагрузки

  1. [root@test1 opt]# ipvsadm -C
  2. [root@test1 opt]# ipvsadm -A -t 192.168.233.200:80 -s rr
  3. #指定vip和负载均衡的算法

Добавить режим реального сервера и резервное копирование

  1. [root@test1 opt]# ipvsadm -a -t 192.168.233.200:80 -r 192.168.233.100:80 -g
  2. [root@test1 opt]# ipvsadm -a -t 192.168.233.200:80 -r 192.168.233.110:80 -g
  3. [root@test1 opt]# ipvsadm-save /etc/sysconfig/ipvsadm
  4. [root@test1 opt]# systemctl restart ipvsadm

Настройте 2 реальных сервера (nginx1 nginx2)   

Установите страницы доступа двух серверов на nginx1 и nginx2.

  1. [root@nginx1 ~]# vim /usr/local/nginx/html/index.html
  2. nginx1
  3. [root@nginx1 ~]# systemctl restart nginx
  4. [root@nginx2 ~]# vim /usr/local/nginx/html/index.html
  5. nginx2
  6. [root@nginx2 ~]# systemctl restart nginx

Посетите и проверьте самиСоздайте интерфейс обратной связи для адресов обратной связи двух серверов.

  1. [root@nginx1 ~]# cd /etc/sysconfig/network-scripts/
  2. [root@nginx1 network-scripts]# cp ifcfg-lo ifcfg-lo:0
  3. [root@nginx1 network-scripts]# vim ifcfg-lo:0
  4. DEVICE=lo:0
  5. IPADDR=192.168.233.200
  6. NETMASK=255.255.255.255
  7. ONBOOT=yes
  8. [root@nginx1 network-scripts]# ifup lo:0

Установите IP-адрес 192.168.233.100 и добавьте его в интерфейс обратной связи в качестве VIP для lvs. Он пересылается на RS через режим маршрутизации, что позволяет VIP идентифицировать реальный сервер.

[root@nginx1 network-scripts]# route add -host 192.168.233.200 dev lo:0

Настройка ответа ядра реальных серверов

  1. [root@nginx1 ~]# vim /etc/sysctl.conf
  2. net.ipv4.conf.lo.arp_ignore = 1
  3. #设置回环接口忽略来自任何接口的ARP请求
  4. net.ipv4.conf.lo.arp_announce = 2
  5. #设置回环地址仅仅公告本地的ip地址,但是不响应ARP请求
  6. net.ipv4.conf.all.arp_ignore = 1
  7. #设置所有接口忽略来自任何接口的ARP请求
  8. net.ipv4.conf.all.arp_announce = 2
  9. #设置所有接口仅仅公告本地的ip地址,但是不响应ARP请求

Результаты теста

Три режима работы lvs:

НАТ ДОКТОР ТАН

Преимущества: производительность трансляции адресов является лучшей в глобальной сети, и она может осуществлять передачу пакетов данных на большие расстояния.

Настройка простого выделенного канала

Недостатки: Узкое место в производительности не поддерживает межсетевые сегменты и требует открытия VPN (стоит денег).

Требования к RS: Unlimited должен запрещать ответы ARP на нефизических интерфейсах и поддерживать туннельный режим.

Количество РС 10-20 шт. 100 шт. 100 шт.

Вопросы на собеседовании:

Кратко опишите три режима лвс и их различия

Вопросы на собеседовании:

Как решить проблему разделения мозга в Keepalive?

Архитектура высокой доступности в кластере lvs предназначена только для обеспечения высокой доступности планировщика.

На базе vrrp реализованы основной и резервный планировщики.

Высокодоступная архитектура высокой доступности

Основной планировщик и резервный планировщик (несколько)

Когда основной планировщик работает нормально, резервный полностью находится в резервном состоянии (будет определено позднее). Он не участвует в работе кластера. Только при выходе из строя основного планировщика работу основного планировщика возьмет на себя резервный. После восстановления работы основного планировщика основной продолжит оставаться входом в кластер. и резервный продолжит находиться в резервном состоянии (в зависимости от приоритета).

Keeplive реализует решение высокой доступности LVS на основе протокола vrrp.

1. Адрес многоадресной рассылки:

Связь 224.0.0.18 осуществляется на основе адреса многоадресной рассылки. Первичное и вторичное устройства отправляют сообщения, чтобы определить, жив ли другой абонент.

2. Определите позиции первичного и вторичного в зависимости от приоритета.

3. Аварийное переключение: если основная машина зависает, резервная машина продолжит работу. Когда главная машина восстановится, резервная машина продолжит ждать.

4. Переключение между первичным и вторичным — это переключение VIP-адреса.

Keepalive появился специально для LVS, но не является эксклюзивным для LVS.