Articles of keepalived

Nginx与Keepalived

我有两个nginx服务器,它们处理1)反向代理和2)两个Web服务器上的负载平衡。 由于我无法提供任何nginx机器IP给客户,所以我想用VIP保持在2个Nginx机器的顶部,它也检查Nginx的故障切换。 我所取得的成就1)在2台机器上成功安装了nginx,所以当我点击任何nginx服务器IP时,我就能看到应用程序的网页。 即使我testing了失败,它工作正常。 2)我已经在这两台机器上安装了keepalived,并尝试使用以下configuration生成VIP vrrp_script chk_nginx { script "killall -0 nginx" interval 2 } vrrp_instance VI_1 { interface eth0:1 state MASTER virtual_router_id 51 priority 100 unicast_src_ip server1_ip unicast_peer { server2_ip } virtual_ipaddress { VIP } track_script { chk_nginx } } – >所以在这里,当我打网页浏览器中的VIP我有以下错误本网站无法到达 VIP拒绝连接。 尝试:检查连接检查代理和防火墙 不知道我在这里错过了什么。 有人可以帮我解决这个问题。所以根据我的理解,当我打到VIP我应该看到应用程序的网页? 问候VG

具有自动服务启动的冷备用的高可用性负载平衡

我正在尝试在AWS中为正在运行的应用程序设置高可用性群集。 该应用程序位于Oracle RDS前面的EC2实例上。 如果我使用传统的负载均衡,并且同时运行两个实例,那么数据库就会损坏,因为这两个实例将对数据库进行更改,但不会彼此识别,所以我需要执行主动/被动负载平衡。 我的问题是,如果被动实例正在运行应用程序,即使没有stream量进入,它也会在0.1%左右的时间内对数据库进行更改。 这意味着我需要确保当主节点健康时应用程序服务没有在备份节点上运行。 我的理想场景是运行主动/被动故障转移,可以执行以下操作: 运行状况检查主节点 如果主节点健康,则将stream量转发到主节点 如果主节点不健康,请运行启动服务的脚本,然后将stream量转发到辅助节点 我一直在研究HAProxy,但是我还没有看到在主节点出现故障的情况下让HAProxy在备份服务器上运行任意脚本的方法。 我见过关于使用keepalived的一些讨论。 我在Keepalived中build议可能吗? 还有什么可以做到的吗?

如何configurationkeepalived,所以GW在远程主机上有VIP作为源IP

