У меня есть пара серверов, которые я хотел бы подключать друг к другу напрямую, а не через коммутатор, общий для остальной сети. Я ожидаю получить выгоду от более низкой задержки и более высокой пропускной способности, предоставляемой прямым подключением (включая гораздо большие MTU).
Обе машины в настоящее время работают под FreeBSD-11.2, и каждая имеет свой собственный пул ZFS с несколькими файловыми системами. Быстрый перекрестный доступ к этим файловым системам - одна из основных задач.
Для этого купил пару использованных карт (Mellanox IBM 46M2201 с двумя портами ConnectX 4X) и у вас есть следующие вопросы:
Заранее большое спасибо за любые идеи. Если есть онлайн-документ с ответами (на некоторые из этих вопросов), я был бы рад воспользоваться ссылкой - все, что я могу найти, похоже, зависит от поставщика ...
(Почему вопрос о подключении серверы считается "не по теме" на Serverfault?)
У меня нет ответов на 1-3, только некоторая дополнительная информация о приложениях Infiniband (IB), которая может помочь вам найти ответ. Хотя я могу ответить на 4.
1) Какие у меня варианты подключения? Основная цель - обмен данными - мой единственный выбор - NFS, или во FreeBSD есть что-то специфичное для Infiniband?
2) Если это NFS, должен ли он быть через IP, или есть какой-то «более интимный» протокол, специфичный для Infiniband?
Ключевое слово, которое следует искать, - это, вероятно, NFS поверх RDMA, но быстрый поиск показывает, что для FreeBSD это еще не все. Вы также можете посмотреть SRP или iSER, но я не нашел ссылок на какие-либо приложения, использующие эти протоколы IB.
3) Если это NFS поверх IP, выбрать UDP или TCP? Есть ли другие параметры настройки, чтобы максимально выжать из прямого подключения?
TCP. Согласно FreeBSD IB Wiki, как часть вашей конфигурации IB, вы устанавливаете режим подключения, который похож на использование TCP. По крайней мере, в мире Linux при использовании режима подключения следует использовать только NFS поверх TCP, а не UDP. NFS через UDP следует использовать только при использовании режима дейтаграммы, и ни то, ни другое не рекомендуется.
4) Какой тип кабеля мне нужен для прямого подключения? К моему удивлению, поиск «кабеля бесконечной полосы» вернул множество продуктов с разными разъемами.
Вам нужен кабель «QDR», сокращенно от «Quad Data Rate» или 40 Гбит / с. Карты ConnectX-3 выполняют FDR, что является сокращением от «Четырнадцатая скорость передачи данных» или 56 Гбит / с (14 Гбит / с * 4 полосы). Для вашей карты подойдет любой кабель.
Вы можете купить фирменные кабели Mellanox, и в этом случае вы знаете, что они будут работать, или можете приобрести кабели сторонних производителей. Мне нравятся кабели марки 3М. Это плоский кабель, который поддерживает очень острый радиус изгиба и позволяет укладывать пучок кабелей в очень маленькое пространство без перекрестных помех. Использованные кабели Mellanox QDR должны быть действительно дешевыми на eBay. Я никогда не покупал подержанные, но если вы это сделаете, вы ДОЛЖНЫ получить кабель, который был протестирован - это сложно устранить, если у вас нет работающей системы для сравнения.
Есть два типа кабелей - пассивные (медные) и активные (оптоволоконные). Волоконно-оптические кабели жестко прикреплены к разъемам QSFP, поэтому вам придется приобретать их определенной длины. Медь имеет максимальную длину 3 метра или может быть до 5 метров - больше, и придется использовать оптоволоконные кабели. Не покупайте оптоволоконный кабель, пока все не будет на 100% работать на меди. Я видел случаи, когда медь работала нормально, а оптоволокно - нет, из-за необычного режима отказа оборудования. Исключите эту возможность, пока у вас не будет опыта и запаса деталей для устранения неполадок.
А теперь еще несколько советов, о которых вы не просили, но которые могут помочь. Во-первых, убедитесь, что вы используете openm в одной из систем. Думайте об этом как о сервере DHCP; без этого две системы будут физически связываться, но не будут передавать никаких данных.
Во-вторых, некоторые Карты Mellanox будут работать в режиме IB или Ethernet. Обычно это карты серии VPI. Я не уверен, был ли такой вариант в ConnectX-2 или ваши карты его поддерживают. Но если они это сделают, возможно, будет проще использовать эти карты как 40GBE вместо QDR IB и иметь хорошую производительность NFS. По моему опыту работы с Linux, мы видим, что IPoIB имеет около 20-30% производительности в виде скорости передачи данных. Вы получите скорость передачи данных с протоколами IB, такими как RDMA, или переключившись в режим Ethernet.