Я создаю домашний кластер, где у меня будет около 16 узлов, которые могут работать с портами 1G, но я хочу иметь 10GE на файловом сервере и центральном узле. Все локально, поэтому нет необходимости в кабелях длиннее 3-5 м. И, конечно, я хочу потратить как можно меньше денег (не собираюсь тратить больше, чем стоит весь кластер) :-)
Какие у меня есть варианты?
- Устаревшее решение — взять какой-нибудь 24-48-портовый 1GE-коммутатор и подключиться к файловым/центральным узлам через 4-8 агрегированных каналов. Думаю, это сработает, стоимость вполне приемлемая, но я не уверен, что можно использовать так много агрегированных каналов. И, конечно, будет сложно удвоить пропускную способность, когда это необходимо... :-D
- Коммутатор с несколькими 10GE uplink 'портами'. Насколько я понимаю, все они требуют модулей, которые стоят около 1000$, так что мне понадобится 4 10G модуля и 2 10GE карты... Пахнет намного больше, чем 5000$+...
- Подключите файл и центральный узел напрямую через 2 карты 10G и поместите 4 четырехпортовых 1GE NIC на файловый сервер. Я экономлю на 2 модулях 10G и коммутаторе, файловый сервер должен будет выполнять маршрутизацию пакетов, но у него все еще останется много ресурсов ЦП :-)
- Есть еще варианты? Infiniband?
- Адаптеры MyriNet работают нормально? Думаю, дешевле вариантов нет?
- Хм... Убрать файловый сервер, поместить все на центральный узел и выделить выделенный порт 1GE для каждого узла... Это печально...
решение1
Я не думаю, что вы не видите здесь всей картины.
Вы хотите подключить файловый сервер на скорости 10 Гбит/с, что может показаться заманчивой идеей. То, чего вы не видите, — это способность этого сервера генерировать такой объем трафика, считывая данные с дисков. Получение 1 Гбит/с от файлового сервера сегодня является очень хорошим достижением. 10 Гбит/с будут не только дорогими, как вы сами поняли, но и как минимум на 90% бесполезными.
Лучшим вариантом будет начать устанавливать в файловых серверах сверхбыстрые диски, если им нужно обеспечить такие большие объемы операций ввода-вывода. Я твердо верю, что «доступный» (обратите внимание на кавычки) путь к этому — это SSD-диски в быстрых конфигурациях RAID (то есть RAID10).
Что касается сети, то 4x1Gbps agregate будет вполне достаточно, и вы даже сможете добавить больше позже. Обратите внимание на тот факт, что внутренние шины (читай PCI*) не всегда способны обрабатывать многогигабитные скорости. Это особенно актуально, если вы не используете материнские платы серверного уровня.
Я считаю, что это ваш единственный "доступный" вариант здесь. Карты Infiniband не так уж и дороги. Я считаю, что вы можете найти их за ~150$, но переход будет очень дорогим.
решение2
вы можете рассмотреть ATA over Ethernet, если хотите сэкономить на некоторых дорогих коммутаторах уровня 3. это протокол выбора для решения с низкой стоимостью, но высокой производительностью, чем любая другая файловая система, о которой я знаю сегодня. Но нет ванильных коммутаторов 10Gb (без коммутации L3).
рассмотреть в качестве POC: проект Ubuntu Server 10.x и AOE tools http://sourceforge.net/projects/aoetools/files