我有一个3 CentOs服务器的本地集群,我已经在每个服务器上安装Keepalived,然后我运行一些基准testing像这样的ab: ab -c 1000 -n 100000 -r host 然后,在基准testing中间,closures主服务器,Keepalived将浮动IP的所有者更改为备份服务器之一,但是这个过程需要一点时间,因此我有一些失败的请求。 我的问题是如何最大限度地减less这种宕机? 而且有没有devise一些没有停机的集群,同时取下一个节点呢? 这是我的keepalivedconfiguration: ! Configuration File for keepalived global_defs { notification_email { user@localhost } notification_email_from root@localhost smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id LVS_DEVEL } vrrp_script health_check { script "curl host" interval 2 # check every 2 seconds fall 2 # require 2 failures for KO rise […]
我有以下keepalived.conf文件: vrrp_script chk_nginx { script "curl http://localhost/vrrp_healthcheck/" interval 2 # every 2 seconds weight 2 # add 2 points if OK } vrrp_instance VI_1 { interface ens160 # interface to monitor virtual_router_id 50 priority 100 virtual_ipaddress { 192.168.120.25 label ens160:10 } track_script { chk_nginx } notify /usr/local/bin/notify.sh } 在主节点上,我在ifconfig输出中看到以下内容: ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.120.20 […]
我已经在两台RHEL 7服务器上configuration了keepalived,如下所示 主服务器 vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 10.1.1.181 } } 辅助服务器 vrrp_instance VI_1 { state BACKUP interface eth0 virtual_router_id 51 priority 99 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 10.1.1.181 } } 重新启动keepalived服务并执行ip […]
我试图研究find高可用性解决scheme的最佳方式,以及为我们的TCP服务加上(小)负载平衡。 我发现的所有解决scheme(例如,HAProxy,LVS)都使用一台主机来保存TCP服务IP,当主服务器通过使用该服务IP使备份系统(通过保活,VRRP)崩溃时。 这很好。 但是我没有find一个通过平滑传输(不丢包)使备份系统处于活动状态的解决scheme:有时我需要更新/更改/重新启动当前的主机,所以我想要新的连接到备份系统而老的/现在的连接仍然由老主人处理,直到他们完成,所以我可以重新启动老主人。 这是可能的或不能做到这一点? 在做梦时:最佳的解决scheme是将当前连接(加上服务IP)传输到备份机器。 有这个梦想的解决scheme吗?
我一直在研究Keepalived的高可用性的目的。 当Keepalived到位时,我有一些关于TCP / IP行为的基本问题。 通过Keepalived,客户端可以通过虚拟IP地址访问服务器。 这是由于MAC翻译实现的。 但在一天结束的时候,主机服务器会收到不同目标IP的软件包,而不是自己的IP。 起初我以为一个主机会拒绝一个与自己的IP不同的包,但是那没问题。 让我困惑的是,主机服务器也通过使用虚拟IP地址来响应请求,而虚拟IP地址并没有出现在它的任何接口上 。 TCP / IP协议栈如何从networking接口构造一个具有不同源IP的包? 对TCP / IP协议栈中的包结构执行keepalived操作吗? 我虽然Keepalived只会在应用层。 预先感谢您的澄清。
自从我开始调整负载平衡器以来,这一直是我的想法。 如果您的HAProxy服务器都是相同的硬件规格,您会使用MASTER / BACKUPconfiguration保持活动吗? 或者,你会使用EQUAL状态吗? 为什么我问的是,至less在我看来,让LB打开一个故障切换,然后回到原来的主站,似乎是更为不利的,与使用EQUALS状态相反,主动LB是切换到的那个在故障期间
首先,我对HAProxy堆栈的使用经历只有一天的时间,所以我希望我的问题是有道理的。 我有2个HAProxy虚拟机和2个Apache虚拟机(stream浪机)如下。 192.168.50.11 HAPROXY VM1 192.168.50.12 HAPROXY VM2 192.168.50.21 APACHE VM1 192.168.50.22 APACHE VM2 192.168.50.10 FLOATING IP – set in keepalived of both HAProxy servers above 如果我把一个Apache服务器closures,并且调用http://192.168.50.10系统仍然可以正常工作。 但是,如果我将其中一个HAProxy服务器closures,则整个服务都将中断。 根据我的configuration,你能告诉我我在这里错过了什么吗? 在这两个服务器上的快乐设置 在/ etc /默认/ HAProxy的 ENABLED=1 /etc/haproxy/haproxy.cfg global log /dev/log local0 log 127.0.0.1 local1 notice user haproxy group haproxy maxconn 2000 daemon defaults log global mode […]
我们将用MariaDB Galera master-master复制群集,使用主 – 从复制(总共只有2个主机 – 一个主机,一个从机)replace旧版MySQL数据库,以确保更加无忧的故障转移。 我已阅读的教程通常指示在Galera节点前面创build一个HAproxy实例,以便在它们之间进行负载平衡(并且如果需要高可用性,则使用更多使用keepalived共享虚拟IP的HAproxy实例)。 这就是build议的拓扑结构。 但是在我们的环境中,我们总共只有2个Galera主机(负载很低,因此一个主机就足够了),而且主要的要求是冗余,尽可能无缝地为连接的应用程序进行故障切换。 由于单个主机必须能够处理所有的负载,以防其他人的失败,所以当需要升级硬件时,负载平衡只是模糊了这一点,并且可能引入不必要的写入冲突。 所有的查询都应该到一个主机(另一个主机只是默默的复制),只有在第一个主机失败的情况下,所有的主机都会故障切换到第二个主机,从而成为主机,并且能够复制一切恢复到原来的失败主机。 问题是:如果我们只需要冗余而不是负载平衡,那么在Galera主机前面省略HAproxy实例是否合理,并且两个Galera实例直接共享Keepalived虚拟IP? 还是有什么值得注意的优势(不包括简单的扩展到3 + Galera主机)在我们的情况下仍然使用HAproxy?
在我的船上,我保持生存,haproxy。 在两天内,我有4个与keepalived断开连接。 Keepalived v1.2.7(11 / 20,2012) 在syslog中只有这个消息。 谁可以帮助解决这个问题? Keepalived_vrrp[28102]: VRRP_Script(chk_haproxy) timed out Keepalived_vrrp[28102]: Process [448] didn't respond to SIGTERM Keepalived_vrrp[28102]: Process [450] didn't respond to SIGTERM Keepalived_vrrp[28102]: VRRP_Script(chk_haproxy) succeeded 我的configuration看起来像 vrrp_script chk_haproxy { script "killall -0 haproxy" interval 2 weight 2 } vrrp_instance VIP_1 { interface eth2 state MASTER virtual_router_id 88 priority 101 virtual_ipaddress { […]
出于testing的目的,我提出了两个Debian jessie虚拟机(使用vagrant和virtualbox),并让它们都运行迷你Web服务器并configurationkeepalived。 问题是BACKUP服务器在service keepalived restart之后几秒钟转换为MASTER,原因不明。 我也看到VRRP多播包到达两台服务器,他们看起来如预期。 (这似乎意味着解决schemebuild议Keepalived不需要过渡到主站是不相关的) configuration文件如下: MASTER服务器: global_defs { lvs_id tom_lvs } vrrp_instance tom_lvs { state MASTER interface eth1 virtual_router_id 1 lvs_sync_daemon_interface eth1 priority 100 preempt authentication { auth_type PASS auth_pass 1234 } advert_int 1 virtual_ipaddress { 172.28.128.10/24 } virtual_server 172.28.128.10 3000 { delay_loop 10 lb_algo wlc lb_kind DR protocol TCP persistence_timeout 1800 […]