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

Развертывание кластера LVS-DR

2024-07-08

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

LVS-DR (Виртуальный сервер Linux — прямая маршрутизация) — это режим работы виртуального сервера Linux, который часто используется для реализации кластеров балансировки нагрузки.
Как работает LVS-DR:
Директор-сервер (балансировщик нагрузки) служит входом доступа к кластеру, но не шлюзом. Чтобы реагировать на доступ ко всему кластеру, как серверу-директору, так и реальному серверу (реальному серверу) необходимо настроить VIP (виртуальный IP-адрес), и они должны находиться в одной сети. Данные возвращаются. клиенту не нужно проходить через директорный сервер. Клиент отправляет запрос целевому VIP. После того, как балансировщик нагрузки получает его, он выбирает реальный сервер серверной части в соответствии с алгоритмом балансировки нагрузки. Он не модифицирует и не инкапсулирует IP-пакет, а меняет MAC-адрес данных. кадр на MAC-адрес реального сервера серверной части, а затем отправить его по локальной сети. Внутренний реальный сервер получает этот кадр, декапсулирует его и обнаруживает, что целевой IP-адрес соответствует локальному компьютеру (VIP привязан заранее), поэтому он обрабатывает сообщение, затем повторно инкапсулирует сообщение и передает ответное сообщение на физическая сетевая карта через интерфейс lo. Затем оно отправляется, и клиент получит ответное сообщение, и клиент будет думать, что он получил нормальную услугу, и не будет знать, какой сервер ее обработал. Если он пересекает сегмент сети, пакет возвращается пользователю через Интернет через маршрутизатор.


Особенности LVS-DR включают в себя:
1. Сервер Директора и Реальный Сервер должны находиться в одной физической сети.
2.Реальный сервер может использовать частные адреса или адреса общедоступной сети. Если вы используете общедоступный сетевой адрес, вы можете получить прямой доступ к RIP через Интернет.
3. Сервер-директор служит входом доступа в кластер, но не является шлюзом.
4. Все сообщения запроса проходят через сервер директора, но ответные сообщения не могут пройти через сервер директора.
5. Шлюзу Реального Сервера не разрешено указывать на IP-адрес Директорного Сервера, то есть пакеты данных, отправленные Реальным Сервером, не могут проходить через Директорный Сервер.
6. Настройте IP-адрес VIP на интерфейсе lo на реальном сервере.


Проблемы и решения ARP в LVS-DR:
В кластере балансировки нагрузки LVS-DR балансировщик нагрузки и сервер узла настроены с одним и тем же VIP-адресом, что приведет к нарушению связи ARP. Когда широковещательная рассылка ARP отправляется в кластер, ее получают и балансировщик нагрузки, и сервер узла. Чтобы решить эту проблему:
Управляйте сервером узла так, чтобы он не отвечал на запросы ARP для VIP. Вы можете использовать виртуальный интерфейс lo:0 для передачи VIP-адреса и установить параметр ядра arp_ignore=1, чтобы система отвечала только на запросы ARP, IP-адрес назначения которых является локальным IP-адресом.
Когда реальный сервер возвращает сообщение (исходный IP-адрес VIP) и пересылает его через маршрутизатор, Linux по умолчанию использует исходный IP-адрес IP-пакета (т. е. VIP) в качестве исходного IP-адреса в пакете запроса ARP вместо использование IP-адреса отправляющего интерфейса. Это может привести к тому, что маршрутизатор обновит записи ARP, что сделает VIP-адрес директора недействительным. Решение состоит в том, чтобы обработать сервер узла и установить параметр ядра arp_announce=2, чтобы система не использовала адрес источника IP-пакета для установки адреса источника запроса ARP, а выбирала IP-адрес отправляющего интерфейса.