Про китайский 10G Ethernet

Вот если честно, то толстые CX-4 кабели меня задолбали (сами разъемы длинные, ну и вообще неудобно), несмотря на то что дают кисть.

И решил я купить на грош пятаков пару китайских (фейковых?) интелов X540-T2. В воскресенье пришли, вчера-сегодня по много часов их гонял, имею сказать:

1. Обе карты, будучи вставлены в FreeBSD, сказали мне 'EEPROM Checksum error'. Я опечалился, закомментарил в ядре две строчки, пересобрал, карты заработали. Отлегло (потому что я в процессе начитался ужасов, как у родных настоящих интеловых карт эта ошибка не пропадает и про то есть цельная секция в документации).

2. После этого я их перепрошил. Одну - фирмварью, найденной на сайте Lenovo (не разобрался сначала в сайте Интела, а хотелось поскорее), ошибка пропала. Тогда я вдумчиво поискал на сайте Интела и перешил вторую карту уже последней версией прошивки. Ошибка тоже пропала.

3. Кабелей 6A у меня нет (уже на почте, но еще не забрал), нашел метровый 5E-STP и гонял дальше на нем. iperf, FreeBSD 10.3 - FreeBSD 11-Current:

  • В одну сторону вот так:
    [  3]  0.0-28800.0 sec  33183 GBytes  9.90 Gbits/sec
  • Во вторую - совершенно аналогично
  • А в две стороны сразу (iperf -d) - у меня кончается CPU (по top 130%) и получается 9.9 в одну сторону и 7 в другую.
  • Ошибок, дропов - ноль.
  • Ничего не настраивал, кстати, настройки есть, но с моим паттерном я и 9.9Gbit (суммарно в обе стороны) забить не смогу.

На чем я и успокоился.

Выбирал не самые дешевые карты, а нашел положительный отзыв именно о конкретном X540-T2 картах, это было не у самого дешевого продавца.

Вот, собственно, конкретный лот

Предложил $320 за пару, сторговались на $340, плюс доставка, доехало за 10 дней (до EMS за 7, а дальше они мне по Москве несли три дня).

Завтра-послезавтра заберу кабели с почты и одну пару Myricom освобожу от работы.

Да, у них есть RDMA. Надо попробовать SCST вернуть, не уверен что возможно.

Подозреваю, что это в чистом виде отбраковка: криво прошились на заводе, EEPROM Checksum, в отвал. А перешивкой на заводе заниматься ленятся (или вообще считают что неправильно оно).

UPD: тестировал только одну пару портов, сейчас займусь второй.

Comments

недешево.. я пару 20Gbps мелланоксов взял за ысячу ублей, плюс кабель за ту же тысячу. имею 1,6GB/sec через IB/SRP.

А вот где можно взять CX4 кабель на 20G за тысячу? И желательно метра на 3 :) А то у меня три кабеля метровых есть, но на 20G error rate такой, что вешайся, а на 10G пашет влёт.

у меня за тысячу метровый. "ловил" на авито и скидку просил ;) наверное еще лучший вариант - ebay.

Там непонятная лотерея.

У меня фирменный D-link-овский кабель за $180 не работал с Myricom (но работал с Mellanox на 10G), а самый дешевый кетай за $19 - работал прекрасно.

Визуальное изучение "как разъемы распаяны" (я развинчивал, смотрел) - каких-то косяков не выявило.

Дядь, как-то безумно дорого. мы брали пару китайских же x520 с одним sfp+ (E10G41BTDA) тыщ за 12, кажись, за пару. С не менее китайскими sfp+ работает наура.

http://paste.org.ru/?1un2am

Ну да, однопортовые и старые - дешевле.

Я хотел
а) двухпортовые
б) без вентилятора - и это получается X540

И RJ45 хотел, кстати, потому что наплатные 10Gb/RJ45 уже появляются за суразные деньги.

X520-DA1 кстати есть и не китайские, а натуральные. Дешево за б/у, пара с доставкой будет в районе 150.

E10G42BTDA - два порта. Чуть дороже, каэшно, но всё равно вменяемо.
Медь на 10г очень капризная. Мы отказались от direct connect sfp+ из-за этого.

