User Tools

Site Tools


сервис_keepalived

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
сервис_keepalived [2021/12/10 09:43]
val
сервис_keepalived [2024/02/26 17:10]
val [Настройка VRRP]
Line 3: Line 3:
   * [[https://​winitpro.ru/​index.php/​2019/​09/​09/​keepalived-ha-balansirovka-plavayushhiy-ip-adres/​|Keepalived:​ настройка высокой доступности и плавающих IP адресов в CentOS 7]]   * [[https://​winitpro.ru/​index.php/​2019/​09/​09/​keepalived-ha-balansirovka-plavayushhiy-ip-adres/​|Keepalived:​ настройка высокой доступности и плавающих IP адресов в CentOS 7]]
   * [[https://​habr.com/​ru/​post/​524688/​|Отказоустойчивый кластер с балансировкой нагрузки с помощью keepalived]]   * [[https://​habr.com/​ru/​post/​524688/​|Отказоустойчивый кластер с балансировкой нагрузки с помощью keepalived]]
 +
 +
 +===== Установка ====
  
 <​code>​ <​code>​
-nodeN# apt install keepalived+# apt install keepalived 
 +</​code>​
  
-node1# cat /​etc/​keepalived/​keepalived.conf+===== Настройка VRRP ==== 
 + 
 +  * Разобраться:​ как ведет себя в случае link down eth1/2 
 +  * [[https://​github.com/​acassen/​keepalived/​blob/​master/​doc/​samples/​keepalived.conf.vrrp.routes]] 
 + 
 +<​code>​ 
 +nodeN# cat /​etc/​keepalived/​keepalived.conf
 </​code><​code>​ </​code><​code>​
 vrrp_instance VI_1 { vrrp_instance VI_1 {
-    ​state MASTER+ 
 +#    ​state MASTER 
 +#    state BACKUP 
     interface eth0     interface eth0
 +#    interface br0
     virtual_router_id 1     virtual_router_id 1
     virtual_ipaddress {     virtual_ipaddress {
Line 17: Line 31:
 #        192.168.X.254 label br0:1 #        192.168.X.254 label br0:1
         172.16.1.X/​24 dev eth1         172.16.1.X/​24 dev eth1
-        172.16.2.X/​24 dev eth3 +#        172.16.2.X/​24 dev eth2
-    } +
-    notify_backup "/​usr/​local/​bin/​vrrp.sh BACKUP"​ +
-    notify_master "/​usr/​local/​bin/​vrrp.sh MASTER"​ +
-+
-</​code><​code>​ +
-node2cat /​etc/​keepalived/​keepalived.conf +
-</​code><​code>​ +
-vrrp_instance VI_1 { +
-    state BACKUP +
-    interface eth0 +
-    virtual_router_id 1 +
-    virtual_ipaddress { +
-        192.168.X.254 label eth0:1 +
-#        192.168.X.254 label br0:1 +
-        172.16.1.X/​24 dev eth1 +
-        ​172.16.2.X/​24 dev eth3+
     }     }
 +#    virtual_routes {
 +#        0.0.0.0/0 via 172.16.1.254 dev eth1
 +#    }
     notify_backup "/​usr/​local/​bin/​vrrp.sh BACKUP"​     notify_backup "/​usr/​local/​bin/​vrrp.sh BACKUP"​
     notify_master "/​usr/​local/​bin/​vrrp.sh MASTER"​     notify_master "/​usr/​local/​bin/​vrrp.sh MASTER"​
Line 48: Line 49:
     MASTER)     MASTER)
         ip route delete default         ip route delete default
-        ip route add default via 172.16.1.254 table 101 +        ​ip route add default via 172.16.1.254 
-        ip route add default via 172.16.2.254 table 102 + 
-        /​root/​select_isp.sh+#        ​ip route add default via 172.16.1.254 table 101 
 +       ip route add default via 172.16.2.254 table 102 
 +       /​root/​select_isp.sh
     ;;     ;;
     BACKUP)     BACKUP)
 +        ip route delete default
         ip route add default via 192.168.X.254         ip route add default via 192.168.X.254
     ;;     ;;
Line 58: Line 62:
 </​code><​code>​ </​code><​code>​
 nodeN# chmod +x /​usr/​local/​bin/​vrrp.sh nodeN# chmod +x /​usr/​local/​bin/​vrrp.sh
 +</​code>​
 +
 +===== Настройка балансировки нагрузки ​ =====
 +
 +  * [[https://​habr.com/​ru/​post/​104621/​|Балансировка нагрузки с LVS]]
 +
 +<​code>​
 +gate# cat /​etc/​keepalived/​keepalived.conf
 +</​code><​code>​
 +# prod_nodes
 +virtual_server 172.16.1.X 1194 {
 +  protocol UDP
 +  real_server 192.168.X.201 1194 {
 +    weight 1
 +    TCP_CHECK {
 +        connect_port 7505
 +    }
 +  }
 +  real_server 192.168.X.202 1194 {
 +    weight 1
 +    TCP_CHECK {
 +        connect_port 7505
 +    }
 +  }
 +}
 +
 +# test_nodes
 +virtual_server 172.16.1.X 2194 {
 +  real_server 192.168.X.203 1194 {
 +    TCP_CHECK {
 +        connect_port 7505
 +    }
 +  }
 +}
 +
 +
 +#​virtual_server 172.16.1.X 80 {
 +#  protocol TCP
 +
 +#  real_server 192.168.X.10 82 {}
 +#  real_server 192.168.X.10 8000 {}
 +
 +#  real_server 192.168.X.10 NNNNN {TCP_CHECK {}}
 +#  ...
 +
 +#  real_server 192.168.X.201 NNNNN {TCP_CHECK {}}
 +#  ...
 +#  real_server 192.168.X.203 NNNNN {TCP_CHECK {}}
 +#  ...
 +#  real_server 192.168.X.10 80 {}
 +#}
 +</​code>​
 +
 +===== Запуск и мониторинг =====
 +<​code>​
 +# keepalived -t
 +
 +# service keepalived restart
 +
 +# watch "​service keepalived status | cat"
 +
 +# watch ipvsadm -L -n
  
-nodeNservice keepalived restart+ipvsadm -L -n -c
 </​code>​ </​code>​
сервис_keepalived.txt · Last modified: 2024/04/09 11:27 by val