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
Next revision Both sides next revision
протокол_carp [2013/05/22 13:50]
127.0.0.1 внешнее изменение
протокол_carp [2021/02/03 16:38]
val
Line 1: Line 1:
 ====== Протокол CARP ====== ====== Протокол CARP ======
  
-===== FreeBSD (user land) =====+  * [[https://​ru.wikipedia.org/​wiki/​VRRP|VRRP]] 
 +  * [[https://​ru.wikipedia.org/​wiki/​CARP|CARP]] 
 +  * [[Сервис NTP]]
  
 +===== Debian/​Ubuntu =====
 +
 +  * [[https://​serverfault.com/​questions/​298776/​ucarp-promote-slave-to-master|ucarp:​ promote slave to master]]
 ==== Установка ==== ==== Установка ====
 <​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 eth0 
 + 
 +root@nodeN:​~#​ ifup eth0 
 +</​code>​ 
 + 
 +==== Проверка ==== 
 + 
 +  * [[Сигналы#​Отправка сигнала]] 
 + 
 +<​code>​ 
 +root@nodeN:​~#​ ps ax | grep carp 
 + 
 +root@nodeN:​~#​ ifconfig eth0:​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 100: Line 165:
 </​code>​ </​code>​
  
-==== Вариант использования 2 ====+==== FreeBSD (kernel land) ====
  
-=== Настройка === +  * [[http://​www.freebsd.org/​doc/​en/​books/​handbook/​carp.html|Common Address Redundancy Protocol (CARP) (freebsd handbook)]]
-<​code>​ +
-root@nodeN:​~#​ less /​usr/​share/​doc/​ucarp/​README.Debian +
- +
-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:​~#​ /​etc/​init.d/​networking restart +
-</​code>​ +
- +
-=== Проверка === +
-<​code>​ +
-root@nodeN:​~#​ ifconfig eth0:ucarp  +
-</​code>​ +
- +
-=== Остановка === +
-<​code>​ +
-root@nodeN:​~#​ killall ucarp +
-</​code>​ +
- +
-==== Дополнительные материалы ==== +
- +
-[[http://​www.pytips.com/​2010/​3/​16/​ip-failover-with-ucarp-on-ubuntu]] +
- +
-[[http://​serverfault.com/​questions/​179263/​multiple-ucarp-vips-on-single-interface-with-debian-ubuntu]] +
- +
-=== FreeBSD (kernel land) === +
- +
-[[http://​www.freebsd.org/​doc/​en/​books/​handbook/​carp.html]]+
  
 # man carp # man carp
  
-[[Сборка ядра]]+[[Управление ​ядром и модулями в FreeBSD]]
  
-== Настройка ==+=== Настройка ​===
  
 <​code>​ <​code>​
Line 188: Line 197:
 </​code>​ </​code>​
  
-== Проверка ==+=== Проверка ​===
 <​code>​ <​code>​
 nodeN# ifconfig carp0 nodeN# ifconfig carp0
протокол_carp.txt · Last modified: 2021/07/08 08:04 by admin