VIRTUAL SERVERS

На панели VIRTUAL SERVERS (ВИРТУАЛЬНЫЕ СЕРВЕРА) отображается информация о каждом определенном в данный момент виртуальном сервере. В каждой строке таблицы показано состояние виртуального сервера, имя сервера, виртуальный IP назначенный серверу, маска сети виртуального IP, номер порта, на котором работает служба, используемый протокол, и интерфейс виртуального устройства.

Рисунок 9-5. Панель VIRTUAL SERVERS

Каждый сервер, отображаемый на панели VIRTUAL SERVERS можно настроить на последующих экранах или подразделах.

Для добавления службы нажмите кнопку ADD (ДОБАВИТЬ). Для удаления службы отметьте переключатель рядом с виртуальным сервером и нажмите кнопку DELETE (УДАЛИТЬ).

Для разрешения или запрещения работы виртуального сервера, отметьте его переключатель и нажмите кнопку (DE)ACTIVATE (ДЕ(АКТИВИРОВАТЬ)).

Добавив виртуальный сервер, вы можете настроить его, отметив его и нажав кнопку EDIT(ИЗМЕНИТЬ) для перехода к подразделу VIRTUAL SERVER.

VIRTUAL SERVER (ВИРТУАЛЬНЫЙ СЕРВЕР)

Подраздел VIRTUAL SERVER показанный на Рисунке 9-6 позволяет вам настроить определенный виртуальный сервер. Ссылки на подразделы, относящиеся к определенному виртуальному серверу расположены вверху страницы. Но перед настройками подразделов, заполните эту страницу и нажмите кнопку ACCEPT (ПРИНЯТЬ).

Рисунок 9-6. Подраздел VIRTUAL SERVERS

Name (Имя)

Введите осмысленное имя, определяющее виртуальный сервер. Это имя не является именем компьютера, поэтому сделайте его описательным и легко понятным. Вы можете также указать протокол, используемый виртуальным сервером, например HTTP.

Application port (Порт приложения)

Введите номер порта, на котором служба будет принимать входящие подключения. В примере со службой HTTP, используется порт 80.

Protocol (Протокол)

Выберите в выпадающем списке UDP или TCP. Web сервера обычно используют TCP протокол, также он выбирается и для приведенного примера.

Virtual IP Address (Виртуальный IP адрес)

Введите в это поле плавающий IP адрес виртуального сервера.

Virtual IP Network Mask (Маска сети виртуального IP)

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

Firewall Mark (Метки межсетевого экрана)

Не вводите в это поле целочисленное значение метки, если только вы не группируете многопортовые протоколы или многопортовые виртуальные сервера различных, но связанных протоколов. В этом примере, упомянутый выше виртуальный сервер имеет метку межсетевого экрана 80, так как выполняется группирование HTTP (на порту 80) и HTTPS (на порту 443) соединений, с меткой 80. В комбинации с сохранением соединения, этот алгоритм обеспечивает перенаправление подключений пользователей и к небезопасным, и к безопасным web-страницам на один реальный сервер, сохраняя состояние.

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

Определив метку межсетевого экрана в этом поле, вы укажете IPVS распознавать пакеты, несущие такую отметку, но для назначения таких отметок вы должны выполнить дополнительные настройки за рамками Piranha. За дополнительной информацией о настройке многопортовых служб обратитесь к разделу Службы, использующие несколько портов и LVS кластеры в главе 8 , за инструкциями о настройке FTP кластера - к разделуИспользование FTP в LVS кластере в главе 8.

Device (Устройство):

Введите имя сетевого устройства, к которому вы хотите привязать плавающий IP адрес, определенный в поле Virtual IP Address.

Вы должны указать внешний плавающий IP адрес как дополнительный для сетевого интерфейса Ethernet, подключенного к внешней сети. В этом примере, внешняя сеть подключена к интерфейсу eth0, поэтому в качестве имени устройства необходимо ввести eth0:1.

