Red Hat Enterprise Linux 6 Администрирование виртуального сервера



Скачать 480.01 Kb.
Pdf просмотр
страница1/2
Дата23.11.2016
Размер480.01 Kb.
Просмотров400
Скачиваний0
  1   2

Landmann
Red Hat Enterprise Linux 6
Администрирование
виртуального сервера
Комплект распределения нагрузки для Red Hat Enterprise Редакция 6

Red Hat Enterprise Linux 6 Администрирование виртуального сервера
Комплект распределения нагрузки для Red Hat Enterprise Редакция 6
Landmann rlandmann@redhat.co m

Юрид ическое уведомление document, or a modified version of it, you must provide attribution to Red
Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section
4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo,
and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux ® is the registered trademark of Linus Torvalds in the United States and other countries.
Java ® is a registered trademark of Oracle and/or its affiliates.
XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js ® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack ® Word Mark and OpenStack Logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Аннотация
Комплект распределения нагрузки предоставляет высокод оступное и масштабируемое решение,
пред лагающее специализированные методы распределения нагрузки и маршрутизации,
настраиваемые с помощью программы PIRANHA. В этом руководстве обсуждается настройка высокопроизводительных систем и служб в окружении Red Hat Enterprise Linux 6 с установленным комплектом распределения нагрузки.

Содержание
Введ ение
1. Соглашения документа. Типографические соглашения. Выделение фрагментов. Примечания и предупреждения. Отзывы и предложения Глава 1. Обзор комплекта распределения нагрузки

1.1. Основы настройки комплекта распределения нагрузки. Репликация данных и совместный доступ реальных серверов к данным. Синхронизация реальных серверов. Трехуровневая конфигурация. Обзор планирования распределения нагрузки. Алгоритмы распределения. Весовой коэффициент сервера и распределение. Способы маршрутизации. Маршрутизация NAT
1.4.2. Прямая маршрутизация. Прямая маршрутизация и ограничения ARP
1.5. Постоянство соединения и метки межсетевого экрана. Постоянство соединения. Метки межсетевого экрана. Блок-схема распределения нагрузки. Компоненты комплекта распределения нагрузки. pulse
1.6.1.2. lvs
1.6.1.3. ipvsadm
1.6.1.4. nanny
1.6.1.5. /etc/sysconfig/ha/lvs.cf
1.6.1.6. Piranha
1.6.1.7. send_arp
Глава 2. Первоначальная конфигурация
2.1. Настройка служб на маршрутизаторах LVS
2.2. Установка пароля для. Запуск Piranha
2.3.1. Выбор порта для. Ограничение доступа к Piranha
2.5. Активация маршрутизации пакетов. Настройка служб на сервере
Глава 3. Настройка комплекта распределения нагрузки
3.1. Маршрутизация NAT
3.1.1. Настройка сетевых интерфейсов. Маршрутизация на реальных серверах. Активация маршрутизации NAT на маршрутизаторах LVS
3.2. Прямая маршрутизация. Прямая маршрутизация и arptables_jf
3.2.2. Прямая маршрутизация и iptables
3.3. Настройка интерфейсов. Советы по сетевой настройке комплекта распределения нагрузки. Службы, использующие несколько портов
4
4 4
6 7
8
9
9 11 11 11 12 13 14 15 15 16 17 17 17 18 18 19 19 19 19 19 19 19 20
21
21 22 22 23 23 24 24
25
25 25 26 27 27 28 29 30 30 Содержание. Присвоение меток межсетевого экрана. Настройка FTP
3.5.1. Принципы работы FTP
3.5.2. Как это влияет на распределение нагрузки. Правила фильтрации сетевых пакетов. Правила для активных соединений. Правила для пассивных соединений. Сохранение настроек фильтрации пакетов
Глава 4 . Настройка распределения нагрузки с помощью Piranha
4.1. Необходимые программы. Авторизация в Piranha
4.3. CONTROL/MONITORING
4.4. GLOBAL SETTINGS
4.5. REDUNDANCY
4.6. VIRTUAL SERVERS
4.6.1. Подсекция. Подсекция. Подсекция. Синхронизация файлов конфигурации. Синхронизация lvs.cf
4.7.2. Синхронизация sysctl
4.7.3. Синхронизация фильтров сетевых пакетов. Запуск комплекта распределения нагрузки
Комплект распределения нагрузки и комплект высокой готовности
История изменений
Пред метный указатель
Символы
A
C
F
I
L
N
P
31 32 32 33 33 33 34 35
36
36 36 37 38 40 41 42 45 47 49 50 50 51 51
52
54
54
54 56 56 56 57 57 57 57
Red Hat Enterprise Linux 6 Администрирование виртуального сервера
2
Содержание
Введение
Этот документ содержит информацию об установке, настройке и управлении компонентами распределения нагрузки, использующими специализированные методы маршрутизации трафика между наборами серверов.
Материал ориентированна опытных администраторов, знакомых с концепциями кластеров, структурами хранения данных и серверными вычислениями.
Сод ержание:
Глава 1, Обзор комплекта распределения нагрузки
Глава 2, Первоначальная конфигурация
Глава 3, Настройка комплекта распределения нагрузки
Глава 4, Настройка распределения нагрузки с помощью Piranha
Приложение A, Комплект распределения нагрузки и комплект высокой готовности
Информацию о Red Hat Enterprise Linux 6 можно найти вслед ующих д окументах:
Руководство по установке Red Hat Enterprise Linux предоставляет информацию об установке Hat Enterprise Linux 6.
Руководство по развертыванию Red Hat Enterprise Linux пред оставляет информацию по развертыванию, настройке и администрированию Подробную информацию о компонентах распределения нагрузки для можно найти вслед ующих д окументах:
Обзор Red Hat Cluster Suite предоставляет общую информацию о компонентах высокой готовности, распределения нагрузки и отказоустойчивого хранения д анных.
Настройка и управление компонентами высокой готовности предоставляет информацию о настройке и управлении кластерными возможностями Red Hat Enterprise Linux 6.
Администрирование LVM предоставляет информацию о менеджере логических томов (LVM,
Logical Volume Manager) и его выполнении в кластерном окружении.
GFS2. Конфигурация и администрирование предоставляет информацию об установке,
настройке и поддержке предоставляет информацию о многопутевых возможностях в Red Hat Enterprise
Linux 6.
Примечания к выпуску содержат краткий обзор последних выпусков Red Весь диапазон документов доступен в виде и RPM над иске документации и по адресу. Соглашения документа

