Назад | Перейти на главную страницу

Просмотреть таблицу маршрутизации Infiniband, созданную OpenSM?

Насколько я понимаю, диспетчер подсети сети Infiniband вычисляет лучшие маршруты между каждой парой узлов в сети и предоставляет эти маршруты узлам, когда они хотят общаться. Есть ли способ заставить диспетчер подсети (и, в частности, OpenSM) распечатать эти таблицы маршрутизации в удобочитаемом виде?

На данный момент это чисто из моего любопытства, но я могу представить себе случаи, когда это было бы полезно для отладки.

В OpenFabrics пакет infiniband-diags поставляется с инструментом под названием «ibroute», который должен делать именно то, что вы просите. В infiniband-diags есть сценарий под названием "dump_lfts.sh", который охватывает ibroute и выводит таблицы маршрутизации для всех коммутаторов в вашей фабрике.

Существуют и другие сценарии, позволяющие обернуть их для дальнейшего анализа отладки / маршрутизации, но я оставлю это для другого ответа.

Обновить:

Коллега напомнил мне, что в OpenSM тоже есть механизм. Я лично не использовал его, но для полноты, вот соответствующая часть из справочной страницы OpenSM:

Также поддерживается возможность сбрасывать матрицы крышки переключателя (также известные как таблицы минимальных переходов) в файл, а затем загружать их.

Использование аналогично загрузке таблиц одноадресной пересылки из файла lfts (введено механизмом маршрутизации 'file'), но новое имя файла матрицы крышки должно быть указано с помощью параметра -M или --lid_matrix_file. Например:

opensm -R file -M ./opensm-lid-matrix.dump

Файл дампа называется opensm-lid-matrix.dump и будет сгенерирован в стандартном каталоге дампа opensm (по умолчанию / var / log), если установлен флаг ведения журнала OSM_LOG_ROUTING.

Когда механизм маршрутизации «файл» активирован, но файл lfts не указан или не может быть открыт, будет использоваться алгоритм матрицы крышки по умолчанию.

Также имеется дампер таблиц переадресации, который генерирует файл, совместимый с выводом dump_lfts.sh. Этот файл можно использовать в качестве входных данных для загрузки таблиц пересылки механизмом маршрутизации «файлов». Оба или один из вариантов -U и -M могут быть указаны вместе с -R файл.

Команда

ibdiagnet --routing

создаст файл /var/tmp/ibdiagnet2/ibdiagnet2.fdbs, который содержит таблицы одноадресной маршрутизации всех коммутаторов и файл /var/tmp/ibdiagnet2/ibdiagnet2.mcfdbs, который содержит таблицы многоадресной маршрутизации всех коммутаторов. Чтобы облегчить интерпретацию, следует удалить все строки, заканчивающиеся на UNREACHABLE.