Кластеризация в OpenSource. Часть 1-я — отказоустойчивые системы
1. Кластеризация в OpenSource
Часть 1
High availability кластеры
(отказоустойчивые системы высокой доступности)
Манько В.В. 2010 г. Николаев
2. Манько В.В. 2010 г. Николаев
Дайте таблеток от жадности и побольше!
SMP – мультипроцессорные системы
MPP - большие мультипроцессорные системы
WON – сеть рабочих станций (проект Condor, Prime95)
4. Если один хорошо, то два - это великолепно!
Максимизация ресурсов
Балансировка нагрузки на службы и сервисы
Простота масштабирования
Уменьшение времени вычислений
Комбинация способов кластеризации
Манько В.В. 2010 г. Николаев
Преимущества кластеризации
a
a
a
a
a
5. Один в поле воин.
Кластеризация не панацея, нет 100% гарантии
Не все приложения можно кластеризировать
Не все приложения получат преимущества от кластеризации
Стоимость реализации пропорциональна избыточности
Манько В.В. 2010 г. Николаев
Проблемы кластеризации
-
-
-
-
6. Кластеризация и OpenSource
Бесплатность платформы (прежде всего Linux)
Сертификация платформ брендами (HP, IBM, DELL + RHEL, SLES)
Быстрая динамика развития платформ
Наличие профессиональной коммерческой поддержки
Отсутсвие поддержки в большинстве *nix платформ
Манько В.В. 2010 г. Николаев
Кластеры в *nix системах
a
a
a
a
-
- Высокая стоимость профессиональной поддержки
7. Кластер?
Манько В.В. 2010 г. Николаев
Кластер это 2 и более узла (обычно называемые нод (node)
или член (member)), которые работают вместе для выполне-
ния общего задания
High Availability — отказоустойчивый кластер высокой надежности
Load Balancing — кластер балансировки нагрузки
Storage — кластер — хранилище
High Performance — вычислительный кластер
В зависимости от ситуации, возможно комбинирование разных
вариантов кластеризации: отказоустойчивый+балансир нагрузки итд.
8. High availability cluster
Манько В.В. 2010 г. Николаев
High availability — кластер высокой доступности
Кластер высокой доступности обеспечивает непрерывную доступ-
ность сервисов, исключая единичные точки падения системы
посредсвом переноса сервисов с отказавшего node на резервный
Данная кластеризация поддерживает целостность данных между
node в системе
Для конечного пользователя отказ компонента кластера незаметен
Часто данные кластеры называют отказоустойчивыми
9. Storage cluster
Манько В.В. 2010 г. Николаев
Storage cluster — кластер единого хранилища
Данный тип кластера создает единый образ файловой системы
между всеми серверами кластера, позволяя серверам одновременно
записывать и считывать данные с единой общей файловой системы
Для приложений запущенных в данном окружении, кластер
представляет единую файловую систему, что избавляет от
необходимости создания избыточных копий приложений и
упрощает резервирование и аварийное восстановление
10. Load-balancing cluster
Манько В.В. 2010 г. Николаев
Load-balancing — кластер балансировки нагрузки
Кластер балансировки распределяет нагрузку на сетевые сервисы
между нодами кластера
При выходе нода из строя, кластер перераспределяет нагрузку
между оставшимися членами структуры
Выход частей кластера из строя прозрачен и невидим для конеч-
ного пользователя
11. High-performance cluster
Манько В.В. 2010 г. Николаев
High-performance — вычислительный кластер
Вычислительный кластер использует ноды для выполнения
параллельных вычислений
Позволяет специально написанному приложению распараллелить
вычисление одной задачи между нодами кластера для ускорения
получения конечного результата
Данный тип кластеризации известен как computational cluster
или grid computing
12. Комбинированные кластерные системы
Манько В.В. 2010 г. Николаев
Комбинация кластерных схем — оптимальное решение
Отдельные типы кластеризации используются для решения узких
задач
Некоторые типы не дают максимальной эффективности в соло
режиме (балансировка нагрузки не эффективна без отказоус-
тойчивого хранилища итд)
13. Манько В.В. 2010 г. Николаев
Отказоустойчивый кластер на базе DRBD и HEARTBEAT
14. Манько В.В. 2010 г. Николаев
Отказоустойчивый кластер на базе DRBD и HEARTBEAT
DRBD (Distributed Replicated Block Device) – распределенное и
синхронизированное блочное устройство, это программное
обеспечение для зеркалирования контента блочных устройств
(HDD, partitions, logical
volumes...)
Каждый ресурс играет свою роль:
- Первичный
- Вторичный
3 режима репликации:
- Асинхронный
- Полусинхронный
- Синхронный
15. Манько В.В. 2010 г. Николаев
Отказоустойчивый кластер на базе DRBD и HEARTBEAT
Heartbeat – это сервис для управления узлами кластера.
Который занимается запуском/остановом сервисов, мониторингом
доступности систем в кластере и сменой владельца общего
IP-адреса если primary node приходит в неработоспособное
состояние.