В этом руководстве используются различные стили для выделения текста.
В PDF и печатной версии документа используются шрифты
Liberation
. Эти же шрифты используются для отображения HTML, если они установлены в системе. В противном случае вместо них используются похожие шрифты. Red Hat Enterprise Linux 5 и более поздние версии включают в свой состав комплект шрифтов Liberation по умолчанию.
1.1. Типографические соглашения
Red Hat Enterprise Linux 6 Администрирование виртуального сервера
4
Для выделения текста используются четыре стиля, которые будут перечислены д алее.
Монош иринный жирный шрифт Используется для выделения вводимого текста, включая команды оболочки, имена файлов, пути доступа, а также клавиши и их комбинации. Например:
Чтобы просмотреть содержимое файла my_next_bestselling_novel,
расположенного в текущем каталоге, в строке приглашения оболочки введите и нажмите Enter для выполнения этой команд ы.
Привед енный выше текст содержит имя файла, команду оболочки и название клавиши,
выд еленные моноширинным жирным шрифтом. Все они различаются по контексту.
Комбинации клавиш отличаются от отдельных клавиш с помощью знака плюс, который соединяет все клавиши, входящие в комбинацию. Например:
Нажмите Enter для исполнения команд ы.
Нажмите Ctrl+Alt+F2 для перехода в виртуальный терминал.
В первом примере выделена отдельная клавиша, которую надо нажать. Во втором примере выделена комбинация клавиш — три клавиши, которые надо нажать од новременно.
Если при описании исходных кодов программы внутри параграфа встречаются имена классов,
метод ов, функций, переменных и возвращаемые ими значения, то они тоже выделяются
монош иринным жирным шрифтом. Например:
В состав классов, имеющих отношение к обработке файлов, входят классы
filesystem для работы с файловыми системами, file для работы с файлами, dir
д ля работы с каталогами. Каждый класс имеет свой собственных набор правд оступа.
Пропорциональный жирный шрифт
Выд еляет слова и фразы, встречающиеся в системе, такие как имена приложений, тексты диалоговых окон, надписи на кнопках, метки флажков и переключателей, названия меню и других элементов графического интерфейса. Например:
Выберите СистемаПараметрыМышь для запуска приложения Настройка
мыши. На вкладке Кнопки установите флажок Настроить мышь под левую руку
и нажмите Закрыть, чтобы правая кнопка мыши стала работать как главная (что делает мышь удобной для левши).
Чтобы вставить специальный символ в файл, отрытый вред акторе gedit, выберите из главного меню ПриложенияСтанд артныеТаблица символов. Затем вменю приложения Таблица символов выберите ПоискНайти, введите название символа в поле Найти и нажмите кнопку Найти следующее. Найденный символ будет выделен на закладке Таблица символов. Дважды щелкните на этом символе, чтобы вставить его в поле Текст для копирования, после чего нажмите кнопку Копировать. Теперь вернитесь в ваш документ ив меню редактора gedit
выберите ПравкаВставить.
В приведенном выше тексте имена приложений, названия общесистемных пунктов меню и меню приложений, названия кнопок и текст, относящийся к элементам графического интерфейса,
выд елены пропорциональным жирным шрифтом.
Введ ение
5

