LINUX.ORG.RU
ФорумAdmin

Разбиение порта Mellanox 40G->4x10G

 


0

1

Дядьки бородатые, помогите. Пытаюсь соединить несколько серверов в 10G сеть. Использую на центральном сервере карту Mellanox ConnectX3 40GbE Dual Port. К ней подключен в один порт DAC breakout с разделением 40G->4x10G SFP.

К этим 4 SFP подключаю другие сервера(с картами mellanox ConnectX3 - 10G SFP), чтобы они имели соединение 10G с центральным сервером.

На центральном сервере настроен isc-dhcp-server для автоматической выдачи айпи.

В чем суть проблемы - при подключении 1 сервера первым SFP кабелем, линк виден, пакеты идут. На DHCP приходят запросы, но сразу на 4 интерфейса. При подключении второго сервера на любой другой кабель - линка нет.

Конфигурация центрального сервера

/etc/dhcp/dhcpd.conf

...
 subnet 10.2.1.0 netmask 255.255.255.0 {
    interface eth4;
    range 10.2.1.100 10.2.1.200;
    option routers 10.2.1.1;
    option subnet-mask 255.255.255.0;
    option broadcast-address 10.2.1.255;
    option domain-name-servers 1.1.1.1, 1.0.0.1, 8.8.8.8;
}
subnet 10.2.2.0 netmask 255.255.255.0 {
    interface eth5;
    range 10.2.2.100 10.2.2.200;
    option routers 10.2.2.1;
    option broadcast-address 10.2.2.255;
    option subnet-mask 255.255.255.0;
    option domain-name-servers 1.1.1.1, 1.0.0.1, 8.8.8.8;
}
subnet 10.2.3.0 netmask 255.255.255.0 {
    interface eth6;
    range 10.2.3.100 10.2.3.200;
    option routers 10.2.3.1;
    option broadcast-address 10.2.3.255;
    option subnet-mask 255.255.255.0;
    option domain-name-servers 1.1.1.1, 1.0.0.1, 8.8.8.8;
}
subnet 10.2.4.0 netmask 255.255.255.0 {
    interface eth7;
    range 10.2.4.100 10.2.4.200;
    option routers 10.2.4.1;
    option broadcast-address 10.2.4.255;
    option subnet-mask 255.255.255.0;
    option domain-name-servers 1.1.1.1, 1.0.0.1, 8.8.8.8;
}
...

/etc/netplan/01-mellanox.yaml

network:
  version: 2
  ethernets:
    eth4:
      addresses:
        - 10.2.1.1/24
      mtu: 9000
      accept-ra: false
    eth5:
      addresses:
        - 10.2.2.1/24
      mtu: 9000
      accept-ra: false
    eth6:
      addresses:
        - 10.2.3.1/24
      mtu: 9000
      accept-ra: false
    eth7:
      addresses:
        - 10.2.4.1/24
      mtu: 9000
      accept-ra: false
....

ip link

....
4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether e4:1d:2d:11:31:01 brd ff:ff:ff:ff:ff:ff
    vf 0     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, vlan 4095, spoof checking off, link-state auto
    vf 1     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, vlan 4095, spoof checking off, link-state auto
    vf 2     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, vlan 4095, spoof checking off, link-state auto
    vf 3     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, vlan 4095, spoof checking off, link-state auto
    vf 4     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, vlan 4095, spoof checking off, link-state auto
    vf 5     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, vlan 4095, spoof checking off, link-state auto
    vf 6     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, vlan 4095, spoof checking off, link-state auto
    vf 7     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, vlan 4095, spoof checking off, link-state auto
    altname enp3s0
    altname ens2