我有一个工作在2网关keepalivedconfiguration。 两个网关共享一个外部(XXX.XXX.XXX.XXX)和一个内部(YYY.YYY.YYY.YYY)VIP。 networking中的所有realserver具有内部VIP(YYY.YYY.YYY.YYY)作为默认网关。 到现在为止还挺好。 现在我想要将外部VIP(XXX.XXX.XXX.XXX)作为外部网站上的源IP。 所以当我从networking中的一个主机上运行curl ipinfo.io/ip时,我的VIP应该被返回。 目前,我得到一个网关的物理IP(ZZZ.ZZZ.ZZZ.ZZZ)。 这可能吗? 怎么样? 我可以在网关上将默认的gw设置为VIP吗? keepalivedconfiguration vrrp_script chk_LB { script "systemctl status nginx" interval 1 weight 50 fall 3 rise 5 } vrrp_instance VIP { state BACKUP garp_master_delay 3 garp_master_refresh 3 garp_master_refresh_repeat 2 priority 102 ! nopreempt interface eth1 virtual_router_id 1 advert_int 1 authentication { auth_type PASS auth_pass somePass […]

保持两个vrrp_instance主/备份和另一个备份/主

我试图使用两个服务器的两个单独的服务使用keepalivedconfiguration高可用性。 我的想法是,一台服务器将是另一台的备份: 在服务器1中configuration优先级较低的vrrp_instance 1,优先级较高的服务器2中configurationvrrp_instance 1 在服务器1中configuration具有较高优先级的vrrp_instance 2,在具有较低优先级的服务器2中configurationvrrp_instance 2 问题在于,他们强制选举,即使是强硬对手也有优先权。 这是可行的吗? 服务器一: vrrp_instance VI_1 { state BACKUP interface ens32 virtual_router_id 51 priority 102 advert_int 4 authentication { auth_type PASS auth_pass firstpassword } virtual_ipaddress { 192.168.0.119/32 dev ens32 } } vrrp_instance VI_2 { state MASTER interface ens32 virtual_router_id 52 priority 151 advert_int 4 authentication { auth_type PASS […]

MySQL HA + LB:Keepalived + HAProxy vs Keepalived独自一人

脚本 对于我的应用程序,我想有高度可用的MySQL / MariaDB设置。 由于自动数据冗余和即时可用性,我发现Galera Cluster在这种情况下很有趣。 我的目标是这样的: 隐藏应用程序的集群复杂性(集群可以变得更大,并且改变拓扑添加一些asynchronous节点) 透明地处理应用程序之外的故障转移 为某些常见的情况写入和读取同步实例提供负载均衡, 仍然允许应用程序访问特定的节点,例如针对分析的顺序读取进行优化的例如asynchronous节点。 如果这个节点失败,我希望应用程序故障转移到标准的Galera实例,透明地保持一切正常运行。 做到目前为止 我已经阅读了许多关于如何设置高可用性和负载平衡的MySQL集群的HAProxy和Keepalived串联的文章,但没有一篇解释了为什么要使用这个二重奏的MySQL / MariaDB / Galerascheme。 一些例子: HAProxy + Keeplived,任何MySQL CE集群+ Galera: https ://severalnines.com/resources/tutorials/mysql-load-balancing-haproxy-tutorial HAProxy + Keepalived,Galera集群: http : //www.fromdual.com/making-haproxy-high-available-for-mysql-galera-cluster HAProxy + Keepalived,asynchronous集群: https : //www.digitalocean.com/community/tutorials/how-to-use-haproxy-to-set-up-mysql-load-balancing–3 仅限HAProxy: https : //www.digitalocean.com/community/tutorials/how-to-use-haproxy-to-set-up-mysql-load-balancing–3 当涉及到虚拟IP分配时,它由Keepalived根据自己的可脚本化健康检查器和VRRP 。 Keepalived也支持负载均衡,实现了多种algorithm,通过这些algorithmLB到目的地: https ://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Load_Balancer_Administration/ch- 初始设置-VSA.html HAProxy为HTTP提供了一些高级function,但这不是我的情况。 问题 在Keepalived for Keepalived for MySQL中使用HAProxy的好处是什么?

Keepalived不使用chk_script迁移

我尝试使用keepalived创build一个zabbix集群。 我的node1configuration vrrp_script chk_zbxserver { script "/usr/local/sbin/zabbix.sh" interval 2 weight 2 fall 2 rise 2 } vrrp_instance VI_1 { state MASTER interface enp0s3 virtual_router_id 51 priority 150 advert_int 1 notify /usr/local/sbin/notify-keepalived.sh authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.1.20 } track_script { chk_zbxserver } 我的node2configuration vrrp_script chk_zbxserver { script "/usr/local/sbin/zabbix.sh" weight 2 interval […]

Keepalived触发器故障转移,而MASTER节点健康

我有AWS的Keepalived的主/从设置为Haproxy和EIP被用作VIP。 偶尔备份服务器触发故障转移,但MASTER节点是健康的。 以下是相应的日志。 备份服务器 Oct 10 04:14:32 Prod-WebAccessLb2 Keepalived_vrrp[2271]: VRRP_Instance(ProdWebCluster) Transition to MASTER STATE Oct 10 04:14:33 Prod-WebAccessLb2 Keepalived_vrrp[2271]: VRRP_Instance(ProdWebCluster) Entering MASTER STATE Oct 10 04:14:33 Prod-WebAccessLb2 Keepalived_vrrp[2271]: Opening script file /etc/keepalived/master.sh Oct 10 04:14:34 Prod-WebAccessLb2 Keepalived_vrrp[2271]: VRRP_Instance(ProdWebCluster) Received advert with higher priority 200, ours 100 Oct 10 04:14:34 Prod-WebAccessLb2 Keepalived_vrrp[2271]: VRRP_Instance(ProdWebCluster) Entering BACKUP STATE […]

服务器上的多个默认路由

当玩configurationkeepalived,我设法得到我的虚拟机(下面的ip route输出)的以下设置: default via 10.91.100.145 dev eth0 src 10.91.100.148 default via 10.91.100.145 dev eth0 src 10.91.100.146 10.0.0.0/8 via 10.91.100.145 dev eth0 第一行是在keepalived的virtual_routes部分configuration的,第二个是使用ip route add命令ip route add ( ip route add首先完成)。 所以我的问题是: 这是一个有效的configuration? 一条特定的路线总是优先于另一条路线? 当从这个虚拟机对一些外部IP进行curl时,我从tcpdump的输出中看到ip 10.91.100.148正在被使用 – 这是随机的,还是可以假定先前的行有优先权? 如果我尝试添加第三个类似的路由使用ip route add我得到一个错误(所有IP地址已经添加到机器): # ip route add default via 10.91.100.145 dev eth0 src 10.91.100.150 RTNETLINK answers: File exists […]

桥接networking和绑定接口采取相同的IP

我有一个牛顿版本的HA(高可用)OpenStack控制器。 Openstack控制器OAMpipe理networking使用bond0接口与networkingIP地址172.28.252.198(主)。 我在系统中也有keepalivedconfiguration,我的控制器服务器使用172.28.252.200作为VIP地址(作为第二个)。 我正在使用桥梁networking系统。 在仪表板上创build运营商networking(与OAM为172.28.252.192/26的networking相同)后,在控制器上创build网桥接口brq88cc4ef1-0f。 我观察到IP地址<172.28.250.198>在桥(brq88cc4ef1-0f)和bond0接口上都被分配了。 在这种情况下,我无法访问我的控制器服务器。 我认为这个问题与接口上的IP冲突有关。 是否可以在同一个子网中使用openstack oampipe理networking和提供者networking? 你能帮我解答一下吗? 我怎样才能让系统只在一个界面上创buildnetworking? 31: brq88cc4ef1-0f: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000 link/ether 1e:bb:ff:aa:90:11 brd ff:ff:ff:ff:ff:ff inet 172.28.252.198/26 brd 172.28.250.255 scope global brq88cc4ef1-0f valid_lft forever preferred_lft forever inet 172.28.252.200/32 brd 172.28.250.200 scope global brq88cc4ef1-0f valid_lft forever preferred_lft forever 36: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc […]

无法从同一networking中的其他计算机访问Keepalived VIP

我正在裸机环境中尝试使用keepalived设置HA负载平衡。 当我尝试从同一networking中的其他机器上ping keepalivedconfiguration文件中给出的VIP时,它无法访问,但是当我在其中一台机器上停止keepalived时,另一台成为主机,IP地址自动分配。 keepalived configuration vrrp_instance VI_PUB { interface ens34 state MASTER virtual_router_id 52 priority 101 virtual_ipaddress { 192.167.3.54 } track_interface { ens34 } } virtual_server 192.167.3.54 8081 { delay_loop 4 lb_algo sh # source hash lb_kind NAT protocol TCP real_server 172.16.3.23 8080 { weight 1 TCP_CHECK { connect_timeout 15 nb_get_retry 3 delay_before_retry 2 } […]