Debian.pro/

Про Debian


Переключение режима VPI-карточек Mellanox Connect-X (infiniband -> ethernet)

Mellanox делает неплохие 25G/100G карточки, которые в целом работают в современных дистрах без проблем. Что ещё интереснее — 100G карта отдаёт свои 100G без какого-либо дополнительного тюнинга системы (ну на достаточно мощном сервере).

На условном «местном авито» при этом можно найти множество дешёвых карт MLX, про которые продавцы пишут «не использовались». Большинство таких карточек — VPI, то есть могут работать и как infiniband-адаптеры, и как обычные ethernet-карты. Но приезжают с завода они при этом в IB-режиме (зачем — непонятно, ну да ладно) и некоторые люди просто не могут их переключить в eth (при этом в случае с connect-X 5 режим сбрасывается при переносе сетевухи в другой хост, например).

В общем, убеждаемся, что у вас именно VPI-карточка, начинаем переключать режим. С connect-X 3 всё супер легко:

root@server:~# lspci | grep Mella
21:00.0 Ethernet controller: Mellanox Technologies MTXXXXX Family [ConnectX-3]
21:00.1 Ethernet controller: Mellanox Technologies MTXXXXX Family [ConnectX-3]

Узнаём PCI-адрес карточки, дальше делаем для каждого порта:

root@server:~# echo eth > /sys/bus/pci/devices/0000\:21\:00.0/mlx4_port1
root@server:~# echo eth > /sys/bus/pci/devices/0000\:21\:00.1/mlx4_port2

У меня под рукой нет именно MLX3, чтобы проверить, возможно, в данном случае вторая правильная команда будет такой:

root@server:~# echo eth > /sys/bus/pci/devices/0000\:21\:00.0/mlx4_port2

После этого (вроде бы) нужно ребутнуться и карточка поднимется уже как ethernet


С Connect-X 5 всё посложнее, нужна специальная утилита.
Если в ваш дистрибутив занесли, то поставить её можно так:

root@server:~# apt-get install mstflint

(в реальности я не проверял пакет из реп дебиана — но в целом для такой простой задачи должно работать).
Если в ваш дистрибутив не занесли, то идём на https://network.nvidia.com/products/adapter-software/firmware-tools/, накликиваем там linux — DEB — x86, из архива достаём файл (например) mft_4.25.0-62_amd64.deb и ставим пакет из файла:

root@server:~# dpkg -i mft_4.25.0-62_amd64.deb

Дальше смотрим названия устройств, с которыми будет работать mlxconfig. Проще всего так:

root@server:~# ls /sys/class/infiniband/
mlx5_0 mlx5_1

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

root@server:~# mlxconfig -d mlx5_0 set LINK_TYPE_P1=2
root@server:~# mlxfwreset -d mlx5_0 -l3 -y reset
root@server:~# mlxconfig -d mlx5_1 set LINK_TYPE_P2=2
root@server:~# mlxfwreset -d mlx5_1 -l3 -y reset

В пакете mstflint (из репозиториев дистрибутивов) утилиты названы чуть иначе:

root@server:~# mstconfig -d mlx5_0 set LINK_TYPE_P1=2
root@server:~# mstfwreset -d mlx5_0 -l3 -y reset
root@server:~# mstconfig -d mlx5_1 set LINK_TYPE_P2=2
root@server:~# mstfwreset -d mlx5_1 -l3 -y reset

Обратите внимание, что переменные LINK_TYPE_P1 и LINK_TYPE_P2 отличаются последней цифрой (номером порта) -))


Всё. Ваша 25-гиговая карточка за 100 баксов с ебея должна работать.

«Чиним» letsencrypt+cloudflare в debian 11 — или просто ставим отдельный софт в stable debian из testing/sid.

На данный момент в debian 11 в main-репе лежит не очень работающая версия python3-certbot-dns-cloudflare (а в других никакой не лежит). С некоторое долей вероятности, попытавшись получить через letsencrypt certonly —dns-cloudflare НЕ-wildcard сертификат, вы получите такое (актуально это и для wildcard+domain сертификатов, само собой): IMPORTANT NOTES:- The following errors were reported by the server:Domain: example.comType: unauthorizedDetail: […]

raid10 в mdadm — не то, чем кажется.

Прежде, чем заявить «Пффф, да всё легко, шо вы тут мне втираете», ответьте мысленно на простенький вопрос — какой объём (в количестве дисков) будет у raid10 в mdadm, если в массиве 3 диска? Ответили? Правда же вы ответили, что-то вроде «либо полтора диска, либо один диск»? Нет? Присаживайтесь — я, конечно, не коммитил в raid10.c, […]

Гостевая статья — 101 способ не ограничить доступ к ручке

Это достаточно старая статья, которая была когда-то давно опубликована в очень закрытом блоге (инвайт получить занимает минимум часов 10!). Планы по публикации её в публичный интернет так и не стали реальностью, поэтому статью мне пришлось стащить и… Шучу, я как минимум у двух человек уточнил (в том числе и у автора), они разрешили -) Статью […]

07.07.2022 в 23:14 byinkvizitor68sl|mustread| 0 коммент.

Openvpn-сервер с удобной вебмордой. TL/DR — pritunl.

Некоторое время я искал вебморду для openvpn-сервера. Чуть было не написал «не простую, а золотую», но на самом деле ничего особенного — из хоть каких-то требований у меня было только 2: — полноценное управление пользователями (хотя бы отзыв сертификата) — вот тут-то почти все морды и отсеивались — деплой самого openvpn-сервера (минорно) и CA-шки, чтобы […]

Debian.pro — 10 лет (+анонс telegram-канала).

Я тут внезапно ковырялся в базке блога, пытаясь обновить WP (спойлер — не вышло), и обнаружил, что первая статья в блоге была опубликована 3 марта 2010 года — Вступление Ну штош *гифка со сцепленными пальцами*. Пришло время подвести статистику и чуть-чуть двинуть свой зад дальше. За 10 лет в блоге написано: — 255 статей (эта […]

Новогодний пост — БЕГИТЕ, глупцы!

Поймите меня правильно. Я не жалуюсь на своё место работы — здесь как раз всё отлично, даже более чем. Цепочка моих руководителей — бывшие (пусть некоторые и очень бывшие) сисадмины в том или ином виде. Вот только сколько моё место просуществует, и найду ли я потом хотя бы вполовину столь же хорошую работу — вопросы […]

Debian 10 (buster) released

https://bits.debian.org/2019/07/buster-released.html https://www.opennet.ru/opennews/art.shtml?num=51041 — на русском

Docker persistent containers. Или используем docker почти как chroot.

«Если нельзя, но очень хочется — то можно». В голове крутилась эта фраза после того, как я очередному человеку с заболеванием «докер головного мозга» вынужден был «пошутить» в духе «чувак, тебе здесь проще весь корень контейнера смонтировать как volume», а я сидел и думал, что не такая уж это и шутка, если её в десятый […]