Usando netplan com ucarp

Usando netplan com ucarp

sabemos que a nova versão do Ubuntu suporta totalmente o Netplan. Então, quero perguntar como posso usar esse recurso com o protocolo ucarp (aplicativo). Como posso integrar o Netplan com o ucarp. Caso não haja solução, quais são as formas alternativas de utilizar este recurso. Obrigado pela sua atenção. Aguardo sua resposta.

Responder1

É possível fazer a UCARP funcionar com a Netplan:

Primeiramente você deve editar /usr/share/ucarp/vip-up e 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"

O próximo passo é configurar o 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

Você pode alterar --pass para usar o arquivo com --passfile. Srcip – ip da sua máquina, addr – ip virtual do seu cluster.

Eu apenas tentei isso e estava tudo bem. Desativei a Ethernet no nó mestre e a transição ocorreu após 2 ms.

Mas há um problema - o UCARP não é um serviço, então você deve criar uma unidade para ele.

nano /etc/systemd/system/ucarp.service

E preencha

[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

E adicionado à inicialização automática

sudo systemctl enable ucarp

Responder2

O pacote ucarp inclui integração para ifupdown, mas não para netplan. Está na lista de pacotes que necessitam de atualização, descrita emhttps://bugs.launchpad.net/ubuntu/+source/ucarp/+bug/1718227.

Se você estiver usando o back-end networkd, poderá implementar os ganchos localmente, conforme descrito em networkd-dispatcher(8). Caso contrário, você sempre terá a opção de usar ifupdown em vez de netplan para configurar a interface de rede na qual você precisa executar o ucarp.

informação relacionada