Перейти к содержимому
Калькуляторы

Cisco 3750G+Centos Отказоустойчивая система

Здравствуйте!

Интересует создание отказоустойчивой системы на базе двух свитчей Cisco 3750G и нескольких серверов Linux Centos.

Для отказоустойчивости в качестве бекендов на Linux используется nginx, каждый сервер воткнут в две Cisco двумя патч-кордами, работает Etherchannel, интерфейс на Linux соответственно bond0.

Я планирую в порты, которые подключены к этим серверам, посылать Multicast по MAC адресу, на самих же серверах будет использоваться iptables+clusterip, где будет прописан один IP адрес с одинаковым MAC адресом, который прописан в Cisco в качестве мультикаста.

 

Кто нибудь работал с такой связкой? Т.к. говорят, но я еще не тестировал, что при пропадании одного из бекендов Linux - часть трафика от клиентов будет теряться.

 

Или есть какие нибудь другие способы построить отказоустойчивую систему с использованием данного оборудования?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

heartbeat

или

ipvsadm ?

heartbeat, на сколько я понимаю, позволяет систему active-backup. В моём же случае должны работать все, при этом гибко масштабироваться.

ipvsadm - почитаю что это такое.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да, не подходит. Опять одна точка входа и надо держать запасную.

В моём текущем случае точкой входа является Cisco, причем работают сразу две, т.к. у меня Etherchannel на обе циски от провайдера.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ipvsadm резервируется через heartbeat, за ним стоит пачка серверов....

 

У меня пачка локальных сайтов живет на подобной схеме - фронтендом нгинх на heartbeat кластере, за ним пачка машинок с апачами... При пропадании одной машины получаем небольшую задержку в отдаче контента на часть клиентов, потом все выравнивается... Собсно клиенты не особо это замечают... Только php надо правильно настроить - единое хранилище сессий....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ipvsadm резервируется через heartbeat, за ним стоит пачка серверов....

 

У меня пачка локальных сайтов живет на подобной схеме - фронтендом нгинх на heartbeat кластере, за ним пачка машинок с апачами... При пропадании одной машины получаем небольшую задержку в отдаче контента на часть клиентов, потом все выравнивается... Собсно клиенты не особо это замечают... Только php надо правильно настроить - единое хранилище сессий....

Сейчас у меня keepalived с HAProxy, который раскидывает на несколько nginx потом уже кидает на apache. Обеспечением сохранностью сессий занимаются программисты.

Меня больше интересует, как выкинуть софтовую прослойку перед nginx, что бы снизить трафик и нагрузку на машину, где сейчас активен внешний IP адрес.

Для этого я выбрал 3750G, но, как оказалось что это не совсем то, оборудование уже есть и поэтому надо использовать что есть. Текущий вариант с clusterip он работоспособен, но я заранее уже ожидаю подводных камнейи какое нибудь альтернативное решение на основе текущего оборудования, для тестов, прежде чем все это пускать в продакшен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

собирайте 3750 в стек и поднимайте multi-chassis etherchannel

Изменено пользователем f13

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

собирайте 3750 в стек и поднимайте multi-chassis etherchannel

Оно так сейчас и есть.

На серваках два порта Ethernet, первый - в первую циску, второй во вторую циску, стековые кабеля оба подключены, etherchannel между портами в разных цисках тоже есть. Linux все видит, работает по 802.3ad.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Т.к. говорят, но я еще не тестировал, что при пропадании одного из бекендов Linux - часть трафика от клиентов будет теряться.

 

Скорее всего, да. Т.к. clusterip полностью статический и не знает, что происходит с другими нодами. Следовательно хэш перестроить не может.

А что Вы подразумеваете под фразой 'пропадание одного из бекендов'? Сервер физически издох? Или слушающий порт процесс упал?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Т.к. говорят, но я еще не тестировал, что при пропадании одного из бекендов Linux - часть трафика от клиентов будет теряться.

 

Скорее всего, да. Т.к. clusterip полностью статический и не знает, что происходит с другими нодами. Следовательно хэш перестроить не может.

А что Вы подразумеваете под фразой 'пропадание одного из бекендов'? Сервер физически издох? Или слушающий порт процесс упал?

И тот и другой вариант.

Тестировал я нагрузочным скриптом на 4 серверах, отключал nginx на одном сервере, другом, потом включал его - трафик снова на него шел. Так же перезагружал машину, все работало. Но тестировал я с одной машины только, поэтому наверное провалов и не видел.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас