Hola a tod@s,
En este post veremos cómo configurar un bond o NIC Teaming en Proxmox VE 9.0, un bond o NIC Teaming es agrupar las interfaces de red de nuestro servidor para crear alta disponibilidad y balanceo de carga a nivel de red en nuestro sistema operativo.
- Si accedemos a proxmoxlab11 > Sistema > Red, vemos que nuestro hypervisor tiene dos interfaces de red, llamadas ens192 y ens224, en la instalación de proxmox, cuando configuramos la interface de management, utilizamos la interface de red ens192 y nos creo la interface virtual vmbr0 del tipo Linux Bridge, esta interface virtual vmbr0 es la que tiene asignados los parámetros de TCP/IP:
- Ahora nos abrimos una Consola en nuestro Proxmox, realizamos un backup del fichero de configuración de red, ejecutando cp /etc/network/interfaces /etc/network/interfaces00.bck y editamos el fichero original con nano /etc/network/interfaces para configurar nuestra red:
- Esta es la configuración que tenemos tras la instalación de proxmox:
- Para configurar el bond o NIC Teaming, vamos a añadir al fichero esta configuración, incluimos las dos interfaces de red y el tipo de balanceo de carga round robin (consiste en distribuir paquetes de datos de forma secuencial entre las interfaces de red de un grupo «bond», de manera que se aprovecha todo el ancho de banda y se proporciona tolerancia a fallos), si aplicamos esta configuración, en el switch físico dónde conectemos las interfaces de red deben de tener un trunk sin LACP:
auto bond0
iface bond0 inet manual
bond-slaves ens192 ens224
bond-miimon 100
bond-mode balance-rr
auto vmbr0
iface vmbr0 inet static
address 192.168.7.11/24
gateway 192.168.7.210
bridge-ports bond0
bridge-stp off
bridge-fd 0
- Con systemctl restart networking reiniciamos el servicio de red y con systemctl status networking vemos que el servicio está cargado y activado:
- Si accedemos a proxmoxlab11 > Sistema > Red, vemos que ya nos muestra el bond o NIC Teaming que hemos creado, y que la configuración de la interface virtual vmbr0 Linux Bridge ahora apunta al puerto bond0:
- Para laboratorios en modo nested y en configuraciones de dos switches redundantes, la configuración adecuada sería el bond, en modo active-backup:
auto bond0
iface bond0 inet manual
bond-slaves ens192 ens224
bond-miimon 100
bond-mode active-backup
bond-primary ens192
auto vmbr0
iface vmbr0 inet static
address 192.168.7.11/24
gateway 192.168.7.210
bridge-ports bond0
bridge-stp off
bridge-fd 0
- Si accedemos a proxmoxlab11 > Sistema > Red, vemos que ya nos muestra el bond o NIC Teaming que hemos creado en modo active-backup, y que la configuración de la interface virtual vmbr0 Linux Bridge ahora apunta al puerto bond0:
- Para laboratorios en modo nested, en configuraciones de switches físicos redundantes o en configuraciones de un solo switch físico, otra configuración adecuada sería el bond, en modo balance-alb:
auto bond0
iface bond0 inet manual
bond-slaves ens192 ens224
bond-miimon 100
bond-mode balance-alb
auto vmbr0
iface vmbr0 inet static
address 192.168.7.11/24
gateway 192.168.7.210
bridge-ports bond0
bridge-stp off
bridge-fd 0
- Si accedemos a proxmoxlab11 > Sistema > Red, vemos que ya nos muestra el bond o NIC Teaming que hemos creado en modo balance-alb, y que la configuración de la interface virtual vmbr0 Linux Bridge ahora apunta al puerto bond0:
- Para resumir, como podemos configurar un bond, vamos a poner de ejemplos distintos escenarios.
- Servidor Proxmox con dos interfaces de red y dos switches físicos distintos:
- Si los switches no están apilados (stack) o no soportan MLAG/VLT/VSF:
- No podemos usar 802.3ad (LACP) porque este requiere que ambos puertos estén en el mismo dominio lógico de switch, en este caso, lo correcto es usar un modo de balanceo que funcione sin coordinación entre switches, como balance-alb (Adaptive Load Balancing) que no requiere configuración en los switches y proporciona balanceo de carga en salida y también en entrada (mediante ARP negotiation), o balance-tlb (Transmit Load Balancing) que balancea solo la salida, pero es más sencillo.
- Si los switches están en stack/VSF/IRF (actúan como un único switch lógico), en este caso, sí podemos usar bond mode 802.3ad (LACP) y configurar un LAG estático o dinámico en los switches físicos, esto nos dará redundancia y balanceo real a nivel de capa 2.
- Servidor Proxmox con dos interfaces de red conectadas al mismo switch físico:
- Bond en modo 802.3ad (LACP), es la opción más correcta y recomendada cuando ambas interfaces van al mismo switch físico, el switch debe tener configurado un LAG (Link Aggregation Group) con LACP para esos dos puertos, nos aporta redundancia (si un enlace cae, sigue funcionando el otro) y balanceo real de carga a nivel de capa 2/3.
- Bond en modo balance-alb, funciona y no hay que configurar nada en el switch, es transparente, proporciona balanceo de carga y tolerancia a fallos, nos aporta simplicidad ya que no dependemos de configurar el switch, pero el balanceo es menos predecible y puede dar problemas en ciertos entornos (aunque normalmente funciona bien).
Saludos y espero que os sea de ayuda 😉