NIC Bonding/balance-rr с Dell PowerConnect 5324

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

Мы используем 1 Dell PowerConnect 5324, SW версии 2.0.1.3, Boot версии 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

1 ответ

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

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

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

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

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

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

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

Другие вопросы по тегам