Использование netplan с ucarp

Мы знаем, что новая версия Ubuntu полностью поддерживает Netplan. Поэтому я хочу спросить, как я могу использовать эту функцию с протоколом ucarp (приложение). Как я могу интегрировать Netplan с ucarp. Если нет никакого решения, каковы альтернативные способы использования этой функции. Спасибо за ваше внимание. Я с нетерпением жду вашего ответа.

-1
задан 7 June 2019 в 11:44

2 ответа

Пакет ucarp включает в себя интеграцию для ifupdown, но не для netplan. Он находится в списке пакетов, требующих обновления, который описан по адресу https://bugs.launchpad.net/ubuntu/+source/ucarp/+bug/1718227 .

Если вы используете сетевой бэкэнд, вы можете самостоятельно реализовать ловушки, как описано в networkd-dispatcher(8). В противном случае у вас всегда есть возможность использовать ifupdown вместо netplan для настройки сетевого интерфейса, на котором вам нужно запустить ucarp.

0
ответ дан 7 June 2019 в 11:44

Его возможное, чтобы заставить UCARP работать с Netplan:

Сначала необходимо отредактировать/usr/share/ucarp/vip-up и VIP вниз:

  ----- 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"

Следующий шаг должен настроить 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

Можно измениться - передают файлу использования с - passfile. Srcip - IP Вашей машины, addr - виртуальный IP Вашего кластера.

Я просто попробовал это, и все было в порядке. Я отключил Ethernet на главном узле и и переключение произошло после 2 мс.

Но существует одна проблема - UCARP не является сервисом, таким образом, необходимо создать единицу для него.

nano /etc/systemd/system/ucarp.service

И заполните его

[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.
ERemainAfterExit=yes


[Install]
WantedBy=multi-user.target

И добавил к автоматическому запуску

sudo systemctl enable ucarp
0
ответ дан 24 October 2019 в 05:28

Другие вопросы по тегам:

Похожие вопросы: