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

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 на одном сервере, другом, потом включал его - трафик снова на него шел. Так же перезагружал машину, все работало. Но тестировал я с одной машины только, поэтому наверное провалов и не видел.

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


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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.