User Tools

Site Tools


протокол_carp

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
протокол_carp [2016/04/15 10:40]
val [Вариант использования 2]
протокол_carp [2021/07/08 08:04]
admin [Проверка]
Line 1: Line 1:
 ====== Протокол CARP ====== ====== Протокол CARP ======
  
 +  * [[https://​ru.wikipedia.org/​wiki/​VRRP|VRRP]]
 +  * [[https://​ru.wikipedia.org/​wiki/​CARP|CARP]]
   * [[Сервис NTP]]   * [[Сервис NTP]]
-===== FreeBSD (user land) ===== 
  
 +===== 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>​
-[nodeN:~pkg_add -r ucarp+root@nodeN:​~# ​apt install ​ucarp
 </​code>​ </​code>​
  
 ==== Настройка ==== ==== Настройка ====
 <​code>​ <​code>​
-[node1:~cat /etc/rc.conf+root@nodeN:~# less /​usr/​share/​doc/​ucarp/​README.Debian 
 + 
 +root@nodeN:​~#​ less /etc/network/​if-up.d/ucarp 
 + 
 +root@nodeN:​~#​ cat /​etc/​network/​interfaces
 </​code><​code>​ </​code><​code>​
 ... ...
-ucarp_enable="​YES"​ +auto eth0 
-ucarp_vhid="​1"​ +iface eth0 inet static 
-ucarp_if="​em0"​ +        ​address ​192.168.X.
-ucarp_src="​192.168.X.1" +        netmask 255.255.255.0 
-ucarp_addr="​192.168.X.254" + 
-# ucarp_advskew="​50"​ +        ucarp-vid ​
-# ucarp_preempt="​YES"​ # For always use master with lover advskew +        ​ucarp-vip ​192.168.X.254 
-ucarp_pass="​secret"​ +        ​ucarp-password secret 
-ucarp_upscript="/​usr/​local/​etc/​vip-up.sh" + 
-ucarp_downscript="/​usr/​local/​etc/​vip-down.sh"+iface eth0:ucarp inet static 
 +        ​address 192.168.X.254 
 +        ​netmask 255.255.255.255 
 +...
 </​code><​code>​ </​code><​code>​
-[node2:~] # cat /​etc/​rc.conf+root@nodeN:​~#​ less /​usr/​share/​ucarp/​vip-up 
 +</​code><​code>​ 
 +#!/bin/sh 
 + 
 +/sbin/ifup $1:ucarp 
 +</​code><​code>​ 
 +root@nodeN:​~#​ less /​usr/​share/​ucarp/​vip-down 
 +</​code><​code>​ 
 +#!/bin/sh 
 + 
 +/​sbin/​ifdown $1:ucarp 
 +</​code>​ 
 + 
 +==== Запуск ==== 
 +<​code>​ 
 +root@nodeN:​~#​ ifdown --force eth0 
 + 
 +root@nodeN:​~#​ ifup eth0 
 +</​code>​ 
 + 
 +==== Проверка ==== 
 + 
 +  * [[Сигналы#​Отправка сигнала]] 
 + 
 +<​code>​ 
 +root@nodeN:​~#​ ps ax | grep carp 
 + 
 +root@nodeN:​~#​ ifconfig eth0:​ucarp 
 + 
 +root@nodeN:​~#​ pkill -USR1 ucarp 
 + 
 +root@nodeN:​~#​ killall -USR1 ucarp 
 + 
 +root@nodeN:​~#​ grep carp /​var/​log/​syslog 
 +</​code>​ 
 + 
 +==== Смена ролей узлов ==== 
 +<​code>​ 
 +wincmd:​\>​ arp -a 
 + 
 +masternode# killall -USR2 ucarp 
 + 
 +wincmd:​\>​ arp -a 
 +</​code>​ 
 + 
 + 
 +===== FreeBSD (user land) ===== 
 + 
 +==== Установка ==== 
 +<​code>​ 
 +[nodeN:~] # pkg install ucarp 
 +</​code>​ 
 + 
 +==== Настройка ==== 
 +<​code>​ 
 +[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.2"​ 
 ucarp_addr="​192.168.X.254"​ ucarp_addr="​192.168.X.254"​
-# ucarp_advskew="​100"​ 
-# ucarp_preempt="​YES"​ 
 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>​
-[nodeN:~] # cat /usr/local/etc/vip-up.sh+[nodeN:~] # cat /usr/local/sbin/ucarp-up
 </​code><​code>​ </​code><​code>​
 #!/bin/sh #!/bin/sh
-ifconfig em0 inet 192.168.X.254/32 alias+... 
 +/sbin/​ifconfig "​$1" ​alias "​$2"​ netmask 255.255.255.255
 </​code><​code>​ </​code><​code>​
-[nodeN:~] # chmod +x /​usr/​local/​etc/​vip-up.sh +[nodeN:~] # cat /usr/local/sbin/ucarp-down
-</​code><​code>​ +
-[nodeN:~] # cat /usr/local/etc/vip-down.sh+
 </​code><​code>​ </​code><​code>​
 #!/bin/sh #!/bin/sh
-ifconfig em0 inet 192.168.X.254/32 -alias+... 
 +/sbin/​ifconfig "​$1" ​-alias ​"​$2"​ 
 +...
 </​code><​code>​ </​code><​code>​
-[nodeN:~] # chmod +x /​usr/​local/​etc/​vip-down.sh +[nodeN:~] # service ​ucarp start
-</​code><​code>​ +
-[nodeN:~] # /​usr/​local/​etc/​rc.d/​ucarp start+
 </​code>​ </​code>​
  
-===== Ubuntu ​=====+===== Дополнительные материалы ​=====
  
-==== Установка ​====+  * [[http://​serverfault.com/​questions/​179263/​multiple-ucarp-vips-on-single-interface-with-debian-ubuntu|Multiple UCARP VIPs on single Interface with Debian/​Ubuntu]] 
 + 
 +==== Ubuntu вариант запуска процесса вручную ==== 
 + 
 +=== Установка ===
 <​code>​ <​code>​
 root@nodeN:​~#​ apt-get install ucarp root@nodeN:​~#​ apt-get install ucarp
 </​code>​ </​code>​
- 
-==== Вариант использования 1 (устаревший) ==== 
  
 === Настройка === === Настройка ===
Line 101: Line 169:
 </​code>​ </​code>​
  
-==== Вариант использования 2 ==== +==== FreeBSD (kernel land) ====
- +
-=== Настройка === +
-<​code>​ +
-root@nodeN:​~#​ less /​usr/​share/​doc/​ucarp/​README.Debian +
- +
-root@nodeN:​~#​ less /​etc/​network/​if-up.d/​ucarp +
- +
-root@nodeN:​~#​ ifdown eth0 +
- +
-root@nodeN:​~#​ cat /​etc/​network/​interfaces +
-</​code><​code>​ +
-... +
-auto eth0 +
-iface eth0 inet static +
-        address 192.168.X.N +
-        netmask 255.255.255.0 +
-        ucarp-vid 1 +
-        ucarp-vip 192.168.X.254 +
-        ucarp-password secret +
- +
-iface eth0:ucarp inet static +
-        address 192.168.X.254 +
-        netmask 255.255.255.255 +
-... +
-</​code><​code>​ +
-root@nodeN:​~#​ cat /​usr/​share/​ucarp/​vip-up +
-</​code><​code>​ +
-#!/bin/sh +
- +
-/sbin/ifup $1:ucarp +
-</​code><​code>​ +
-root@nodeN:​~#​ cat /​usr/​share/​ucarp/​vip-down +
-</​code><​code>​ +
-#!/bin/sh +
- +
-/​sbin/​ifdown $1:ucarp +
-</​code>​ +
- +
-=== Запуск === +
-<​code>​ +
-root@nodeN:​~#​ ifup eth0 +
-</​code>​ +
- +
-=== Проверка === +
-<​code>​ +
-root@nodeN:​~#​ ps ax | grep carp +
- +
-root@nodeN:​~#​ ifconfig eth0:​ucarp +
-</​code>​ +
- +
-=== Остановка === +
-<​code>​ +
-root@nodeN:​~#​ ifdown eth0:​ucarp +
-</​code>​ +
- +
-==== Дополнительные материалы ==== +
- +
-  * [[http://​serverfault.com/​questions/​179263/​multiple-ucarp-vips-on-single-interface-with-debian-ubuntu|Multiple UCARP VIPs on single Interface with Debian/​Ubuntu]] +
- +
-=== FreeBSD (kernel land) ===+
  
   * [[http://​www.freebsd.org/​doc/​en/​books/​handbook/​carp.html|Common Address Redundancy Protocol (CARP) (freebsd handbook)]]   * [[http://​www.freebsd.org/​doc/​en/​books/​handbook/​carp.html|Common Address Redundancy Protocol (CARP) (freebsd handbook)]]
Line 169: Line 177:
 [[Управление ядром и модулями в FreeBSD]] [[Управление ядром и модулями в FreeBSD]]
  
-== Настройка ==+=== Настройка ​===
  
 <​code>​ <​code>​
Line 193: Line 201:
 </​code>​ </​code>​
  
-== Проверка ==+=== Проверка ​===
 <​code>​ <​code>​
 nodeN# ifconfig carp0 nodeN# ifconfig carp0
протокол_carp.txt · Last modified: 2021/07/08 08:04 by admin