5: eth3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether e4:1d:2d:11:31:02 brd ff:ff:ff:ff:ff:ff
    vf 0     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, vlan 4095, spoof checking off, link-state auto
    vf 1     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, vlan 4095, spoof checking off, link-state auto
    vf 2     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, vlan 4095, spoof checking off, link-state auto
    vf 3     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, vlan 4095, spoof checking off, link-state auto
    vf 4     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, vlan 4095, spoof checking off, link-state auto
    vf 5     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, vlan 4095, spoof checking off, link-state auto
    vf 6     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, vlan 4095, spoof checking off, link-state auto
    vf 7     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, vlan 4095, spoof checking off, link-state auto
    altname enp3s0d1
    altname ens2d1
6: eth4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 36:c5:f9:a9:22:01 brd ff:ff:ff:ff:ff:ff
    altname enp3s0v0
    altname ens2v0
7: eth5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether ee:3e:ea:27:b3:4d brd ff:ff:ff:ff:ff:ff
    altname enp3s0v1
    altname ens2v1
8: eth6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 26:da:1a:bc:68:37 brd ff:ff:ff:ff:ff:ff
    altname enp3s0v2
    altname ens2v2
9: eth7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 3e:8e:48:17:cb:6c brd ff:ff:ff:ff:ff:ff
    altname enp3s0v3
    altname ens2v3
....

DHCP в такой конфигурации вроде должен автоматически назначать статический айпи интерфейсам, этого нет. Разделения линков - нет.

SR-IOV в биосе включен, на сетевой карте(здесь все про центральный сервер) разбиение включено

mlxconfig -d /dev/mst/mt4099_pci_cr0 q

Device #1:
----------

Device type:    ConnectX3
Device:         /dev/mst/mt4099_pci_cr0

Configurations:                                      Next Boot
         SRIOV_EN                                    True(1)
         NUM_OF_VFS                                  8
         LINK_TYPE_P1                                ETH(2)
         LINK_TYPE_P2                                ETH(2)
         LOG_BAR_SIZE                                3
         BOOT_PKEY_P1                                0
         BOOT_PKEY_P2                                0
         BOOT_OPTION_ROM_EN_P1                       True(1)
         BOOT_VLAN_EN_P1                             False(0)
         BOOT_RETRY_CNT_P1                           0
         LEGACY_BOOT_PROTOCOL_P1                     None(0)
         BOOT_VLAN_P1                                1
         BOOT_OPTION_ROM_EN_P2                       True(1)
         BOOT_VLAN_EN_P2                             False(0)
         BOOT_RETRY_CNT_P2                           0
         LEGACY_BOOT_PROTOCOL_P2                     None(0)
         BOOT_VLAN_P2                                1
         IP_VER_P1                                   IPv4(0)
         IP_VER_P2                                   IPv4(0)
         CQ_TIMESTAMP                                True(1)

Что пробовал делать:

  1. Заменить кабель на кабель другого бренда, все тоже самое, никакой разницы.
  2. Вручную прописать айпи на двух серверах, пакеты идут, скорость радует)). При попытке добавить второй сервер - проблема та же, линк не виден.

Те по итогу, у меня не dac breakout кабель получается, а QSFP->SFP

Что я делаю не так?


Убедись сначала, что твоя карта действительно умеете в 10Gx4 по одному 40G порту. Вот нагуглись сходу такое:

Unfortunately, our Mellanox adapters do not have the capability to split the port into 2 or 4 new physical ports. Many thanks, ~Mellanox Technical Support

https://forums.developer.nvidia.com/t/qsfp-breakout-cable-40g-to-4x10g-on-mellanox-mt27520-connectx-3-pro/206711

BOOBLIK ★★★★
()
Последнее исправление: BOOBLIK (всего исправлений: 1)
Ответ на: комментарий от gg32

Не понял как VF interface связан с разбивкой qsfp на 4 sfp+. Это про разное. vfi это вроде как про то, чтобы отдать нескольким виртуалкам все аппаратные «ускорялки» и функции одного физического адаптера и возможность заставить виртуальную среду думать, что она владеет физ. адаптером.

BOOBLIK ★★★★
()