Usando netplan con ucarp

Usando netplan con ucarp

Sabemos que la nueva versión de Ubuntu es totalmente compatible con Netplan. Entonces quiero preguntar cómo puedo usar esta función con el protocolo (aplicación) ucarp. ¿Cómo puedo integrar Netplan con ucarp? Si no hay ninguna solución, ¿cuáles son las formas alternativas de utilizar esta función? Gracias por su atención. Espero su respuesta.

Respuesta1

Es posible hacer que UCARP funcione con Netplan:

Al principio deberías editar /usr/share/ucarp/vip-up y vip-down:

  ----- up -----
  #!/bin/sh
  exec 2>/dev/null
  
  /sbin/ip address add "$2"/32 dev "$1"

  ------- down -------
  #!/bin/sh
  exec 2>/dev/null
  
  /sbin/ip address del "$2"/32 dev "$1"

El siguiente paso es configurar ucarp:

/usr/sbin/ucarp --interface=ens160 --pass=YourPassw00rd --srcip=10.0.215.26 --vhid=1 --addr=10.0.215.46 --shutdown --preempt --advskew=0 --upscript=/usr/share/ucarp/vip-up --downscript=/usr/share/ucarp/vip-down

Puede cambiar --pass para usar el archivo con --passfile. Srcip: ip de su máquina, addr: ip virtual de su clúster.

Intenté esto y todo estuvo bien. Deshabilité Ethernet en el nodo maestro y la conmutación se produjo después de 2 ms.

Pero hay un problema: UCARP no es un servicio, por lo que debes crear una unidad para él.

nano /etc/systemd/system/ucarp.service

y llenarlo

[Unit]
#Unit description. You can see this message when use "service ucarp status"
Description=Start UCARP as service
# Start after this:
After=syslog.target
After=network.target

[Service]
# Set type of service. Only oneshot works with exec lines with so much values. Look for Man page for instructions.
Type=oneshot
# Execute on start.
ExecStart=/usr/sbin/ucarp --interface=ens160 --pass=SuperPa$$w0rd --srcip=10.0.215.26 --vhid=1 --addr=10.0.215.46 --shutdown --preempt --advskew=0 --upscript=/usr/share/ucarp/vip-up --downscript=/usr/share/ucarp/vip-down -B
# Execute on stop.
KillMode=control-group
# Execute on reboot.
RemainAfterExit=yes


[Install]
WantedBy=multi-user.target

Y agregado al inicio automático

sudo systemctl enable ucarp

Respuesta2

El paquete ucarp incluye integración para ifupdown pero no para netplan. Está en la lista de paquetes que requieren actualización, descrita enhttps://bugs.launchpad.net/ubuntu/+source/ucarp/+bug/1718227.

Si está utilizando el backend en red, puede implementar los enlaces usted mismo localmente como se describe en networkd-dispatcher(8). De lo contrario, siempre tiene la opción de recurrir a ifupdown en lugar de netplan para configurar la interfaz de red en la que necesita ejecutar ucarp.

información relacionada