Re-entry Time (Время восстановления)

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

Service Timeout (Таймаут службы)

Введите целое значение, определяющее интервал времени, в секундах, перед тем как реальный сервер будет признан мёртвым и удален из кластера.

Quiesce server (Спокойный сервер)

Когда переключатель Quiesce server (Спокойный сервер) установлен, каждый раз когда новый реальный сервер включается в работу, таблица количества соединений сбрасывается в ноль, так что активный LVS маршрутизатор перенаправляет запросы таким образом, как если бы все реальные сервера были добавлены в кластер заново. Этот вариант предотвращает перегрузку нового сервера большим числом соединений при включении в кластер.

Load monitoring tool (Средство наблюдения за нагрузкой)

LVS маршрутизатор может наблюдать за нагрузкой на реальных серверах, используя rup или ruptime. Если вы выберете rup из выпадающего меню, на каждом реальном сервере должна быть запущена служба rstatd. Если вы выберете ruptime, на каждом реальном сервере должна работать служба rwhod.

ВниманиеВнимание
 

Наблюдение за нагрузкой - это не то же самое, что балансировка нагрузки и может привести к усложнению предсказания распределения, если для распределения используются алгоритмы с весовыми коэфициентами. Кроме этого, если вы решили использовать наблюдение за нагрузкой, реальными серверами в кластере должны быть Linux-машины.

Scheduling (Распределение нагрузки)

Выберите предпочитаемый вами алгоритм из выпадающего меню. По умолчанию выбран алгоритм Weighted least-connection (Минимум соединений с весовыми коэфициентами). За дополнительной информацией об алгоритмах распределения нагрузки обратитесь к разделу Алгоритмы распределения в Главе 6.

Persistence (Сохранение соединения)

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

ВажноВажно
 

Если вы ввели значение в поле Firewall Mark, вы также должны определить время сохранения соединения. Также убедитесь в том, что если вы используете метки межсетевых экранов и сохранение соединения одновременно, время сохранения соединения одинаково для всех виртуальных серверов с одной меткой. За дополнительной информацией о сохранении соединения и метках межсетевого экрана обратитесь к разделу Сохранение соединения и метки межсетевого экрана в Главе 6.

Persistence Network Mask (Сетевая маска сохранения)

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

ЗамечаниеЗамечание
 

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

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

Не забудьте нажать кнопку ACCEPT после внесения изменений на этой панели. Убедитесь в том, что вы не потеряете внесенные изменения при переходе на другую панель.

REAL SERVER (РЕАЛЬНЫЙ СЕРВЕР)

Нажав на ссылку подраздела REAL SERVER 9РЕАЛЬНЫЙ СЕРВЕР) , вы перейдете к подразделу EDIT REAL SERVER (НАСТРОЙКА РЕАЛЬНОГО СЕРВЕРА). В нем показано состояние физического сервера, выполняющего определенную виртуальную службу.

Рисунок 9-7. Подраздел REAL SERVER

Нажмите кнопку ADD (ДОБАВИТЬ) для добавления нового сервера. Для удаления существующего сервера, установите переключатель рядом с ним и нажмите кнопку DELETE (УДАЛИТЬ). Нажмите кнопку EDIT (ИЗМЕНИТЬ) для перехода к панели EDIT REAL SERVER (НАСТРОЙКА ВИРТУАЛЬНОГО СЕРВЕРА ), показанной на Рисунке 9-8.

Рисунок 9-8. Панель настройки реального сервера

Эта панель состоит из трех полей:

Name (Имя)

Имя, описывающее реальный сервер.

ПодсказкаПодсказка
 

Это имя не является именем компьютера, поэтому сделайте его описательным и легко понятным.

Address (Адрес)

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

Weight (Весовой коэфициент)