Ну и вентиляторов там никаких нет, конечно же.

Ну посмотрим как оно будет с медью. Мне расстояния то нужны 2-3 метра.

Я использую десяток Mellanox connectx 1-2 вполне работают.

Ну вот IB на FreeBSD оказался гемороем. Зато на Linux есть SRP.

Все такое вкусное....

У меня почему-то не получается выжать 10Gbit, упираюсь в 4.8 примерно, т.е. половину. На одной стороне Linux под гипервизором (X540-T2 проброшена в VM со всеми портами), на другой Win10 на железе.
Если в iperf дам параметр параллельности -P, то в 4-5 потоков упираюсь в 10, дальше не растёт. Пробовал то же самое между виндой под гипервизором и виндой на десктопе - та же абсолютно картина. Пытаюсь понять, кто виноват - винда, линукс, гипервизор, или так и должно быть (т.е. iperf не показатель).

>> Пытаюсь понять, кто виноват - винда, линукс, гипервизор, или так и должно быть

Ну я надеюсь - постепенной отменой всего вышеперечисленного?

У меня 9.9 в одну сторону и ~15 в сумме было на FreeBSD/FreeBSD (10-я и 11-я версии)

Как-то так, да, буду грузиться на обоих боксах с Live-USB и пробовать.
С какими ключами был запущен iperf (какой версии?) на FreeBSD?

[lexa@iscsi ~]$ pkg info | grep iperf
iperf-2.0.5 Tool to measure maximum TCP and UDP bandwidth

В history нашлись такие ключи:
iperf -w 1024k -l 1M -f m -c 10.6.0.1 -i 900 -t 28800

А если просто, без ключей, только с "-s" на одной стороне и "-c" на другой - что покажет?

Да тоже нормально

root@iscsi:/home/lexa # iperf -c 10.5.0.1 -t 60
------------------------------------------------------------
Client connecting to 10.5.0.1, TCP port 5001
TCP window size: 35.0 KByte (default)
------------------------------------------------------------
[  3] local 10.5.0.2 port 53177 connected with 10.5.0.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-60.0 sec  69.1 GBytes  9.89 Gbits/sec

 

При этом у меня, конечно так:

ifconfig ix1 10.5.0.2/24 mtu 9000 lro
 

Кстати, и с -d стало нормально (я с тех пор на FreeBSD-11 ядро пересобрал без расширенных проверок, может в этом дело):

root@iscsi:/home/lexa # iperf -c 10.5.0.1 -t 10 -d

...
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.0 sec  11.4 GBytes  9.76 Gbits/sec
[  5]  0.0-10.0 sec  11.3 GBytes  9.70 Gbits/sec

 

Но про FreeBSD 11 я наврал. Там -CURRENT:

root@iscsi:/home/lexa # uname -a
FreeBSD iscsi.lexa.ru 12.0-CURRENT FreeBSD 12.0-CURRENT #4 r302772M: Wed Jul 13 21:38:55 MSK 2016     root@iscsi.lexa.ru:/usr/obj/usr/src/sys/GENERIC  amd64

 

А на другой стороне так:

lexa@home-gw:~# uname -a
FreeBSD home-gw.lexa.ru 10.3-STABLE FreeBSD 10.3-STABLE #11 r300047M: Tue May 17 16:19:12 MSK 2016     lexa@home-gw.lexa.ru:/usr/obj/usr/src/sys/GENERIC  amd64

 

Дата сборки ядра примерно равна дате svn up

собственно, svn revision видна ж

Загрузиться с LiveUSB у меня так и не вышло - ни один из современных дистрибутивов почему-то не взлетел в графическом режиме, а в текстовом я свежих не нашёл. Чертовщина какая-то... Искать дальше уже не стал, отложу на потом, когда фаза Луны сменится :)

Вот как-то так получилось с винды на VM линукс.

Т.е. честных 10G там есть, надо только нагружать правильно.

Если разница в window size, значит оно где-то (Linux, Windows, оба) не разгоняется (как положено новыми TCP ext) до вменяемых для 10G значений.

FreeBSD лежит в обычном месте: ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/11.0/
(-memstick поди решит задачу)