
En uno de mis servidores configuré un dispositivo de enlace que consta de una tarjeta de red integrada y una tarjeta de red PCIe. (eth1 y eth5)
Configuré la configuración de acuerdo con man ifcfg-bonding
: es decir, eth1 y eth5 no aparecerán al iniciar el sistema, pero bond0 lo hará.
Ahora el problema parece ser que eth5 tarda demasiado en establecer un vínculo. El resultado es un enlace0 en ejecución que consta de eth1 y eth5, pero el enlace eth5 está inactivo.
Si hago un manual ifconfig eth5 up
en esta situación, eth5 tendrá un enlace y todo estará bien.
Detalles:
# cat /proc/net/bonding/pbond0
Ethernet Channel Bonding Driver: v3.2.5 (March 21, 2008)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth1
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Slave Interface: eth5
MII Status: up
Link Failure Count: 0
# ethtool -i eth1
driver: bnx2
version: 2.0.18-suse
firmware-version: 6.2.16 bc 5.0.4 UMP 1.1.9
# ethtool -i eth5
driver: e1000
version: 7.6.15.5-NAPI
firmware-version: 5.6-2
La solución podría ser darle a eth5 más tiempo para establecer el enlace durante el arranque. Probablemente esto sea muy específico del sistema operativo (aquí: SLES10 SP4).
Respuesta1
Suponiendo que eth1 y eth5 estén al menos configurados en ONBOOT=yes
(aunque no tenga otra configuración), puede usar la POST_UP_SCRIPT
variable in ifcfg-eth5
para llamar a un archivo sleep 5
.
O, al revés, para ifcfg-bond0
darle PRE_UP_SCRIPT
a eth5 algo de tiempo para establecerse.
Comparar conDocumentación de uso.