... h1. Connect X-2 создайте исполняемый файл {code} /etc/sysconfig/modules/mellanox.modules {code} с содержимым {code} #!/bin/sh /sbin/modprobe mlx4_core /sbin/modprobe mlx4_en {code} h1. Connect X-3 Идём на сайт https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/ Качаем ISO'шку под нужный нам дистрибутив (сейчас CentOS 6.10) и кладём её в /root/ на сервер Монтируем {code} mkdir /mnt/mellanox mount -o ro,loop MLNX_OFED_LINUX-4.2-1.2.0.0-rhel6.8-x86_64.iso /mnt/mellanox/ {code} Запускаем установку (идёт долго, после установки может быть зависание минут на пять).
|
... {code} {info} Вероятнее всего потребуется доставить ряд зависимостей. О чём будет сообщено установщиком: {info} {code} Logs dir: /tmp/MLNX_OFED_LINUX-4.0-2.0.0.1.6322.logs Verifying KMP rpms compatibility with target kernel... Error: One or more required packages for installing MLNX_OFED_LINUX are missing. Please install the missing packages using your Linux distribution Package Management tool. Run: yum install gtk2 atk cairo gcc-gfortran libxml2-python tcsh tcl numactl tk {code} Ставим: {code} yum -y install gtk2 atk cairo gcc-gfortran libxml2-python tcsh tcl numactl tk {code} И повторяем установку. h1. Как определить что установленный драйвер не подходит Проверьте что драйвер сейчас загружен: {code} lsmod | grep mlx {code} Если в вывод не пустой -- выполните команду и найдите в её выводе сетевую карту. {code} lspci -k {code} Если в её выводе нет строчки kernel driver in use - значит драйвер не подходит. Если в её выводе есть kernel driver in use -- скорее всего всё работает и нужно перепроверить вывод команды ip link / ifconfig. {code}... 05:00.0 Ethernet controller: Mellanox Technologies MT26448 [ConnectX EN 10GigE, PCIe 2.0 5GT/s] (rev b0) Subsystem: Mellanox Technologies Device 0015 Kernel driver in use: mlx4_core Kernel modules: mlx4_core ... {code} ethtool может показывать другой драйвер: {code} $ ethtool -i eth2 driver: mlx4_en {code} Ничего страшного в этом нет, для работы mellanox требуется несколько загруженных модулей ядра. h2. Как проверить что исходники для нужного драйвера Находим pci id устройства: 1. Выполняем lspci и запоминаем bus id нужного устройства: {code} $ lspci ... 05:00.0 Ethernet controller: Intel Corporation 82541PI Gigabit Ethernet Controller (rev 05) ... {code} bus id - 05:00.0. Теперь узнаем pci id устройства: {code} $ lspci -n | grep 05:00.0 05:00.0 0200: 8086:107c (rev 05) {code} PCI ID = 8086:107c 8086 - номер вендора, в данном случае это Intel. 107c - номер устройства. Пробуем найти номер устройства в исходниках драйвера. Если его там нет - скорее всего это драйвера не подходят для этого устройства. Например для Mellanox : {code} [username@reductor mlnx-en-2.4-1.0.0.1]$ grep -ri 6750 ./ ./drivers/net/ethernet/mellanox/mlx4/main.c: { PCI_VDEVICE(MELLANOX, 0x6750), MLX4_PCI_DEV_FORCE_SENSE_PORT }, ./drivers/net/ethernet/mellanox/mlx4/main.c.orig: { PCI_VDEVICE(MELLANOX, 0x6750), MLX4_PCI_DEV_FORCE_SENSE_PORT }, {code}
|