Я подумываю о следующей реструктуризации своего хранилища среднего размера. В настоящее время он составляет около 30 ТБ, распределяется через AoE. Мои основные варианты:
Лично мне нравится соотношение цены и производительности хост-адаптеров InfiniBand, и большинство предложений Supermicro (мой предпочтительный бренд оборудования) имеют IB в качестве опции.
В Linux уже давно есть драйверы IPoIB; но я не знаю, есть ли общеизвестное использование хранилища. В большинстве комментариев об iSCSI через IB говорится об iSER и о том, что он не поддерживается некоторыми стеками iSCSI.
Итак, есть ли у кого-нибудь советы о том, как использовать IB для общего хранилища для серверов Linux? Есть ли какой-нибудь инициатор / целевой проект? Могу ли я просто использовать iSCSI поверх IPoIB?
Итак ... то, о чем большинство людей действительно не задумывается, это то, как Ethernet и IB доставляют пакеты. С одной стороны, Ethernet действительно прост, и он везде. Но управление пакетами - это не автоматическая магия и не гарантированная доставка. Согласен, современная коммутация отличная! Потеря пакетов больше не проблема, как раньше. Однако, если вы действительно нажмете Ethernet, вы начнете видеть, как пакеты там зацикливаются. Как будто они действительно не знают, куда идти. В конце концов, пакеты попадают туда, где они должны быть, но задержка, вызванная зацикливанием, уже произошла. Нет НИКАКОГО способа направить пакеты коаксиального кабеля туда, где они должны.
Infiniband использует гарантированную доставку. Пакеты и доставка пакетов активно управляются. Вы увидите, что производительность IB достигает пика, а затем время от времени падает, как квадрат-синус. Падение закончилось через миллисекунды. Затем производительность снова достигает пика.
Etherenet также достигает пика, но с трудом при большом использовании. Вместо квадратично-синусоидального сигнала он падает, а затем требуется время, чтобы вернуться к максимальной производительности. Это похоже на лестницу слева и прямое падение справа.
Это проблема в крупных центрах обработки данных, где инженеры выбирают Ethernet вместо IB, потому что это просто. Затем администраторы баз данных и инженеры по хранению данных ругаются, обвиняя друг друга в проблемах с производительностью. И когда они обращаются за ответами к сетевой команде, проблема обходится без внимания, потому что большинство инструментов видят, что «среднее» использование сети не обеспечивает максимальной производительности. Вы должны наблюдать за пакетами, чтобы увидеть это поведение.
Ой! Есть еще одна причина выбрать IB over Ethernet. Каждый порт IB (FDR) может пропускать 56 Гбит / с. Вы должны связать (6) портов 10Ge на 1 порт IB. Это означает БЕСПЛАТНУЮ прокладку кабелей.
Между прочим ... когда вы создаете финансовые системы, хранилища данных, биологические логические системы или большие системы данных, вам нужно много операций ввода-вывода в секунду + пропускная способность + низкая задержка + память + ЦП. Вы не можете убрать ни одного из них, иначе ваша производительность пострадает. Мне удалось передать до 7 Гбайт в секунду из Oracle в хранилище all-flash. Мое самое быстрое сканирование всей таблицы - 6 миллиардов строк за 13 секунд.
Транзакционные системы могут уменьшить общую пропускную способность, но им по-прежнему нужны все другие компоненты, упомянутые в предыдущем абзаце. В идеале вы должны использовать 10Ge для общедоступных сетей и IB для хранения и межсоединений.
Только мои мысли ... Джон
Хотя можно запустить iSCSI через InfiniBand через IPoIB, протоколы iSER и SRP обеспечивают значительно лучшую производительность в сети InfiniBand. Реализация iSER для Linux доступна через tgt проект и реализация SRP для Linux доступны через SCST проект. Что касается поддержки Windows: в настоящее время драйвер инициатора iSER для Windows недоступен. Но драйвер инициатора SRP для Windows доступен в программном пакете winOFED (см. Также веб-сайт openfabrics.org).
Мне только что пришлось иметь дело с IB SAN с использованием сетевых карт Mellanox. Работает "из коробки" на RHEL
Вам нужны преимущества задержки IB или вы просто ищете какую-то комбинацию сети и хранилища? Если первое, то у вас нет выбора, IB - это здорово, но с ним сложно справиться, FC отлично работает, он хорош и быстр, но иногда кажется немного «старой шляпой», iSCSI может быть отличным решением, если учесть все возможные последствия. На вашем месте я бы использовал хранилище FC через FCoE через коммутаторы Cisco Nexus LAN и конвергентный сетевой адаптер.
А как насчет Ethernet 10 ГБ? Чем экзотичнее интерфейс, тем тяжелее вам придется искать драйверы и избавляться от ошибок, и тем дороже все будет.
Хорошо - вот краткое изложение, учитывая, что все находится на расстоянии кабеля cx4 (15 метров):
(Я использую доллары США и прейскурантные цены, указанные на веб-страницах. Я предполагаю, что цены поставщиков также указаны в долларах США)
Infiniband настолько дешевле?
(обратите внимание - я на самом деле никогда не использовал это оборудование, я использую только то, что появляется в Google после 30 секунд поиска в Google. Я, конечно же, не одобряю это и не даю рекомендаций, что это поможет или плохой)
Я подошел к той же проблеме, используя 10-гигабитный iSCSI с выделенным 6-портовым коммутатором (HP 6400cl-6XG - 2200 долларов) и двухпортовыми сетевыми адаптерами Intel CX4 (Intel EXPX9502CX4 - 650 долларов). Стоимость сервера снизилась до сетевой карты и кабеля CX4 за 100 долларов. В этом случае требовалось очень мало, чтобы драйверы и т. Д. Работали в смешанной среде Linux, Windows и OpenSolaris.
NFS через RDMA отлично работает в Fedora linux
Настроить очень просто. Установите правильный rpms и настройте пару файлов. Просто погуглите, чтобы найти инструкции.
Я использовал карты Mellanox MT25208 PCIe-x8 infiniband, прошитые до последней прошивки. Общая стоимость двух карт и кабеля длиной 15 м: 150 долларов США. Кого волнует «рыночное принятие» такой ценой.
Пропускная способность Smokin, значительно превышающая 400 МБ / сек, при очень небольшой загрузке ЦП на клиенте или сервере. Узкое место - это RAID-контроллер.
В качестве бонуса X over IPOIB тоже курит, можно поклясться, что приложение локальное.
Сложность с IB при построении SAN заключается в управлении целью srp. Готовых решений очень мало, и большинство из них дорогие. Если бы такие продукты, как Open-E, внедрили встроенную поддержку IB в свое программное обеспечение (в частности, srp), у вас было бы простое аппаратное решение. Клиентскую часть очень просто настроить на RHEL, и она отлично работает. У нас есть запущенная и работающая тестовая система, которая стабильно работает со скоростью 600 МБ / с и при высокой нагрузке. Производительность потрясающая, а большой объем доступной полосы пропускания дает вам уверенность и гибкость. Да, вы по-прежнему ограничены скоростью вашего массива, но с IB вы можете подключать несколько массивов без потери производительности. Используйте один для резервного копирования, один для основного хранилища и т. Д. И используйте их одновременно без потери производительности. По моему опыту, в качестве чистой сети хранения RDMA, без IP, нет ничего, что могло бы превзойти IB, и если вы присмотритесь к ней, вы можете настроить что-то по очень разумной цене. Если бы кто-то представил какое-то программное обеспечение для устройств хранения, подобное Open-E, с полной целевой поддержкой SCST SRP, это открыло бы основной рынок для IB, и я был бы очень счастлив.
Я сам не реализовал решение для хранения IB, но основная проблема, насколько я понимаю, заключается в том, что драйверы хоста не широко используются в вашей средней среде. Они более широко используются в мире Windows, чем в мире Linux. В мире Linux они обычно используются в «упакованных» аппаратных устройствах Infiniband или в суперкомпьютерных приложениях с настроенными / настроенными драйверами.
10 г Ethernet или 10 г волокна используются гораздо шире.