Кластер с распределением нагрузки для незаточенного софта
Модераторы: Trinity admin`s, Free-lance moderator`s
-
- Junior member
- Сообщения: 4
- Зарегистрирован: 16 янв 2008, 07:28
- Откуда: Irkutsk
- Контактная информация:
Кластер с распределением нагрузки для незаточенного софта
Условия: мало серверов - лентяи не нужны, денег 0 р. 00 коп. !
Задача: сделать отказоустойчивое решение на linux (REd Hat 4 & Suse 10.3 )
Есть задумка НА кластер (из 2 узлов) + виртуальные машины, в каждой виртуалке работает своя задача виртуалки работают на разных узлах, при отказе одного узла виртуалка с него перебрасывается на оставшийся узел.
вроде эту схему можно сделать на DRBD + XEN :?: :!:
посоветуйте кто что может, кластеров в глаза не видел :shock:
Задача: сделать отказоустойчивое решение на linux (REd Hat 4 & Suse 10.3 )
Есть задумка НА кластер (из 2 узлов) + виртуальные машины, в каждой виртуалке работает своя задача виртуалки работают на разных узлах, при отказе одного узла виртуалка с него перебрасывается на оставшийся узел.
вроде эту схему можно сделать на DRBD + XEN :?: :!:
посоветуйте кто что может, кластеров в глаза не видел :shock:
- Stranger03
- Сотрудник Тринити
- Сообщения: 12979
- Зарегистрирован: 14 ноя 2003, 16:25
- Откуда: СПб, Екатеринбург
- Контактная информация:
Re: Кластер с распределением нагрузки для незаточенного софт
Вообще-то HA Cluster = Hight Availability, то есть высокая доступность, что несколько отличается от стоимость 0р0коп. Что касается распределения нагрузки по процессорам, то запустив 10-ть задач на многопроцессорной машине, которые не понимают что такое SMP, они будут сами раскиданы по процессорам. Ограничения для них будет установлено как бы на один процессор.Help [F1] писал(а):Есть задумка НА кластер (из 2 узлов)
Аналогия: запустите 1С на двухпроцессорной машине, запустите отчет, посмотрите на загрузку проца, получите по 50% на каждый процессор.
-
- Junior member
- Сообщения: 4
- Зарегистрирован: 16 янв 2008, 07:28
- Откуда: Irkutsk
- Контактная информация:
Ладно проясню ситуацию
сделать НА кластер проблемы нет, но второй сервер будет просто стоять и ждать своего момента, вто время когда первый узел будет загибаться от софта, DB2 и WebSphere, разработчики софта советуют всетаки держать софт и Дебила на одном сервере. а Сферу на другом.
Задача начальства чтоб так это и было + отказоустойчивость при 0 руб. 00 коп.
сделать НА кластер проблемы нет, но второй сервер будет просто стоять и ждать своего момента, вто время когда первый узел будет загибаться от софта, DB2 и WebSphere, разработчики софта советуют всетаки держать софт и Дебила на одном сервере. а Сферу на другом.
Задача начальства чтоб так это и было + отказоустойчивость при 0 руб. 00 коп.
Немного теории о кластерах и доступности.
Кластеры HA (High Availability): это системы, которые работают в режиме активный/пассивный. При возникновении аварии происходит запуск отказавшего ПО на резервном сервере.
Кластеры FR (Fault Resilience): это системы, которые работаю в режиме частичного и условного распределения нагрузки между узлами. Для проверки работоспособности приложений и процессов используются специальные служебные сообщения. Естественно ПО должно уметь такие сообщения генерировать и правильно отвечать на них. Думаю не надо говорит, то это не примитивный пинг, а именно ответы что процесс работает и нужную функцию выполняет. Создание ПО, работающего в такой среде довольно затруднительно и трудоемко.
Кластеры FT (Fault Tolerance): это системы, которые имеют все аппаратные и программные средства для распределения нагрузки, обнаружения отказов и самовостановления (естественно если имеется исправный резервный узел или подсистема, куда можно перенести выполнение задачи).
Сейчас подавляющее большинство кластеров относятся к HA. Начинают все чаще появляться FR. Кластеры FT тоже есть, но как правило они очень специализированы и стоят почти как сверхзвуковые самолеты. Но они того стоят, я счастливый обладатель такой системы.
Для создания любого кластера нужно создать общие данные, поступные всем узлам кластера. Обычно это жесткие диски. Нужно это чтобы запустить софт и продолжить работу на резервном серваке. Так же вы должны четко понимать какой уровень вы можете обеспечить. В подавляющем большинстве случаев вы можете сделать только HA-кластер.
HA-кластер за НОЛЬ денег можно сделать. Берете пакеты heartbeat и drbd. drbd сделает вам общее хранилище в режиме актив/пассив. heartbeat даст вам возможность запустить "сердце кластера", вернее его нервную систему. В этот пакет входят средства анализа "живости ноды" и скрипты запускающие отказавший софт на другой ноде.
Ограничения drbd на режим актив/пассив мы можете частично обойти разбив диски на отдельные разделы. Каждому важному софту свой диск. drbd будет зеркалировать данные с активной ноды на резервную. Таким макаром можно часть приложений запустить на одном сервере, часть на другом. Т.е. практически одной ногой вступить в FR-кластеры.
Однако помните, что всему есть цена. heartbeat не имеет средств контроля, что ваше прикладное ПО отказало. Вы либо сами такие средства пишите, либо одно из двух, как говорят в Одессе. :lol:
Так же надо помнить, что drbd не выполняет операции мнгновенно и даже далеко не мнгновенно, я бы сказал... В случае отказа есть явный риск потери данных. Почему? Потому что репликация делается средствами процессора каждого узла, это довольно тяжелая задача и она отнимает ресурсы процессора. Чтобы обойти эту проблему используют внешние дисковые хранилища, которые инфу по-шустрее пишут, да и надежность там совсем другая в лучшую сторону. Но это уже выбивается из вашей концепции НОЛЬ ДЕНЕГ. Так что думайте сами, решайте сами.
Кластеры HA (High Availability): это системы, которые работают в режиме активный/пассивный. При возникновении аварии происходит запуск отказавшего ПО на резервном сервере.
Кластеры FR (Fault Resilience): это системы, которые работаю в режиме частичного и условного распределения нагрузки между узлами. Для проверки работоспособности приложений и процессов используются специальные служебные сообщения. Естественно ПО должно уметь такие сообщения генерировать и правильно отвечать на них. Думаю не надо говорит, то это не примитивный пинг, а именно ответы что процесс работает и нужную функцию выполняет. Создание ПО, работающего в такой среде довольно затруднительно и трудоемко.
Кластеры FT (Fault Tolerance): это системы, которые имеют все аппаратные и программные средства для распределения нагрузки, обнаружения отказов и самовостановления (естественно если имеется исправный резервный узел или подсистема, куда можно перенести выполнение задачи).
Сейчас подавляющее большинство кластеров относятся к HA. Начинают все чаще появляться FR. Кластеры FT тоже есть, но как правило они очень специализированы и стоят почти как сверхзвуковые самолеты. Но они того стоят, я счастливый обладатель такой системы.
Для создания любого кластера нужно создать общие данные, поступные всем узлам кластера. Обычно это жесткие диски. Нужно это чтобы запустить софт и продолжить работу на резервном серваке. Так же вы должны четко понимать какой уровень вы можете обеспечить. В подавляющем большинстве случаев вы можете сделать только HA-кластер.
HA-кластер за НОЛЬ денег можно сделать. Берете пакеты heartbeat и drbd. drbd сделает вам общее хранилище в режиме актив/пассив. heartbeat даст вам возможность запустить "сердце кластера", вернее его нервную систему. В этот пакет входят средства анализа "живости ноды" и скрипты запускающие отказавший софт на другой ноде.
Ограничения drbd на режим актив/пассив мы можете частично обойти разбив диски на отдельные разделы. Каждому важному софту свой диск. drbd будет зеркалировать данные с активной ноды на резервную. Таким макаром можно часть приложений запустить на одном сервере, часть на другом. Т.е. практически одной ногой вступить в FR-кластеры.
Однако помните, что всему есть цена. heartbeat не имеет средств контроля, что ваше прикладное ПО отказало. Вы либо сами такие средства пишите, либо одно из двух, как говорят в Одессе. :lol:
Так же надо помнить, что drbd не выполняет операции мнгновенно и даже далеко не мнгновенно, я бы сказал... В случае отказа есть явный риск потери данных. Почему? Потому что репликация делается средствами процессора каждого узла, это довольно тяжелая задача и она отнимает ресурсы процессора. Чтобы обойти эту проблему используют внешние дисковые хранилища, которые инфу по-шустрее пишут, да и надежность там совсем другая в лучшую сторону. Но это уже выбивается из вашей концепции НОЛЬ ДЕНЕГ. Так что думайте сами, решайте сами.
-
- Junior member
- Сообщения: 4
- Зарегистрирован: 16 янв 2008, 07:28
- Откуда: Irkutsk
- Контактная информация:
на рисунке показан кластер Web-сервера Apache высокой готовности, объединяющий несколько физических или виртуальных серверов Linux, с помощью Linux Virtual Server и Heartbeat
LITSHA - это виртуальные сервера (3 задачи) которые физически сидят на 6 серверах
Вот я и интересуюсь как сделать чтоб мои задачи выполнялись на разных серверах, а при падении одного виртуальный сервер переходил на работающий
мой рисунок
LITSHA - это виртуальные сервера (3 задачи) которые физически сидят на 6 серверах
Вот я и интересуюсь как сделать чтоб мои задачи выполнялись на разных серверах, а при падении одного виртуальный сервер переходил на работающий
мой рисунок
- Вложения
-
- кластер.jpg (8.22 КБ) 18784 просмотра
схема малость того
но судя по ней у вас есть сервер БД DB2 и сервер приложений Websphere.
кластер БД - это отдельная песня, за DB2 не скажу, но можно построить и HA-кластер всяко разно;
а кластер серверов приложений - да, обычно так как у вас нарисовано,
это load balancing, 2 типа одинаковых сервера, оба активны,
HA как бы неявно обеспечивается, т.е. ничего и перекидывать нет необходимости.
но судя по ней у вас есть сервер БД DB2 и сервер приложений Websphere.
кластер БД - это отдельная песня, за DB2 не скажу, но можно построить и HA-кластер всяко разно;
а кластер серверов приложений - да, обычно так как у вас нарисовано,
это load balancing, 2 типа одинаковых сервера, оба активны,
HA как бы неявно обеспечивается, т.е. ничего и перекидывать нет необходимости.
Ну я уже говорил. Берешь два сервера.
Делаешь два раздела.
Зеркалируешь их средствами drbd
Запускаешь heartbeat.
На одном серваке запускаешь базу, на другом Websphere.
Только heartbeat нужен последней версии. На www.linux-ha.org найдешь доки.
Ответ на твой вопрос:
http://www.linux-ha.org/FAQ#head-b3b7ab ... 64c6911b5f
Делаешь два раздела.
Зеркалируешь их средствами drbd
Запускаешь heartbeat.
На одном серваке запускаешь базу, на другом Websphere.
Только heartbeat нужен последней версии. На www.linux-ha.org найдешь доки.
Ответ на твой вопрос:
http://www.linux-ha.org/FAQ#head-b3b7ab ... 64c6911b5f
сделать-то конечно можно, я даже знаю что так делают...Help [F1] писал(а):оглядываясь на выше изложеное - можно сделать НА кластер в котором будут задействованы оба нода ! Посоветуйте тогда куда лучше всего копать ?
[...]
но вот только это уже не будет High Availability Cluster...
кстати подумайте как будет тянуть нагрузку нода когда на нее переедет оба приложения?...
(тем более такие "тяжелые" как db2 и Websphere...)
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 11 гостей