Посмотреть таблицу маршрутизации Infiniband, созданную OpenSM?
Насколько я понимаю, менеджер подсети сети Infiniband вычисляет лучшие маршруты между каждой парой узлов в сети и предоставляет эти маршруты узлам, когда они хотят связаться. Есть ли способ заставить менеджера подсети (и в частности, OpenSM) распечатать эти таблицы маршрутизации понятным для человека способом?
На данный момент это чисто для собственного любопытства, но я могу представить себе случаи, когда это было бы полезно для отладки.
2 ответа
В OpenFabrics пакет infiniband-diags поставляется с инструментом под названием "ibroute", который должен делать именно то, что вы просите. В infiniband-diags есть скрипт с именем "dump_lfts.sh", который обволакивает ibroute и выводит таблицы маршрутизации для всех коммутаторов в вашей матрице.
Существуют и другие сценарии, чтобы обернуть их для дальнейшего анализа отладки / маршрутизации, но я оставлю это для другого ответа.
Обновить:
Коллега напомнил мне, что в OpenSM есть механизм для этого. Я не использовал его лично, но для полноты вот соответствующая часть на странице OpenSM:
Также поддерживается возможность сбрасывать матрицы крышек переключателей (таблицы min hops) в файл и позже загружать их.
Использование аналогично загрузке таблиц одноадресной пересылки из файла lfts (введено механизмом маршрутизации 'file'), но новое имя файла матрицы крышки должно быть указано с помощью опции -M или --lid_matrix_file. Например:
opensm -R file -M ./opensm-lid-matrix.dump
Файл дампа называется opensm-lid-matrix.dump и будет создан в стандартном каталоге дампа opensm (по умолчанию /var/log), когда установлен флаг ведения журнала OSM_LOG_ROUTING.
Когда механизм маршрутизации 'file' активирован, но файл lfts не указан или не может быть открыт, будет использован алгоритм матрицы крышки по умолчанию.
Существует также дампер таблиц пересылки ключей, который генерирует файл, совместимый с выводом dump_lfts.sh. Этот файл можно использовать в качестве входных данных для пересылки таблиц, загружаемых механизмом маршрутизации "файл". Оба или один из параметров -U и -M могут быть указаны вместе с файлом -R.
Команда
ibdiagnet --routing
создаст файл /var/tmp/ibdiagnet2/ibdiagnet2.fdbs
, который содержит таблицы маршрутизации одноадресной рассылки всех коммутаторов и файл /var/tmp/ibdiagnet2/ibdiagnet2.mcfdbs
, который содержит таблицы многоадресной маршрутизации всех коммутаторов. Для облегчения интерпретации необходимо удалить все строки, заканчивающиеся на UNREACHABLE.