Рейтинг:6

Подключение сотен серверов через локальную сеть (LAN)

флаг in

Я кэширую много данных в памяти на локальный Редис сервер. Сервер должен будет подключаться к сотням других серверов в том же центре обработки данных (поскольку всем им нужен доступ к одной и той же информации, размещенной на сервере Redis).

Чтобы свести к минимуму задержку и максимально увеличить пропускную способность, я планирую подключить все серверы к серверу Redis с помощью 40-гигабитного Ethernet (40 Гбит/с).

Я понимаю, как подключить пару серверов к одному серверу, но как мне подключить сотни серверов к одному серверу? Я имею в виду, я не вижу достаточно портов для подключения такого количества серверов...

Есть ли устройство, которое позволит мне соединить все эти серверы вместе?

флаг in
Вам действительно нужна эта пропускная способность? Вам нужно будет создать звездообразную сеть, как и при любой другой настройке Ethernet. связывание/соединение нескольких портов для более высокой пропускной способности и отказа одного канала, рассмотрите возможность многопутевого распространения, а также несколько синхронизированных экземпляров Redis.
mfinni avatar
флаг cn
Как можно любезнее: пожалуйста, наймите системного администратора для всего, что вы делаете. Наймите хорошего. Тратить на них много денег.
флаг sa
Вы протестировали эту схему в старом добром 1Gb Ethernet и обнаружили, что пропускная способность Ethernet была проблемой, верно? Или хотя бы посчитали?
флаг sa
Redis, по-видимому, однопоточный. Может ли один поток увеличить пропускную способность до 40 Гб? Я действительно сомневаюсь в этом - Redis, вероятно, вас замедлит. Вы можете использовать более одной копии Redis, но если вы можете использовать 5 копий Redis на одном сервере, вы также можете использовать одну копию на 5 серверах (которые у вас уже есть) и сэкономить деньги, не покупая один большой сервер только для Редис.
David Browne - Microsoft avatar
флаг in
Обычно в каждой стойке есть коммутатор Ethernet, и каждый из этих восходящих каналов подключен к основному коммутатору Ethernet. https://www.cisco.com/c/en/us/products/switches/what-is-an-ethernet-switch.html#~q-a
флаг sa
Довольно странно встретить программиста, который никогда не слышал о коммутаторах Ethernet, но [вы один из сегодняшних 10000 счастливчиков](https://xkcd.com/1053/)
Criggie avatar
флаг in
Рассмотрите также вашу настройку избыточности - один единственный сервер Redis является SPOF, и если он влияет на производство, то сбой будет плохим.
флаг cn
«Сотни серверов в дата-центре» — Дата-центр уже настроен? Если да, то ваш сервер можно просто подключить к коммутатору в существующей сети дата-центра. Если нет, то вопрос должен звучать так: «Как настроить центр обработки данных с сотнями серверов».
флаг cn
Итак... машины выходят из строя. Много. Задумывались ли вы, что произойдет, если ваш единственный кеш-сервер выйдет из строя? Или нужно снести на техническое обслуживание? Возможно, какой-то кластер Redis подойдет лучше?
флаг in
Если кто-то ищет вопрос, который получает неоправданное положительное внимание, вот он.
Bib avatar
флаг cn
Bib
Если это все одни и те же операционные системы, и одна операционная система будет скомпрометирована, то все остальные будут тоже в очень короткие сроки.
флаг ve
Если вы действительно не понимаете или не знали ранее, что делает сетевой коммутатор, я бы рекомендовал изучить сетевое оборудование намного больше, прежде чем инвестировать в реальное оборудование. Соединения со скоростью 40 Гбит/с довольно дороги, и вы не должны получать все это оборудование только для удовольствия. Даже 2x10 Гбит/с в конфигурации 802.3ad (LACP) с резервными коммутаторами обеспечивает достаточную пропускную способность, а задержка для каждого сервера часто становится большим узким местом, чем пропускная способность сети. И вы не потеряете всю сеть при выходе из строя одного коммутатора. Если у вас более 3 серверов, вы должны сделать их избыточными.
Рейтинг:14
флаг cv

Я понимаю, как подключить пару серверов к одному серверу, но как могу ли я подключить сотни серверов к одному серверу? я значит, я не вижу достаточно портов для подключения такого количества серверов.

Ну... вам нужно будет подключить все серверы к сетевому коммутатору соответствующего размера. Они используются десятилетиями. Первый коммерческий многопортовый сетевой коммутатор Ethernet был представлен в 1989 году.

Рейтинг:9
флаг ru

Я кэширую много данных в памяти на локальный сервер Redis. Сервер должен будет подключаться к сотням других серверов в том же центре обработки данных (поскольку всем им нужен доступ к одной и той же информации, размещенной на сервере Redis).

Объем данных, которые вы храните/кешируете, не имеет значения. Актуальным является скорость при котором вам нужно передать данные в или из хранилища.

Чтобы свести к минимуму задержку и максимально увеличить пропускную способность, я планирую подключить все серверы к серверу Redis с помощью 40-гигабитного Ethernet (40GbE).

Для большого количества сетевых портов большого объема вам потребуется хороший проект инфраструктуры. Вам требуется не только огромная пропускная способность внутри сервер Redis — сеть, хранилище и обработка — но и средства для распределять эта пропускная способность.

В зависимости от точного размера требуется большой коммутатор шасси (до 800 портов или около того) или иерархическое дерево. Этот документ от Cisco должно стать хорошей отправной точкой. Для вашего размера, скорее всего, достаточно конструкции со сложенным сердечником.

флаг cn
«Сотни серверов», взаимодействующих с однопоточным экземпляром Redis, не нуждаются в разработчике, чтобы купить коммутатор за миллион долларов. Им нужно использовать эти деньги, чтобы нанять кого-то, кто *слышал* о коммутаторе, а затем купить пару 48-портовых неуправляемых гигабитных коммутаторов.
Zac67 avatar
флаг ru
@JacobKrall Мы не знаем, насколько хорошо масштабируется этот сервер Redis и является ли он * однопоточным * - я пытался указать на необходимость оценки * требований к сети, хранилищу и обработке *.
Рейтинг:2
флаг se

Ну, это зависит от ваших потребностей.

Вы можете спросить своего дистрибьютора, где вы хотите купить это оборудование. Они хотят помочь вам заключить эту сделку.

Один пример:

Если у сотен серверов есть только гигабиты, вы можете использовать до 10 серверов HPE 2930M, объединенных в стек с модулями стекирования и кабелями стекирования. Затем добавьте модуль 40 Гбит/с как минимум в два из них для резервирования и соедините ваш сервер с обоими модулями кабелями DAC.

2930M имеет до 48 портов, то есть 480 серверов + один сервер 40G. В зависимости от ваших потребностей выберите различные переключатели.

Если вам не нужна гибкость, но нужна большая пропускная способность, вам следует использовать модульный коммутатор.

Вы можете найти помощь на сайтах нескольких поставщиков, но здесь я предлагаю вам решение HPE для поиска коммутатора, если вы хотите сделать это в одиночку:

Селектор сетевых коммутаторов HPE

Опять же: спросите у того, кто продает вам это решение, может ли он/она помочь с заказом. В противном случае у вас могут возникнуть проблемы при попытке собрать все вместе, и вы заметите, что есть разные блоки питания, модули, кабели, которые подходят к разным моделям. Некоторым моделям 2930M, например, требуется больше энергии, чем другим моделям 2930M.

fraxinus avatar
флаг ng
Запрашивать у продавца сложное техническое решение — это прямой путь к катастрофе.
флаг se
Для такого размера конечно не продавец. У дистрибьюторов, с которыми я работал, были техники/архитекторы, которые помогали в подобных случаях.
флаг cn
Спрашивать кого-либо, кто заинтересован в дополнительных продажах, будь то продавец или технический консультант дистрибьютора, все еще ведет к катастрофе :-)

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.