Можно ли соединить две карты Mellanox ConnectX-2 на двух отдельных компьютерах друг с другом без переключения между ними? Я просто пытаюсь научиться программировать глаголы, не тратя долларов на дорогой переключатель.
Нужен ли мне специальный кабель или стандартный работает нормально? В стандартном Ethernet мне понадобится кросс-кабель.
Да, вы можете подключить их напрямую. Но вы должны убедиться, что хотя бы на одной из машин вы запускаете менеджер подсети opensm.
Со стороны программного обеспечения, если вы использовали Ubuntu 14.04, установите следующие пакеты:
sudo apt-get install opensm infiniband-diags librdmacm-dev libibverbs-dev libmlx4-dev
Затем добавьте их в / etc / modules
mlx4_ib
ip_ipoib
rdma_ucm
Добавьте IP-адрес на карту. отредактируйте / etc / network / interfaces
auto ib0
iface ib0 inet static
address 10.0.0.1
netmask 255.255.255.0
Перезагрузка.
Opensm запустится автоматически. Повторите описанное выше для другого компьютера, но используйте другой IP-адрес: 10.0.0.2.
Все идет хорошо, вы должны иметь возможность пинговать 10.0.0.2 с 10.0.0.1 и наоборот.
Проведите несколько тестов:
sudo ibnodes
О, есть ошибка в скриптах для ibnodes и некоторых других. Вы можете исправить их, отредактировав их. В основном это сценарии оболочки, которые указывают на / usr / local / sbin, когда они фактически вызывают приложения в / usr / sbin.
Если вы найдете его, отредактируйте его и измените IBPATH соответствующим образом. Я так и не успел написать отчет об ошибке Ubuntu для этого. Надеюсь, это сделает кто-то другой. Это была проблема целую вечность.
Результат будет выглядеть примерно так:
Ca : 0x001a4bffff0c9374 ports 2 "HP Lion Cub DDR 128MB"
Ca : 0x001a4bffff0c446c ports 2 "HP Lion Cub DDR 128MB"
Ca : 0x001a4bffff0c4438 ports 2 "HP Lion Cub DDR 128MB"
Switch : 0x000b8cffff006aa8 ports 24 "MT47396 Infiniscale-III Mellanox Technologies" base port 0 lid 2 lmc 0