Настройка IP поверх InfiniBand, в общем, не отличается от настройки IP поверх Ethernet. Есть только несколько моментов, на которые следует обратить внимание. Интерфейсы IPoIB в системе называются >ib0, ib1 и т. д. (по одному интерфейсу на порт InfiniBand). Адреса лучше назначать статически, прописывая их в конфигурационных файлах серверов и вычислительных узлов. Работа протокола DHCP поверх IPoIB возможна, но для надёжности мы рекомендуем его не использовать.

Адрес канального уровня (link layer address), который в сетях Ethernet называется MAC-адрес или hardware address, для IPoIB имеет длину в 20 байт. Поэтому некоторые утилиты, в частности, широко применяемая утилита >ifconfig, в которых жёстко прописана длина MAC-адреса Ethernet в 6 байт, не могут корректно работать и отображать адреса канального уровня для IPoIB. Утилита >ip, рекомендуемая для замены >ifconfig, такого недостатка лишена. В адресе канального уровня содержится GID порта, номер пары очередей (Queue Pair Number, QPN, аналог номера порта в TCP для InfiniBand) и флаги, указывающие, какие протоколы транспортного уровня InfiniBand могут использоваться для передачи IP.

Утилиты для просмотра информации по сетям InfiniBand

В этом разделе мы приводим примеры выдачи некоторых утилит из комплекта OFED с объяснениями выдаваемой информации. Эти данные помогут сориентироваться в том, что происходит в сети InfiniBand, и диагностировать некоторые ошибки в её работе.

Команда >ibstat показывает состояние всех портов на всех адаптерах InfiniBand, установленных на узле, где она запущена



Сначала выводится информация по адаптеру: его имя (>mlx5_0), тип адаптера (название модели), количество портов, версии встроенного программного (firmware) и аппаратного обеспечения, а также идентификаторы Node GUID и System Image GUID.

Для каждого порта в строке >Link layer выводится тип подключения: InfiiniBand или Ethernet. Некоторые адаптеры InfiniBand позволяют подключаться как к сети InfiniBand, так и к Ethernet. Тип подключения определяется установленным трансивером. Строка >Port GUID показывает GUID порта. >Base lid – первый LID, присвоенный данному порту. Всего порту присвоено, как говорилось выше, 2LMC подряд идущих LID. >SM lid – LID порта, на котором работает менеджер данной подсети. Rate – скорость передачи данных, на которой работает порт (56 в данном случае – это режим 4x FDR).

>Physical state – состояние физического уровня передачи данных. Нормальное состояние – >LinkUp. Также может быть >Disabled, >Polling (в это состояние порт переходит после включения), >Configuration (согласование режимов работы с другой стороной связи), >Recovery (восстановление после сбоя связи). Есть и другие состояния, но их появление означает серьёзный сбой в работе оборудования, и мы их здесь описывать не будем.

>State – состояние канального уровня передачи данных. >Active – состояние нормального функционирования, возможна передача любых типов данных. >Down – передача данных невозможна (физический уровень ещё не перешёл в состояние >LinkUp). >Initialize – состояние, в которое канальный уровень переходит сразу после того, как физический уровень перешёл в состояние >LinkUp. В этом состоянии возможны приём и передача только пакетов управления подсетью (SMP, Subnet Management Packets). В этом состоянии менеджер подсети должен настроить порт (задать LID и прочие параметры) и перевести порт в состояние >Active. Есть и другие состояния, но порт не должен находиться в них долгое время, поэтому мы опустим их описания.

>Capability mask – набор флагов, описывающих поддерживаемые портом режимы работы (скорости и т. п.).