Глава 8. Построение LVS кластера на базе Red Hat Enterprise Linux AS

Кластер Red Hat Enterprise Linux AS LVS состоит из двух основных групп серверов: LVS маршрутизаторы и реальные сервера. Для исключения единственного уязвимого звена, каждая группа должна состоять из, минимум, двух систем.

Группа LVS маршрутизаторов должна состоять из двух одинаковых или очень похожих систем, работающих под управлением Red Hat Enterprise Linux AS. Один будет выполнять роль активного LVS маршрутизатора, тогда как другой находится в состоянии полной готовности, поэтому он должен иметь как можно более близкие характеристики.

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

LVS кластер, использующий NAT

Схема, использующая NAT, позволяет вам легко использовать существующее оборудование, но является неэффективной при большой нагрузке, так как и входящие и исходящие пакеты обрабатываются LVS маршрутизатором.

Структура сети

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

Аппаратное обеспечение

Использование NAT для маршрутизации даёт вам максимальную гибкость с точки зрения выбора оборудования, работающего в кластере, так как реальные сервера не обязательно должны быть Linux-системами. В NAT-кластере, каждый сервер должен иметь одну сетевую плату для связи с LVS маршрутизатором В LVS-маршрутизаторах необходимы две сетевые платы для перенаправления пакетов между двумя сетями. Так как в такой схеме образуется узкое место в виде LVS маршрутизатора, рекомендуется использовать гигабитные Ethernet адаптеры для увеличения пропускной способности маршрутизатора. Если вы решили использовать гигабитный Ethernet на LVS маршрутизаторах, все коммутаторы, соединяющие реальные сервера с LVS маршрутизаторами должны иметь как минимум два гигабитных Ethernet порта, чтобы кластер выдерживал большую нагрузку.

Программное обеспечение.

Так как в схеме с NAT для некоторых конфигураций требуется использование iptables или ipchains, вам придется выполнить дополнительные работы по настройке программного обеспечения за рамками Piranha Configuration Tool. В частности, FTP службы и использование меток межсетевых экранов требуют дополнительной ручной конфигурации LVS маршрутизаторов для правильного перенаправления пакетов.

Сборка кластера

Определив какой из упомянутых выше способов маршрутизирования использовать, вы должны связать оборудование LVS кластера в сеть.

ВажноВажно
 

Сетевые адаптеры на LVS маршрутизаторах должны быть подключены к сетям одинаково. Например, если eth0 подключен к внешней сети и eth1 подключен к внутренней сети, те же устройства на резервном маршрутизаторе должны быть включены в те же сети.

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

После физического соединения оборудования кластера, настройте сетевые интерфейсы на первичном и резервном LVS маршрутизаторах. Это можно сделать с помощью графического приложения, например redhat-config-network или отредактировав вручную сетевые сценарии. За дополнительной информацией о добавлении устройств с помощью redhat-config-network, обратитесь к главе Настройка сети в Официальном руководстве по настройке Red Hat Linux. За дополнительной информацией о редактировании сетевых сценариев вручную, обратитесь к главе Сетевые сценарии в Официальном справочном руководстве Red Hat Linux. В этой главе приведены примеры настройки сетевых интерфейсов, выполняемой вручную или с помощью Piranha Configuration Tool.

Общие замечания по настройке сети LVS

Настройте реальные IP адреса для внешней и внутренней сетей на LVS маршрутизаторах перед тем как настраивать кластер с помощью Piranha. В разделах, посвященным разным схемам, приводятся примеры сетевых адресов, но вы должны использовать действительные сетевые адреса. Ниже приводится список полезных команд для запуска сетевых интерфейсов и проверки их состояния.

Запуск реальных сетевых интерфейсов

Для запуска ("поднятия") сетевых интерфейсов выполните следующие команды от имени root, заменяя N номером, соответствующим интерфейсу (eth0 и eth1):

/sbin/ifup ethN

ПредупреждениеПредупреждение
 

Не применяйте команду ifup для поднятия плавающих IP адресов, настроенных с помощью Piranha Configuration Tool (eth0:1 или eth1:1). Используйте для этого команду service, запускающую pulse (обратитесь к разделу Запуск кластера в Главе 9 за дополнительной информацией).

Чтобы остановить ("опустить") интерфейс, введите:

/sbin/ifdown ethN

В этой строке также замените N номером, соответствующему останавливаемому интерфейсу.

Проверка состояния сетевых интерфейсов

Если вам необходимо определить какие интерфейсы работают в данный момент, введите:

/sbin/ifconfig

Чтобы просмотреть таблицу маршрутизации, выполните следующую команду:

/sbin/route