У меня есть сервер Supermicro с X9DRT-HIBFF материнская плата установлена.
В него встроен Infiniband на базе чипсета ConnectX-3 от Mellanox.
Supermicro поставляет прошивку версии 2.10.0700 и, к сожалению, она не поддерживает SR-IOV, она слишком старая. Хотя чипсет и BIOS это поддерживают.
Более новая прошивка от Mellanox включает эту функцию. Сами Mellanox поставляют прошивки для некоторых OEM-партнеров, но не Supermicro.
ibv_devinfo показывает:
$ sudo ibv_devinfo
hca_id: mlx4_0
transport: InfiniBand (0)
fw_ver: 2.10.700
node_guid: 0025:90ff:ff17:5724
sys_image_guid: 0025:90ff:ff17:5727
vendor_id: 0x02c9
vendor_part_id: 4099
hw_ver: 0x0
board_id: SM_2191000001000
phys_port_cnt: 1
port: 1
state: PORT_DOWN (1)
max_mtu: 4096 (5)
active_mtu: 4096 (5)
sm_lid: 0
port_lid: 0
port_lmc: 0x00
Итак, вопрос, можно ли записать прошивку Mellanox на эту OEM-плату? Если да, как мне выбрать, какой из них записать?
Смотря на эта таблица прошивки, соответствующая прошивка ссылается на немного другой ZIP-файл. Почти все описания идентичны с одним и тем же идентификатором детали поставщика - 4099. Единственная разница между ними - это имя и PSID. Мой PSID: SM_2191000001000, который, как и ожидалось, отличается от любого из них, потому что он от Supermicro.
Скачайте прошивку и распакуйте ее
Загрузите некоторые инструменты с Mellanox и установите соответствующий файл deb, чтобы получить утилиту «mlxburn» в вашей установке Ubuntu.
wget http://www.mellanox.com/downloads/MFT/mft-3.1.0-8.tgz
tar xzvf mft-3.1.0-8.tgz
cd mft-3.1.0-8/DEBS/
dpkg -i mft-3.1.0-8.amd64.deb
Извлеките файл ini, необходимый для создания новой прошивки из текущей прошивки. Это будет включать правильный PSID.
mstflint -d $PCIBUS dc > myinifile.ini
Измените переменную $ PCIBUS на шину PCI, к которой подключена ваша карта (например, 04.00.0)
Добавьте строку "sriov_en = true" в раздел [HCA] ini-файла.
Сгенерируйте свою прошивку так (я тестировал эту команду для ConnectX2):
mlxburn -fw fw-ConnectX2-rel.mlx -exp_rom FlexBoot-3.4.112/ConnectX_Flexboot_4099_ROM-3.4.112.mrom -conf myinifile.ini -wrimage fw-ConnectX2-rel-sriov-enabled.bin
Установите новую прошивку в вашу карту
mlxfwmanager -u -d $PCIBUS -i fw-ConnectX2-rel-sriov-enabled.bin -f