KsI-wiki online documents

Ipvs-vertica

Материал из Ksimute

Перейти к: навигация, поиск

Есть такая эндемичная база данных Vertica. Она умеет ранаться на кластере и лопатить мегатонны данных.

Ноды кластера полностью равноправны. т.е. абсолютно нет разницы откуда читать данные и куда писать тоже.

Штатно вертика рекомендует поднятие IPVS для балансировки нагрузки.

Это встроенный в ядро Linux load-balancer, frontend для создания балансирующих нагрузку кластеров под Linux.

http://www.linuxvirtualserver.org/software/ipvs.html

IPVS (IP Virtual Server) implements transport-layer load balancing inside the Linux kernel, so called Layer-4 switching.

IPVS running on a host acts as a load balancer at the front of a cluster of real servers, it can direct requests for TCP/UDP based services to the real servers, and makes services of the real servers to appear as a virtual service on a single IP address.

наша конфигурация. Наружу смотрят 2 сервера master, slave (можно совместить с нодами, т.к. трафик база данных генерирует не большой) бэкенд - собственно сами ноды 5 штук.

Клиент коннектится к мастеру, director (скрипт от вертики) определяет какая нода меньше всего загружена и отсылает соединение на нее. Если мастер ломается, slave director поднимает внешний ip и распределяет соединения.

Разумеется если нода вылетела, соединения уже установленные с ней напрямую сломаются, но установленные через VIP не сломаются и новые сессии тоже нормально создадутся.

Чумаништяк! Только я как в прошлом поработавшый в ISP человек начинаю бояться connectivity и косяков сетевых инженеров, особенно если сервера в аренде и неизвестно как и что построено.

The LVS node needs two real (corporate lan, or internet) IPs and two virtual (private network for the cluster) IPs; one each outside and inside. The virtual IPs will be moved between the two LVS nodes on failover, whereas the real IPs will stay with the hardware they're assigned to.

Запросы снаружи на real IP можно перенаправлять с помощью NAT на PREROUTING. (предположение) The private virtual IP must be configured in each realserver as the gateway node.