Назад | Перейти на главную страницу

Связывание сетевых карт / балансировка-rr с Dell PowerConnect 5324

Я пытаюсь заставить NIC работать с balance-rr, чтобы три порта NIC были объединены, так что вместо получения 1 Гбит / с мы получили 3 Гбит / с. Мы делаем это на двух серверах, подключенных к одному коммутатору. Однако мы получаем скорость только одного физического канала.

Мы используем 1 Dell PowerConnect 5324, версия ПО 2.0.1.3, версия загрузки 1.0.2.02, версия HW 00.00.02. Оба сервера - CentOS 5.9 (Final) с гипервизором OnApp (CloudBoot).

Сервер 1 использует порты g5-g7 в канале порта 1. Сервер 2 использует порты g9-g11 в канале порта 2.

Переключатель

show interface status

Port     Type         Duplex  Speed Neg      ctrl State       Pressure Mode
-------- ------------ ------  ----- -------- ---- ----------- -------- -------
g1       1G-Copper      --      --     --     --  Down           --     --
g2       1G-Copper    Full    1000  Enabled  Off  Up          Disabled Off
g3       1G-Copper      --      --     --     --  Down           --     --
g4       1G-Copper      --      --     --     --  Down           --     --
g5       1G-Copper    Full    1000  Enabled  Off  Up          Disabled Off
g6       1G-Copper    Full    1000  Enabled  Off  Up          Disabled Off
g7       1G-Copper    Full    1000  Enabled  Off  Up          Disabled On
g8       1G-Copper    Full    1000  Enabled  Off  Up          Disabled Off
g9       1G-Copper    Full    1000  Enabled  Off  Up          Disabled On
g10      1G-Copper    Full    1000  Enabled  Off  Up          Disabled On
g11      1G-Copper    Full    1000  Enabled  Off  Up          Disabled Off
g12      1G-Copper    Full    1000  Enabled  Off  Up          Disabled On
g13      1G-Copper      --      --     --     --  Down           --     --
g14      1G-Copper      --      --     --     --  Down           --     --
g15      1G-Copper      --      --     --     --  Down           --     --
g16      1G-Copper      --      --     --     --  Down           --     --
g17      1G-Copper      --      --     --     --  Down           --     --
g18      1G-Copper      --      --     --     --  Down           --     --
g19      1G-Copper      --      --     --     --  Down           --     --
g20      1G-Copper      --      --     --     --  Down           --     --
g21      1G-Combo-C     --      --     --     --  Down           --     --
g22      1G-Combo-C     --      --     --     --  Down           --     --
g23      1G-Combo-C     --      --     --     --  Down           --     --
g24      1G-Combo-C   Full    100   Enabled  Off  Up          Disabled On

                                          Flow    Link
Ch       Type    Duplex  Speed  Neg      control  State
-------- ------- ------  -----  -------- -------  -----------
ch1      1G      Full    1000   Enabled  Off      Up
ch2      1G      Full    1000   Enabled  Off      Up
ch3         --     --      --      --       --    Not Present
ch4         --     --      --      --       --    Not Present
ch5         --     --      --      --       --    Not Present
ch6         --     --      --      --       --    Not Present
ch7         --     --      --      --       --    Not Present
ch8         --     --      --      --       --    Not Present

Сервер 1:

cat /etc/sysconfig/network-scripts/ifcfg-eth3

DEVICE=eth3
HWADDR=00:1b:21:ac:d5:55
USERCTL=no
BOOTPROTO=none
ONBOOT=yes
MASTER=onappstorebond
SLAVE=yes

cat /etc/sysconfig/network-scripts/ifcfg-eth4

DEVICE=eth4
HWADDR=68:05:ca:18:28:ae
USERCTL=no
BOOTPROTO=none
ONBOOT=yes
MASTER=onappstorebond
SLAVE=yes

cat /etc/sysconfig/network-scripts/ifcfg-eth5

DEVICE=eth5
HWADDR=68:05:ca:18:28:af
USERCTL=no
BOOTPROTO=none
ONBOOT=yes
MASTER=onappstorebond
SLAVE=yes

cat /etc/sysconfig/network-scripts/ifcfg-onappstorebond

DEVICE=onappstorebond
IPADDR=10.200.52.1
NETMASK=255.255.0.0
GATEWAY=10.200.2.254
NETWORK=10.200.0.0
USERCTL=no
BOOTPROTO=none
ONBOOT=yes

cat /proc/net/bonding/onappstorebond

Ethernet Channel Bonding Driver: v3.4.0-1 (October 7, 2008)

Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth3
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:1b:21:ac:d5:55

Slave Interface: eth4
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 68:05:ca:18:28:ae

Slave Interface: eth5
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 68:05:ca:18:28:af

Сервер 2:

cat /etc/sysconfig/network-scripts/ifcfg-eth3

DEVICE=eth3
HWADDR=00:1b:21:ac:d5:a7
USERCTL=no
BOOTPROTO=none
ONBOOT=yes
MASTER=onappstorebond
SLAVE=yes

cat /etc/sysconfig/network-scripts/ifcfg-eth4

DEVICE=eth4
HWADDR=68:05:ca:18:30:30
USERCTL=no
BOOTPROTO=none
ONBOOT=yes
MASTER=onappstorebond
SLAVE=yes

cat /etc/sysconfig/network-scripts/ifcfg-eth5

DEVICE=eth5
HWADDR=68:05:ca:18:30:31
USERCTL=no
BOOTPROTO=none
ONBOOT=yes
MASTER=onappstorebond
SLAVE=yes

cat /etc/sysconfig/network-scripts/ifcfg-onappstorebond

DEVICE=onappstorebond
IPADDR=10.200.53.1
NETMASK=255.255.0.0
GATEWAY=10.200.3.254
NETWORK=10.200.0.0
USERCTL=no
BOOTPROTO=none
ONBOOT=yes

cat /proc/net/bonding/onappstorebond

Ethernet Channel Bonding Driver: v3.4.0-1 (October 7, 2008)

Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth3
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:1b:21:ac:d5:a7

Slave Interface: eth4
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 68:05:ca:18:30:30

Slave Interface: eth5
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 68:05:ca:18:30:31

Вот результаты iperf.

------------------------------------------------------------
Client connecting to 10.200.52.1, TCP port 5001
TCP window size: 27.7 KByte (default)
------------------------------------------------------------
[  3] local 10.200.3.254 port 53766 connected with 10.200.52.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   950 MBytes   794 Mbits/sec

Балансировка входящей нагрузки от коммутатора к системе контролируется коммутатором.

Вероятно, у вас есть 3 Гбит / с неупорядоченной передачи TCP, но только 1 Гбит / с приема, потому что коммутатор отправляет только одно ведомое устройство.

Вы не получаете полный 1 Гбит / с, потому что balance-rr часто приводит к нарушению порядка трафика TCP, поэтому TCP работает сверхурочно, чтобы изменить порядок вашего потока iperf.

По моему опыту, практически невозможно надежно сбалансировать нагрузку одного потока TCP.

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

Лично я бы использовал режим 2 (с EtherChannel на коммутаторе) или режим 4 (с LACP на коммутаторе).

Если вам нужно быстрее, чем 1 Гбит / с, вам понадобится более быстрый сетевой адаптер.