Nettverk: Bonding av nettkort

Dette dokumentet beskriver hvordan man setter opp network bonding på RHEL6 og eldre.

Gjelder RHEL6 og eldre

1   Innledning

På RHEL er prosedyren for å sette opp to nettkort i standby-modus, klipp og lim-oppskrift, forutsetter at maskinen er installert med eth0 som nettkort, at alle kortene er kjent og at bonding er som en modul. Dette passer typisk for en Dell 2950 eller M600.

Illustrasjon bonding mode=1

Denne figuren illustrerer hvordan den vanligste formen for bonding fungerer. Her er to nettkort eth0 og eth1 satt opp som failover for hverandre (mode=1). Dersom det aktive nettkortet (eth0) feiler eller mister link, vil det passive (eth1) overta sømløst.

2   Kjernemodul for bonding

Sørg for å laste kjernemodulen. Dette konfigureres i /etc/modprobe.conf for RHEL5:

alias bond0 bonding

For RHEL6 lager man en fil /etc/modprobe.d/bonding.conf, som skal inneholde nøyaktig det samme.

3   Konfigurasjon av nett-interface

All konfigurasjon gjøres i katalogen /etc/sysconfig/network-scripts. Ta først en kopi av ifcfg-eth0 til ifcfg-bond0:

maskin.uio.no# cd /etc/sysconfig/network-scripts
maskin.uio.no# cp ifcfg-eth0 ifcfg-bond0

Editer ifcfg-bond0 så den ser slik ut (eksempel):

DEVICE=bond0
BONDING_OPTS="mode=1 miimon=100 primary=eth0"
BOOTPROTO=none
IPADDR=129.240.10.56
NETMASK=255.255.255.128
ONBOOT=yes
TYPE=Bonding

Opsjonene til BONDING_OPTS betyr:

Opsjon Beskrivelse
mode=1 Sets an active-backup policy for fault tolerance. Transmissions are received and sent out via the first available bonded slave interface. Another bonded slave interface is only used if the active bonded slave interface fails.
miimon=100 Specifies (in milliseconds) how often MII link monitoring occurs. This is useful if high availability is required because MII is used to verify that the NIC is active.
primary=eth0 Specifies the interface name, such as eth0, of the primary device. The primary device is the first of the bonding interfaces to be used and is not abandoned unless it fails. This setting is particularly useful when one NIC in the bonding interface is faster and, therefore, able to handle a bigger load. This setting is only valid when the bonding interface is in active-backup mode

Editer ifcfg-eth0 slik at den ser slik ut (eksempel):

# Broadcom Corporation NetXtreme II BCM5708S Gigabit Ethernet
DEVICE=eth0
HWADDR=00:18:FE:8B:D9:AE
ONBOOT=yes
MASTER=bond0
SLAVE=yes
TYPE=Ethernet

Tilsvarende for ifcfg-eth1 (eksempel):

# Broadcom Corporation NetXtreme II BCM5708S Gigabit Ethernet
DEVICE=eth1
HWADDR=00:18:FE:8B:D9:A2
ONBOOT=yes
MASTER=bond0
SLAVE=yes
TYPE=Ethernet

Nettverket restartes med /etc/init.d/network restart

4   Mer enn ett bonding-interface

Dersom man skal ha mer enn ett bonding-interface, måtte man tidligere gjøre ting litt annerledes i /etc/modprobe.conf. Ved å spesifisere opsjoner i BONDING_OPTS slipper man dette. For eksempel, hvis man har to bonding-interfacer:

alias bond0 bonding
alias bond1 bonding

ifcfg-bond0 og ifcfg-bond1 ser da slik ut:

DEVICE=bond0
BONDING_OPTS="mode=1 miimon=100 primary=eth0"
BOOTPROTO=none
IPADDR=129.240.234.203
NETMASK=255.255.255.224
ONBOOT=yes
TYPE=Bonding


DEVICE=bond1
BONDING_OPTS="mode=1 miimon=100 primary=eth2"
BOOTPROTO=none
IPADDR=10.240.234.203
NETMASK=255.255.255.224
ONBOOT=yes
TYPE=Bonding

Her er ifc-eth[0..3] for dette eksemplet:

# Broadcom Corporation NetXtreme II BCM5708S Gigabit Ethernet
DEVICE=eth0
HWADDR=00:23:7D:A2:FC:08
ONBOOT=yes
SLAVE=yes
MASTER=bond0
TYPE=Ethernet


# Broadcom Corporation NetXtreme II BCM5708S Gigabit Ethernet
DEVICE=eth1
HWADDR=00:23:7D:A2:FC:02
ONBOOT=yes
SLAVE=yes
MASTER=bond0
TYPE=Ethernet


# Broadcom Corporation NetXtreme BCM5715S Gigabit Ethernet
DEVICE=eth2
HWADDR=00:23:7D:A5:E5:B4
ONBOOT=yes
SLAVE=yes
MASTER=bond1
TYPE=Ethernet


# Broadcom Corporation NetXtreme BCM5715S Gigabit Ethernet
DEVICE=eth3
HWADDR=00:23:7D:A5:E5:B5
ONBOOT=yes
SLAVE=yes
MASTER=bond1
TYPE=Ethernet
Av Trond Hasle Amundsen
Publisert 5. okt. 2015 17:26