Целочисленное значение определяющее мощность узла по сравнению с другими узлами в наборе. Значение может быть любым, оно рассматривается только в отношении к коэфициентам других серверов в кластере. За дополнительной информацией о весовых коэфициентах обратитесь к разделу Весовой коэфициент сервера и распределение в Главе 6.

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

Не забудьте нажать кнопку ACCEPT после внесения изменений на этой панели. Убедитесь в том, что вы не потеряете внесенные изменения при переходе на другую панель.

EDIT MONITORING SCRIPTS (НАСТРОЙКА СЦЕНАРИЕВ МОНИТОРИНГА)

Существует два способа попасть в подраздел EDIT MONITORING SCRIPTS (НАСТРОЙКА СЦЕНАРИЕВ МОНИТОРИНГА): нажав кнопку EDIT (ИЗМЕНИТЬ) в поле Generic Server Scripts (Стандартные сценарии сервера) или перейдя по ссылке MONITORING SCRIPTS (СЦЕНАРИИ НАБЛЮДЕНИЯ), расположенной вверху страницы. Если вы выбрали последний способ, не забудьте предварительно нажать кнопку ACCEPT для сохранения ваших изменений.

В подразделе EDIT MONITORING SCRIPTS администратор может указать последовательности строк посылать/ждать для проверки корректной работы служб на каждом реальном сервере. Также здесь администратор может указать пользовательские сценарии, проверяющие службы, работающие сдинамически изменяемыми данными.

Рисунок 9-9. Подраздел EDIT MONITORING SCRIPTS

Send (Послать)

Введите в это поле строку, которую демон nanny будет посылать каждому реальному серверу. По умолчанию это поле заполняется показанной строкой для протокола HTTP. Вы можете изменить это значение как считаете нужным. Если вы оставите это поле пустым, демон nanny попытается просто установить соединение с портом, и, если ему это удастся, будет считать что служба работает.

В этом поле допускается только одна отправляемая последовательность, которая может содержать только печатаемые ASCII символы, а также приведенные ниже спецсимволы:

  • \n - новая строка.

  • \r - перевод строки.

  • \t - табуляция.

  • \ - отменяет специальное значение следующего символа.

Sending Program (Посылающая программа)

Для расширенной проверки службы задайте в этом поле путь к сценарию, проверяющему службу. Эта возможность особенно полезна для служб, работающих с динамически изменяемыми данными, например HTTPS или SSL.

Для использования этой возможности вы должны написать сценарий, возвращающий текстовый ответ, сделать его исполняемым, и указать путь к нему в поле Sending Program.

ПодсказкаПодсказка
 

Чтобы выполнить проверку каждого реального сервера в наборе, используйте специальный знак %h после пути к сценарию в поле Sending Program. Этот знак будет заменяться IP адресом опрашиваемого реального сервера при вызове сценария демоном nanny.

В подраздел EDIT MONITORING SCRIPTS включен пример сценария который вы можете использовать как образец для составления внешних сценариев, проверяющих службы.

ЗамечаниеЗамечание
 

Если в поле Sending Program определен путь к внешней программе, поле Send будет игнорироваться.

Expect (Ждать)

Введите текстовый ответ, который сервер должен вернуть если он работает корректно. Если вы напишите свою посылающую программу, введите ответ, который она возвращает в случае успешного опроса.

ПодсказкаПодсказка
 

Для определения строк которые можно посылать конкретной службе, установите telnet соединение с портом на реальном сервере и посмотрите что будет возвращено. Например, FTP, когда соединение установлено, возвращает 220 , так что вы можете ввести quit в поле Send и 220 в поле Expect.

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

Не забудьте нажать кнопку ACCEPT после внесения изменений на этой панели. Убедитесь в том, что вы не потеряете внесенные изменения при переходе на другую панель.

Настроив виртуальные сервера с помощью Piranha Configuration Tool, вы должны скопировать определенные файлы на резервный LVS маршрутизатор. За дополнительной информацией обратитесь к разделу Синхронизация файлов конфигурации.