This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
протокол_carp [2016/04/21 12:00] val [Установка] |
протокол_carp [2021/07/08 08:04] (current) admin [Смена ролей узлов] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Протокол CARP ====== | ====== Протокол CARP ====== | ||
| - | * [[https://ru.wikipedia.org/wiki/VRRP]] | + | * [[https://ru.wikipedia.org/wiki/VRRP|VRRP]] |
| - | * [[https://ru.wikipedia.org/wiki/CARP]] | + | * [[https://ru.wikipedia.org/wiki/CARP|CARP]] |
| * [[Сервис NTP]] | * [[Сервис NTP]] | ||
| - | ===== Ubuntu ===== | + | ===== Debian/Ubuntu ===== |
| + | * [[https://serverfault.com/questions/298776/ucarp-promote-slave-to-master|ucarp: promote slave to master]] | ||
| + | * [[https://askubuntu.com/questions/1149275/using-netplan-with-ucarp|Using netplan with ucarp]] + systemd | ||
| ==== Установка ==== | ==== Установка ==== | ||
| <code> | <code> | ||
| - | root@nodeN:~# apt-get install ucarp | + | root@nodeN:~# apt install ucarp |
| </code> | </code> | ||
| Line 17: | Line 19: | ||
| root@nodeN:~# less /etc/network/if-up.d/ucarp | root@nodeN:~# less /etc/network/if-up.d/ucarp | ||
| - | |||
| - | root@nodeN:~# ifdown eth0 | ||
| root@nodeN:~# cat /etc/network/interfaces | root@nodeN:~# cat /etc/network/interfaces | ||
| Line 27: | Line 27: | ||
| address 192.168.X.N | address 192.168.X.N | ||
| netmask 255.255.255.0 | netmask 255.255.255.0 | ||
| + | |||
| ucarp-vid 1 | ucarp-vid 1 | ||
| ucarp-vip 192.168.X.254 | ucarp-vip 192.168.X.254 | ||
| Line 36: | Line 37: | ||
| ... | ... | ||
| </code><code> | </code><code> | ||
| - | root@nodeN:~# cat /usr/share/ucarp/vip-up | + | root@nodeN:~# less /usr/share/ucarp/vip-up |
| </code><code> | </code><code> | ||
| #!/bin/sh | #!/bin/sh | ||
| Line 42: | Line 43: | ||
| /sbin/ifup $1:ucarp | /sbin/ifup $1:ucarp | ||
| </code><code> | </code><code> | ||
| - | root@nodeN:~# cat /usr/share/ucarp/vip-down | + | root@nodeN:~# less /usr/share/ucarp/vip-down |
| </code><code> | </code><code> | ||
| #!/bin/sh | #!/bin/sh | ||
| Line 51: | Line 52: | ||
| ==== Запуск ==== | ==== Запуск ==== | ||
| <code> | <code> | ||
| + | root@nodeN:~# ifdown --force eth0 | ||
| + | |||
| root@nodeN:~# ifup eth0 | root@nodeN:~# ifup eth0 | ||
| </code> | </code> | ||
| ==== Проверка ==== | ==== Проверка ==== | ||
| + | |||
| + | * [[Сигналы#Отправка сигнала]] | ||
| + | |||
| <code> | <code> | ||
| root@nodeN:~# ps ax | grep carp | root@nodeN:~# ps ax | grep carp | ||
| root@nodeN:~# ifconfig eth0:ucarp | root@nodeN:~# ifconfig eth0:ucarp | ||
| + | |||
| + | root@nodeN:~# pkill -USR1 ucarp | ||
| + | |||
| + | root@nodeN:~# killall -USR1 ucarp | ||
| + | |||
| + | root@nodeN:~# grep carp /var/log/syslog | ||
| </code> | </code> | ||
| - | === Остановка === | + | ==== Смена ролей узлов ==== |
| <code> | <code> | ||
| - | root@nodeN:~# ifdown eth0:ucarp | + | wincmd:\> arp -a |
| + | |||
| + | masternode# pkill -USR2 ucarp | ||
| + | |||
| + | masternode# killall -USR2 ucarp | ||
| + | |||
| + | wincmd:\> arp -a | ||
| </code> | </code> | ||
| + | |||
| ===== FreeBSD (user land) ===== | ===== FreeBSD (user land) ===== | ||
| Line 75: | Line 94: | ||
| ==== Настройка ==== | ==== Настройка ==== | ||
| <code> | <code> | ||
| - | [node1:~] # cat /etc/rc.conf | + | [nodeN:~] # less /usr/local/etc/rc.d/ucarp |
| + | |||
| + | [nodeN:~] # cat /etc/rc.conf | ||
| </code><code> | </code><code> | ||
| ... | ... | ||
| + | ucarp_src="192.168.X.N" | ||
| ucarp_enable="YES" | ucarp_enable="YES" | ||
| ucarp_vhid="1" | ucarp_vhid="1" | ||
| ucarp_if="em0" | ucarp_if="em0" | ||
| - | ucarp_src="192.168.X.1" | ||
| ucarp_addr="192.168.X.254" | ucarp_addr="192.168.X.254" | ||
| - | # ucarp_advskew="50" | ||
| - | # ucarp_preempt="YES" # For always use master with lover advskew | ||
| ucarp_pass="secret" | ucarp_pass="secret" | ||
| - | ucarp_upscript="/usr/local/etc/vip-up.sh" | + | ucarp_upscript="/usr/local/sbin/ucarp-up" |
| - | ucarp_downscript="/usr/local/etc/vip-down.sh" | + | ucarp_downscript="/usr/local/sbin/ucarp-down" |
| </code><code> | </code><code> | ||
| - | [node2:~] # cat /etc/rc.conf | + | [nodeN:~] # cat /usr/local/sbin/ucarp-up |
| </code><code> | </code><code> | ||
| + | #!/bin/sh | ||
| ... | ... | ||
| - | ucarp_enable="YES" | + | /sbin/ifconfig "$1" alias "$2" netmask 255.255.255.255 |
| - | ucarp_vhid="1" | + | |
| - | ucarp_if="em0" | + | |
| - | ucarp_src="192.168.X.2" | + | |
| - | ucarp_addr="192.168.X.254" | + | |
| - | # ucarp_advskew="100" | + | |
| - | # ucarp_preempt="YES" | + | |
| - | ucarp_pass="secret" | + | |
| - | ucarp_upscript="/usr/local/etc/vip-up.sh" | + | |
| - | ucarp_downscript="/usr/local/etc/vip-down.sh" | + | |
| </code><code> | </code><code> | ||
| - | [nodeN:~] # cat /usr/local/etc/vip-up.sh | + | [nodeN:~] # cat /usr/local/sbin/ucarp-down |
| </code><code> | </code><code> | ||
| #!/bin/sh | #!/bin/sh | ||
| - | ifconfig em0 inet 192.168.X.254/32 alias | + | ... |
| - | </code><code> | + | /sbin/ifconfig "$1" -alias "$2" |
| - | [nodeN:~] # chmod +x /usr/local/etc/vip-up.sh | + | ... |
| - | </code><code> | + | |
| - | [nodeN:~] # cat /usr/local/etc/vip-down.sh | + | |
| - | </code><code> | + | |
| - | #!/bin/sh | + | |
| - | ifconfig em0 inet 192.168.X.254/32 -alias | + | |
| - | </code><code> | + | |
| - | [nodeN:~] # chmod +x /usr/local/etc/vip-down.sh | + | |
| </code><code> | </code><code> | ||
| - | [nodeN:~] # /usr/local/etc/rc.d/ucarp start | + | [nodeN:~] # service ucarp start |
| </code> | </code> | ||