Моноширинный жирный курсив или пропорциональный жирный курсив
Оба типа выделения указывают на изменчивость текста. Использование курсива означает, что текст не следует вводить буквально, или что он может меняться при выводе в зависимости от обстоятельств. Например:
Д ля подключения к удаленной машине с помощью SSH введите

имя_пользователя@ имя_домена. Скажем, если имя удаленной машины —
exam ple.com , а имя пользователя — john, то команда будет выглядеть так ssh
john@ exam ple.com .
Команд а mount -o remount файловая_система перемонтирует указанную файловую систему. Например, для файловой системы /home команда будет выглядеть так mount -o remount /home.
Чтобы просмотреть версию установленного пакета, выполните команду

пакет. Результат команды будет представлен в формате пакет-версия-выпуск.
Обратите внимание на слова, выделенные жирным курсивом имя_пользователя, имя_д омена,
файловая_система, пакет, версия, выпуск. Каждое из них обозначает место, куда нужно подставить значение, или текст, подставляемый системой при вывод е.
Также курсивом выделяются важные термины, встречаемые в тексте документа впервые.
Например:
Publican — система публикации DocBook.
1.2. Выделение фрагментов
Вывод на терминал и фрагменты исходного кода программ визуально отделяются от окружающего текста.
Д ля отображения текста, выводимого на терминал, используется прямой моноширинный
ш рифт Исходный код программ тоже показывается с помощью прямого моноширинного шрифта, нос выделением синтаксических конструкций Hat Enterprise Linux 6 Администрирование виртуального сервера
6
static int kvm_vm_ioctl_deassign_device(
struct kvm *kvm,
struct kvm_assigned_pci_dev *assigned_dev)
{
int r = 0;
struct kvm_assigned_dev_kernel *match;
mutex_lock(&kvm->lock);
match = kvm_find_assigned_dev(&kvm->arch.assigned_dev_head,
assigned_dev->assigned_dev_id);
if
(!match) {
printk(KERN_INFO
"%s: device hasn't been assigned before, "
"so cannot be deassigned
\n
"
, __func__);
r = -EINVAL;
goto out;
}
kvm_deassign_device(kvm, match);
kvm_free_assigned_device(kvm, match);
out:
mutex_unlock(&kvm->lock);
return r;
}
1.3. Примечания и предупреждения
Наконец, в документе используются три стиля для привлечения внимания к информации,
которую легко упустить.
Примечание
Примечания обычно содержат советы, описания приемов или альтернативных подходов к решению задач. Игнорирование примечаний не несет негативных последствий, но при этом можно не узнать о существовании какого-то способа, который существенно облегчает выполнение работы.
Важно
Важные замечания выделяют то, что легко не заметить изменения настроек, касающиеся только текущего сеанса, или перечень служб, которые надо перезапустить для применения обновлений. Игнорирование замечаний с пометкой Важно не приводит к потере д анных,
но может вызвать раздражение и д осад у.
Предупреждение
Не стоит игнорировать предупреждения, так как они содержат важную информацию,
которая позволит избежать потери д анных.
Введ ение
7

2. Отзывы и предложения
Если вы обнаружили опечатку, или у вас есть предложения по усовершенствованию руковод ства,
созд айте запрос в Bugzilla (
http://bugzilla.redhat.com/
) для компонента Documentation-cluster.
Укажите идентификатор руководства (Идентификатор поможет точно определить версию руковод ства.
Если у вас есть предложения по улучшению этого руководства, постарайтесь подробно их описать. Если же вы нашли ошибку, укажите номер раздела и окружающий текст для облегчения ее идентификации Администрирование виртуального сервера
8

Глава 1. Обзор комплекта распределения нагрузки
Этот комплект включает набор программ для распределения нагрузки IP между серверами. Он выполняется на паре аналогично настроенных компьютеров один представляет собой активный
маршрутизатор LVS, второй является запасным маршрутизатором LVS. Основные функции активного маршрутизатора распределение нагрузки между реальными серверами;
под д ержка работоспособности служб на каждом реальном сервере.
Резервный маршрутизатор LVS, в свою очередь, следит за активным маршрутизатором и включается в работу в случае его сбоя.
Сод ержание главы:
Разд ел 1.1, Основы настройки комплекта распределения нагрузки»
Разд ел 1.2, «Трехуровневая конфигурация»
Разд ел 1.3, Обзор планирования распределения нагрузки»
Разд ел 1.4, Способы маршрутизации»
Разд ел 1.5, Постоянство соединения и метки межсетевого экрана»
Разд ел 1.6, «Блок-схема распределения нагрузки»
1.1. Основы настройки комплекта распределения нагрузки
Рисунок 1.1, Основы настройки комплекта распределения нагрузки демонстрирует простую двухуровневую структуру распределения нагрузки. На первом уровне расположены маршрутизаторы LVS (активный и запасной. Каждый маршрутизатор имеет два сетевых интерфейса — для Интернета и для частной сети, что позволяет регулировать трафик между сетями. В приведенном примере активный маршрутизатор использует преобразование сетевых адресов) для перенаправления пакетов из Интернета произвольному числу реальных серверов на втором уровне. Серверы подключены к конкретному сегменту частной сети и передают общий трафик через активный маршрутизатор. Извне набор серверов представляется как единое целое.
Глава 1. Обзор комплекта распределения нагрузки
9

Рисунок 1.1. Основы настройки комплекта распределения нагрузки
Поступающие на маршрутизатор LVS запросы обслуживания предназначаются виртуальному IP-
адресу, который представляет собой общедоступный адрес, которому администратор назначает полностью квалифицированное имя домена (например, www.example.com), и который соответствует одному или нескольким виртуальным серверам. Под виртуальным сервером подразумевается служба, которая настроена на прослушивание конкретного виртуального IP- адреса. Раздел содержит подробную информацию о настройке виртуального сервера с помощью Piranha. В случае сбоя одного маршрутизатора виртуальный адрес переназначается другому маршрутизатору, при этом сохраняя постоянство доступа. Такой адрес также называют плавающим IP-адресом.
Виртуальные адреса могут быть сопоставлены интерфейсу, соединяющему маршрутизатор с Интернетом. Если для этого используется eth0, то виртуальные серверы могут быть обозначены как eth0:1. В противном случае каждый виртуальный сервер может соответствовать отдельному устройству для заданной службы. Например, пакеты HTTP могут обрабатываться на
eth0:1, а FTP — на eth0:2.
В определенный момент времени может быть активен только один маршрутизатор LVS. Роль активного маршрутизатора состоит в перенаправлении запросов обслуживания с виртуальных IP- адресов реальным серверам. Перенаправление осуществляется на основе одного из восьми алгоритмов распределения нагрузки (см. Раздел, Обзор планирования распределения нагрузки»
).
Активный маршрутизатор отслеживает общее состояние служб на реальных серверах с помощью простых сценариев вопросов и ответов. Дополнительно администратор может вызывать внешние программы для определения состояния служб, использующих динамические д анные,
таких как HTTPS или SSL. Если работа службы нарушена, активный маршрутизатор прекратит передачу запросов этому серверу до тех пор, пока его работоспособность не будет восстановлена.
Резервный маршрутизатор находится в режиме ожидания. Периодически маршрутизаторы Hat Enterprise Linux 6 Администрирование виртуального сервера
10
обмениваются тестовыми сообщениями через общий внешний интерфейс или внутренний интерфейс в случае сбоя. Если резервный узел не получил тестовое сообщение по истечении заданного периода времени, он начнет выполнять роль активного маршрутизатора, забирая виртуальные адреса, обслуживаемые неисправным маршрутизатором, используя алгоритм
подмены ARP. При этом он объявляет себя получателем пакетов, адресованных неисправному узлу. После восстановления работоспособности исходного маршрутизатора резервный узел вернется в режим ожид ания.
Такая двухуровневая конфигурация (см. Рисунок 1.1, Основы настройки комплекта распределения нагрузки) является оптимальной для предоставления статического содержимого, так как отдельные серверы не выполняют автоматическую синхронизацию данных между узлами.
1.1.1. Репликация данных и совместный доступ реальных серверов к
данным
Так как комплект распределения нагрузки не включает встроенные компоненты для обеспечения совместного доступа к данным с различных серверов, администратору доступно два варианта:
можно синхронизировать данные в наборе серверов;
можно добавить третий уровень в топологию для организации совместного д оступа.
Первый вариант предпочтителен для серверов, которые нед опускают изменение и обновление данных большим числом пользователей. Если надо разрешить изменение данных множеством пользователей (например, на сайтах электронной коммерции, второй вариант является предпочтительным. Синхронизация реальных серверов

Существует множество способов синхронизации данных между серверами. Например,
ад министратор может создать сценарии оболочки, чтобы при изменении страницы веб-мастером она автоматически копировалась на остальные серверы. С помощью программ наподобие rsync
можно задать частоту синхронизации.
Од нако такой тип синхронизации не является оптимальным, особенно если пользователи постоянно загружают файлы или часто обращаются к базе данных. При высокой степени нагрузки лучше использовать трехуровневую топологию.
1.2. Трехуровневая конфигурация
Рисунок 1.2, «Трехуровневая конфигурация демонстрирует типичную трехуровневую топологию,
гд е активный маршрутизатор LVS перенаправляет запросы из Интернета набору реальных серверов, каждый из которых затем обращается к общим данным по сети.
Глава 1. Обзор комплекта распределения нагрузки
11

Рисунок 1.2. Трехуровневая конфигурация
Такая структура идеально подходит для серверов с высокой нагрузкой при этом данные хранятся на централизованном сервере с высокой степенью готовности. Реальный сервер получает к ним доступ через экспортируемый каталог NFS или общий каталог Samba. Эта топология также подходит для организации сайтов, которые обращаются к централизованной базе данных. Более того, с помощью Red Hat Cluster Manager администраторы могут настроить высокод оступный кластер так, чтобы он выполнял обе эти роли од новременно.
Третий уровень в этом примере может и не использовать Red Hat Cluster Manager, но наличие высокод оступного решения позволит исключить риск появления уязвимости.
1.3. Обзор планирования распределения нагрузки
Од ним из преимуществ комплекта является гибкость распределения запросов между серверами на уровне IP, которая достигается благодаря множеству алгоритмов планирования.
Использование комплекта распределения нагрузки является более предпочтительным по сравнению с менее гибкими методами, такими как циклическое обслуживание DNS, так как иерархическая структура DNS и кэширование в системах клиентов могут нарушить баланс. Кроме того, низкоуровневое фильтрование, используемое маршрутизатором LVS, имеет свои преимущества по сравнению с перенаправлением запросов на уровне приложений, так как распределение нагрузки на уровне пакетов не вызывает существенных вычислительных Hat Enterprise Linux 6 Администрирование виртуального сервера
12
издержек и допускает масштабирование.
При распределении запросов активный маршрутизатор принимает во внимание активность реальных серверов и дополнительно заданный администратором весовой коэффициент.
Значения веса позволяют присвоить машинам приоритет. Таким образом, набор серверов может включать компьютеры с различными комбинациями аппаратного и программного обеспечения, в тоже время поддерживая их равномерную нагрузку.
Механизм планирования распределения реализован с помощью набора модулей, которые позволяют осуществлять переключение транспортного уровня L4 (layer 4), что подходит при использовании одного адреса несколькими серверами создает в ядре системы таблицу IPVS для эффективного отслеживания и перенаправления пакетов реальным серверам. Эта таблица используется активным маршрутизатором LVS для перенаправления запросов с виртуального адреса реальным серверами обратно. Таблица постоянно обновляется программой ipvsadm, которая добавляет и исключает компоненты кластера исходя из их доступности. Алгоритмы распределения
Структура таблицы IPVS зависит от выбранного алгоритма распределения для заданного виртуального сервера. Red Hat Enterprise Linux предоставляет несколько алгоритмов (см.
Разд ел 4.6.1, Подсекция SERVER»
).
Циклическое распределение
Запросы последовательно распределяются между серверами в наборе. Все реальные серверы используются равноправно без учета их мощности и нагрузки. Такая модель распределения напоминает циклическое распределение, но отличие состоит в том,
что она использует сетевое подключение и позволяет избежать нарушения баланса,
вызванного кэшированием запросов DNS.
Циклическое распределение с весовыми коэффициентами
Распред еление запросов происходит последовательно, но серверы с большей пропускной способностью получают большее число задач. Пропускная способность определяется заданным администратором весовым коэффициентом, который может корректироваться в зависимости от нагрузки (см. Раздел, Весовой коэффициент сервера и распределение Такое распределение рекомендуется при сильных различиях мощности серверов в наборе. Но при значительном изменении числа запросов сервер с бóльшим весом будет обрабатывать большее число запросов, чем было задано изначально.
Наименьшее число подключений
Перед ача большего числа запросов серверам с наименьшим числом активных подключений. Так как активные подключения отслеживаются с помощью таблицы этот алгоритм предпочтителен при резких изменениях нагрузки и особенно эффективен,
если набор состоит из серверов с приблизительно одинаковой пропускной способностью.
Если серверы сильно отличаются, лучше использовать метод минимальных подключений с весовым коэффициентом.
Наименьшее число подключений с весовым коэффициентом (по умолчанию)
Перед ача большего числа запросов серверам с наименьшим числом подключений и
Глава 1. Обзор комплекта распределения нагрузки
13
большей пропускной способностью, определяемой заданным пользователем коэффициентом, который корректируется динамически в зависимости от нагрузки.
Использование коэффициента делает этот алгоритм идеальным выбором, если пул серверов содержит оборудование с различной пропускной способностью (см.
Разд ел 1.3.2, Весовой коэффициент сервера и распределение число подключений на основе размещения

Перед ача большего числа запросов серверам с наименьшим числом подключений и с учетом адреса получателя. Этот алгоритм используется в кластерах с кэширующим прокси-сервером и передает пакеты, предназначенные заданному ад ресу,
соответствующему серверу. Если сервер перегружен, адрес будет закреплен за наименее загруженным сервером.
Наименьшее число подключений на основе размещения с репликацией
Перед ача большего числа запросов серверам с наименьшим числом активных подключений с учетом адреса получателя. Этот алгоритм используется в кластерах с кэширующим прокси-сервером и отличается от описанного выше алгоритма тем, что IP- адрес получателя сопоставляется не одному, а подмножеству реальных серверов.
Запросы будут передаваться серверу в подмножестве с наименьшим числом подключений. Если все узлы, обслуживающие этот адрес, перегружены, из общего пула в подмножество будет добавлен новый сервер с наименьшим числом подключений. При этом максимально загруженный сервер будет исключен из группы.
Распределение по получателю
Сервер для обработки запроса выбирается из статической таблицы по адресу получателя. Этот алгоритм предназначен для использования в кластерах с кэширующим прокси-сервером.
Распределение по отправителю
Сервер для обработки запроса выбирается из статической таблицы по адресу отправителя. Этот алгоритм предназначен для маршрутизаторов LVS с несколькими межсетевыми экранами.
1.3.2. Весовой коэффициент сервера и распределение
Кажд ому серверу в наборе может быть назначен весовой коэффициент. Вес сервера определяется целым числом, которое принимается во внимание алгоритмами распределения и используется для эффективного распределения нагрузки маршрутизатором Весовой коэффициент характеризует приоритет сервера по отношению к другим. Например, если один сервер имеет веса другой, то сервер с весом 5 получит 5 соединений на каждое соединение, полученное сервером с весом 1. По умолчанию коэффициент равен Хотя сопоставление коэффициента разным конфигурациям оборудования в наборе серверов способствует эффективному распределению нагрузки, при добавлении в набор нового сервера это может временно нарушить баланс системы. Представим, к примеру, набор из трех серверов.
Серверам A и B назначен коэффициента серверу C — 2. Если сервер C по какой-то причине отключается, нагрузка будет равномерно распределена между серверами A и B. Но при возобновлении работы C маршрутизатор LVS обнаружит нулевое число подключений к этому серверу и будет передавать ему все поступающие запросы до тех пор, пока уровень его Hat Enterprise Linux 6 Администрирование виртуального сервера
14
нагрузки не уравняется с нагрузкой серверов A и Чтобы это предотвратить, администратор может заморозить виртуальный сервер при каждом включении нового реального сервера таблица соединений будет очищена, а маршрутизатор будет распределять запросы так, как будто все реальные серверы были добавлены в кластер заново.
1.4. Способы маршрутизации
Комплект распределения нагрузки в Red Hat Enterprise Linux использует преобразование сетевых адресов, что обеспечивает высокую гибкость при использовании доступного оборудования и интеграции комплекта в существующую сеть.
1.4.1. Маршрутизация NAT
Рисунок 1.3, Распределение с маршрутизацией NAT»
демонстрирует распределение запросов между Интернетом и частной сетью с помощью маршрутизации NAT.
Рисунок 1.3. Распределение с маршрутизацией NAT
Зд есь активный маршрутизатор оборудован двумя сетевыми картами. Так, предназначенная для соединения с Интернетом сетевая карта имеет реальный IP-адрес на eth0 и плавающий IP- адрес на eth0:1. Вторая карта, подключенная к частной сети, имеет реальный адрес на eth1 и плавающий на eth1:1. В случае сбоя резервный маршрутизатор возьмет контроль над виртуальными интерфейсами, отвечающими за подключение к Интернету и частной сети.
Реальные серверы, расположенные в частной сети, по умолчанию используют плавающий IP- адрес маршрутизатора для соединения с активным маршрутизатором LVS, что позволяет обеспечить бесперебойное обслуживание поступающих из Интернета запросов.
В этом примере частный плавающий адрес и внешний плавающий адрес маршрутизатора сопоставлены двум физическим интерфейсам. Несмотря на возможность сопоставления плавающего адреса отдельному физическому устройству на маршрутизаторе LVS, наличие
Глава 1. Обзор комплекта распределения нагрузки
15
более двух сетевых плат не является обязательным.
В такой структуре активный маршрутизатор перенаправляет полученный запрос подходящему серверу. Сервер его обрабатывает и возвращает пакеты маршрутизатору, который осуществляет
NAT-преобразование для замены адреса реального сервера в пакетах внешним виртуальным адресом маршрутизатора LVS. Этот процесс носит название маскирование IP, так как действительные адреса серверов скрыты от клиентов.
В качестве реальных серверов могут выступать любые типы компьютеров с любыми операционными системами. Нов больших наборах серверов недостатком является то, что маршрутизатор LVS может стать уязвимым местом, так как он должен обрабатывать и вход ящие,
и исходящие запросы.
1.4.2. Прямая маршрутизация
Прямая маршрутизация обеспечивает более высокую производительность по сравнению с другими сетевыми топологиями распределения нагрузки и позволяет реальным серверам обрабатывать и перенаправлять пакеты запрашивающему их пользователю напрямую вместо прохождения через маршрутизатор LVS. Это уменьшает риск снижения производительности, так как маршрутизатор будет обрабатывать только входящие пакеты.
Рисунок 1.4 . Прямая маршрутизация
Типичная схема с прямой маршрутизацией включает маршрутизатор LVS, который получает запросы на виртуальный адрес и передает их реальным серверам на основе алгоритма распределения. Реальный сервер, в свою очередь, обрабатывает запроси отправляет ответ клиенту напрямую, в обход маршрутизатора LVS. Такой метод маршрутизации обеспечивает Hat Enterprise Linux 6 Администрирование виртуального сервера
16
масштабируемость в том смысле, что реальные серверы могут быть включены в набор без увеличения нагрузки на маршрутизатор LVS при передаче исходящих пакетов от реального сервера клиенту, что могло бы стать слабым местом при высокой нагрузке.
1.4 .2.1. Прямая маршрутизация и ограничения ARP
Несмотря на очевидные достоинства прямой маршрутизации, она не лишена нед остатков.
Основные проблемы возникают при использовании прямой маршрутизации с протоколом ARP
(Address Resolution Protocol).
В стандартной ситуации клиент отправляет запрос из Интернета на адрес. Маршрутизаторы передают запросы получателю, сопоставляя адрес адресу компьютера с помощью Запросы ARP отправляются всем компьютерам в этой сети. Компьютер с подходящей комбинацией IP и адреса получит пакет. Соответствия IP и MAC хранятся в кэше который периодически очищается (обычно каждые минут) и заполняется заново.
Труд ность состоит в том, что так как запросы, предназначенные адресу, должны быть сопоставлены адресу, то и виртуальный адрес должен быть сопоставлен адресу. Но так как маршрутизатору LVS и реальным серверам соответствует один и тот же виртуальный адрес, запрос ARP будет передан всем компьютерам с этим адресом. Это может привести к проблемам, главная из которых заключается в том, что виртуальный IP может быть напрямую сопоставлен реальному серверу, который будет обрабатывать все запросы в обход маршрутизатора LVS, что лишает смысла весь процесс распределения нагрузки.
Чтобы этого не случилось, надо обеспечить передачу поступающих запросов именно маршрутизатору, а не серверу напрямую. Для этой цели подходят или
iptables:
arptables_jf не разрешает ARP сопоставлять виртуальные адреса реальным серверам;
iptables позволяет полностью избежать проблемы ARP, изначально не настраивая виртуальные адреса для серверов.
Разд ел 3.2.1, Прямая маршрутизация и arptables_jf»
и Раздел, Прямая маршрутизация и iptables»
содержат подробную информацию о arptables и iptables.
1.5. Постоянство соединения и метки межсетевого экрана
В определенных ситуациях требуется, чтобы клиент мог повторно подключаться к конкретному реальному серверу вместо перенаправления запросов алгоритмами распределения доступным серверам. Это может быть необходимо при обработке многостраничных веб-форм, cookie- файлов, соединений и FTP. В этих случаях функциональность клиента может пострад ать,
если его запросы не обрабатываются одним сервером. LVS предоставляет два способа решения этой проблемы — постоянство соединения и метки межсетевого экрана.
1.5.1. Постоянство соединения
Постоянство действует как своего рода таймер. Сведения о последнем подключении клиента к службе будут храниться на протяжении заданного периода времени. Если тот же адрес подключается повторно в течение этого времени, запросы будут автоматически перенаправлены серверу, к которому клиент подключался ранее, в обход механизмов распределения нагрузки.
Если соединение устанавливается по истечении заданного интервала, оно обрабатывается в соответствии с общими правилами распределения нагрузки.
Постоянство позволяет задать маску под сети для применения к адресу клиента, управляя степенью постоянства соединений и группируя соединения для этой под сети.
Глава 1. Обзор комплекта распределения нагрузки
17
Объединение соединений, предназначенным разным портам, особенно важно для протоколов,
использующих несколько портов (например, FTP). Но постоянство не является оптимальным решением в этой ситуации — для этого больше подойдут метки межсетевого экрана.
1.5.2. Метки межсетевого экрана
Метки межсетевого экрана предоставляют простой и эффективный способ объединения портов,
используемых одним или группой однородных протоколов. Например, для сайта электронной коммерции с помощью меток можно привязать соединения к порту 80, а HTTPS — к порту. Назначение одной и той же метки каждому протоколу виртуального сервера позволяет сохранить информацию о состоянии транзакций, так как после установки соединения маршрутизатор LVS будет передавать все запросы одному реальному серверу.
В силу простоты и эффективности этого решения рекомендуется его использовать вместо постоянства соединений. Тем не менее, постоянство может применяться одновременно с метками для повторного подключения клиентов код ному и тому же серверу в течение определенного периода времени.
1.6. Блок-схема распределения нагрузки
Маршрутизаторы LVS используют набор программ для наблюдения за узлами и службами кластера (см. Рисунок 1.5, Компоненты комплекта распределения нагрузки»
).
Рисунок 1.5. Компоненты комплекта распределения нагрузки
Процесс pulse выполняется на обоих маршрутизаторах. На резервном маршрутизаторе pulse
отправляет периодические запросы внешнему интерфейсу активного маршрутизатора для подтверждения его нормального функционирования. На активном маршрутизаторе pulse
запускает lvs и отвечает на периодические запросы резервного маршрутизатора LVS.
lvs вызывает ipvsadm для настройки и поддержки таблицы маршрутизации IPVS и запускает
Red Hat Enterprise Linux 6 Администрирование виртуального сервера
18

nanny на каждом реальном сервере для каждого виртуального сервера. Процесс nanny
проверяет состояние настроенной службы на реальном сервере и сообщает lvs о нарушениях ее работы, вследствие чего lvs заставит ipvsadm удалить сервер из таблицы Если резервный маршрутизатор не получил ответ от активного маршрутизатора, будет инициирована процедура его замены посредством вызова send_arp для переназначения всех виртуальных адресов аппаратным адресам (MAC-ад ресам) сетевых карт резервного узла.
Активному маршрутизатору будет отправлена команда остановки lvs через внешний и внутренний интерфейсы, а на резервном узле будет запущен процесс lvs для обработки запросов, предназначенных виртуальным серверам.
1.6.1. Компоненты комплекта распределения нагрузки
Д алее следует подробный список программ.
1.6.1.1. pulse
Управляющий процесс, который запускает остальные службы маршрутизаторов LVS. При загрузке системы он вызывается сценарием /etc/rc.d/init.d/pulse и получает настройки из файла
/etc/sysconfig/ha/lvs.cf. На активном маршрутизаторе pulse запустит процесса на резервном маршрутизаторе будет отслеживать состояние активного, периодически опрашивая его. Если активный маршрутизатор не отвечает в течение заданного периода времени, будет инициирован процесс передачи его функций резервному узлу. При этом pulse на резервном маршрутизаторе отправляет процессу pulse на активном маршрутизаторе команду остановки всех служб LVS, запускает send_arp для присвоения плавающих адресов адресу резервного маршрутизатора и, наконец, запускает процесс lvs.
1.6.1.2. lvs
Процесс lvs запускается на активном маршрутизаторе LVS по вызову pulse. Он осуществляет чтение файла конфигурации /etc/sysconfig/ha/lvs.cf, вызывает службу ipvsadm для создания и поддержки таблицы маршрутизации IPVS и запускает процесс nanny для каждой настроенной службы комплекта распределения нагрузки. Если nanny сообщает о том, что реальный сервер отключен, lvs заставит утилиту ipvsadm удалить этот сервер из таблицы IPVS.
1.6.1.3. ipvsadm
Эта служба обновляет таблицу маршрутизации IPVS в ядре. Процесс lvs вызывает ipvsadm
д ляд обавления, изменения иуд аления записей в таблице маршрутизации IPVS.
1.6.1.4 . nanny
Основным назначением процесса nanny, работающего на активном маршрутизаторе является наблюдение за состоянием реальных серверов и их нагрузкой. За состоянием каждой службы на каждом сервере следит отдельный процесс.
1.6.1.5. /etc/sysconfig/ha/lvs.cf
Файл конфигурации. Все процессы получают свои настройки из этого файла напрямую или косвенно.
1.6.1.6. Piranha
Веб-интерфейс для отслеживания, настройки и администрирования комплекта распределения нагрузки. Используется по умолчанию для изменения файла конфигурации
/etc/sysconfig/ha/lvs.cf.
Глава 1. Обзор комплекта распределения нагрузки
19

1.6.1.7. send_arp
Рассылает широковещательные пакеты ARP при переходе плавающего адреса от одного узла д ругому.
Глава 2, Первоначальная конфигурация
рассматривает действия по настройке после установки системы, которые следует выполнить, прежде чем приступить к настройке Red Hat Enterprise
Linux в качестве маршрутизатора LVS.
Red Hat Enterprise Linux 6 Администрирование виртуального сервера
20


Каталог: documentation -> ru-RU -> Red Hat Enterprise Linux
Red Hat Enterprise Linux -> Red Hat Enterprise Linux 6 Оптимизация производительности
Red Hat Enterprise Linux -> Руководство по установке Установка Red Hat Enterprise Linux 7 на разных платформах
Red Hat Enterprise Linux -> Red Hat Enterprise Linux 6 Примечания к выпуску
Red Hat Enterprise Linux -> Red Hat Enterprise Linux 5 Обзор Cluster Suite
Red Hat Enterprise Linux -> Руководство по установке Установка Red Hat Enterprise Linux 6 на разных платформах Редакция 0
Red Hat Enterprise Linux -> Red Hat Enterprise Linux 6 Администрирование кластера
Red Hat Enterprise Linux -> Red Hat Enterprise Linux 6 Управление энергопотреблением


Поделитесь с Вашими друзьями:
  1   2


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал