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 Гбит / с, вам нужен более быстрый сетевой адаптер.