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
сервис_keepalived [2021/12/10 13:35]
val
сервис_keepalived [2024/02/26 17:11] (current)
val [Настройка балансировки нагрузки]
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 #    interface br0
Line 18: 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 +
-#    interface br0 +
-    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 50: 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 60: 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
 +  lb_algo wlc
 +  lb_kind NAT
 +  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
 +#  lb_algo wlc
 +#  lb_kind NAT
 +
 +#  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.1639132538.txt.gz · Last modified: 2021/12/10 13:35 by val