Top Banner
Созинов Роман HA-кластер своими руками
16

Ha Cluster Svoimi Rukami

Jul 02, 2015

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Ha Cluster Svoimi Rukami

Созинов Роман

HA-кластерсвоими руками

Page 2: Ha Cluster Svoimi Rukami

Что такое кластер?• распределители нагрузки/

маршрутизаторы (load balancer, director)

• рабочие узлы кластера (nodes, реальные сервера)

• разделяемые ресурсы (shared storage, database)

Page 3: Ha Cluster Svoimi Rukami

Linux Virtual ServerIPVS - набор дополнений к Linux ядру, реализующий

функциональность распределителя нагрузки. VIP (Virtual IP) - виртуальный ip-адрес, использующийся

только клиентами для доступа к ресурсам кластера.Virtual Service - виртуальный сервис, доступный на VIP.Варианты маршрутизации трафика в LVS:

• VS via NAT• VS via Direct Routing• VS via IP Tunneling

Page 4: Ha Cluster Svoimi Rukami

Virtual Server via NAT

Page 5: Ha Cluster Svoimi Rukami

Virtual Server via Direct Routing

Page 6: Ha Cluster Svoimi Rukami

Virtual Server via IP Tunneling

Page 7: Ha Cluster Svoimi Rukami

Преимущества и недостатки различных способов маршрутизации • VS/NAT прост в реализации, но ограничен в масштабируемости.• VS/Direct Routing хорошо масштабируется, в отличие от IP Tunneling

отсутствуют издержки на реализацию тунелей. Требует поддержки операционной системой Loopback-интерфейса (ARP-response проблема), load balancer и физические сервера должны находиться в одной физической сети.

• VS/IP Tunneling позволяет разнести географически реальные сервера, отлично масштабируется, но требует поддержки IP Tunneling в используемых ОС.

Page 8: Ha Cluster Svoimi Rukami

Распределение нагрузки• IPVS распределяет нагрузку, работая на уровне

ядра (hash table), на транспортном уровне (L4)• Утилита ipvsadm используется для

добавления(удаления) реальных серверов в(из) кластер(а)

• При распределении нагрузки учитываются технические характеристики реальных серверов (коэффициенты), число активных соединений, с учётом IP-адреса получателя (отправителя)

Page 9: Ha Cluster Svoimi Rukami

Алгоритмы распределения нагрузки • Циклическое распределение (Round-Robin Scheduling)• Циклическое распределение с весовыми коэффициентами

(Weighted Round-Robin; A-4, B-3, C-2: AABABCABC)• Минимум соединений (Least-Connection Scheduling)• Weighted Least-Connection Scheduling• Сохранение соединения (Connection Affinity)• Firewall Marks

Page 10: Ha Cluster Svoimi Rukami

Безотказная работа load balancer'а • Heartbeat

• VRRP (Virtual Router Redundancy Protocol, RFC2338, sync group)

• CARP (Common Address Redundancy Protocol, pfsyncd)

Page 11: Ha Cluster Svoimi Rukami

Инструменты управления кластером

• Heartbeat (HA-Linux). Комплект утилит (heartbeat, stonith). Широкий выбор вариантов конфигурации (например, heartbeat по COM-порту). Присутствует GUI (python-gtk). SUSE support.

• Keepalived (http://www.keepalived.org). "Всё в одном" с использованием VRRP-протокола. Проект активно развивается разработчиками. Пока нет реализации IPv6. Отсутствует GUI.

• Piranha - (утилиты pulse, nanny). RedHat разработка, похоже остановлена, но если Вы планируете использовать RedHat/CentOS системы, лучше всего выбрать данный продукт. Присутствует web-GUI. Хорошая документация.

Page 12: Ha Cluster Svoimi Rukami

Heartbeat GUI

Page 13: Ha Cluster Svoimi Rukami

Piranha GUI

Page 14: Ha Cluster Svoimi Rukami

Разделяемые ресурсы • сервис (NFS-директория,

примонтированная на всех нодах, CIFS, database, DRBD)

• блочное устройство, доступного всем нодам (SAN, iSCSI, GNBD)

Page 15: Ha Cluster Svoimi Rukami

Блочное устройство в кластере • Кластерные файловые системы

– GFS (активная разработка, отличная документация, support, fencing)

– OCFS2 (Oracle RAC, разработка остановлена)

Page 16: Ha Cluster Svoimi Rukami

Благодарю за внимание!