h5网站网站建设,网站域名怎么设置,临沂网站建设团队,厦门做网站优化对其vip漂移过程采用gdb跟踪keepalived工具主要功能产生vip漂移过程两种情况gdb调试常用命令gdb调试时打到的函数栈#xff08;供学习参考#xff09;函数栈的图是本人理解下画的#xff0c;不对请多指正 keepalived主要有三个进程#xff0c;父进程是core进程#xff0c;…
对其vip漂移过程采用gdb跟踪keepalived工具主要功能产生vip漂移过程两种情况gdb调试常用命令gdb调试时打到的函数栈供学习参考函数栈的图是本人理解下画的不对请多指正 keepalived主要有三个进程父进程是core进程启动后产生两个子进程分别是vrrp和check进程三个均为守护进程 keepalived工具
在Keepalived与Haproxy协调工作的场景中常见场景如下图。 主要分为三个部分客户端、调度服务器、服务器集群。 调度服务中通过Keepalived负责将集群对用户显示为一个整体提供VIP并且提供调度服务器的故障转移确保调度服务的高可用。HaProxy工具负责进行负载均衡功能与服务器集群相连接。 keepalived是一个具有配置LVS负载均衡管理功能又具有通过vrrp协议实现高可用功能的工具。它能够保证单个节点宕机时整个网络可以不间断的运行。
主要功能
Keepalived提供了2个主要功能
LVS系统的健康检查实现VRRPv2堆栈来处理负载均衡器的故障转移
重点关注keepalived的failover部分。 正常运行过程中由主节点不断的向备节点发送vrrp通告具备心跳消息。当主 Master 节点发生故障时就无法发送心跳消息备节点也就因此无法继续检测到来自主 Master 节点的心跳了于是调用自身的接管程序接管主 Master 节点的 IP 资源及服务。而当主 Master 节点恢复时备 Backup 节点又会释放主节点故障时自身接管的IP资源及服务恢复到原来的备用角色。与配置有关 在搭建Keepalived时主机一Master会向局域网发送一个ARP包包中有IP地址与MAC的映射关系为VIP:MAC1这时访问VIP就会根据对应的MAC1访问到主机一当主机二backup检测到主机一故障将自己升为主控机则主机二会向局域网中发送ARP包包含IP与MAC的映射关系为VIPMAC2之后访问VIP就会根据对应的MAC2访问主机二。 但是为了减少接管的影响某些网络环境需要使用VMAC可以通过Keepalived配置文件中调用use_mac关键字来实现VMAC支持。在内部Keepalived代码引入虚拟接口每个接口专用于特定的virtual_router。Keepalived使用linux内核macvlan驱动程序定义这些接口。因此必须使用支持macvlan编译的内核。
产生vip漂移过程两种情况
整个过程中对于客户端来说不知道对于两台调度服务器发生了切换客户端保持连接同一个vip完成自身请求。
在这里面涉及两次切换
①对于备节点收不到主节点的心跳消息时触发定时器超时vrrp_dispatcher_read_timeout)判断当前节点状态为备节点执行升主操作vrrp_gotomaster)。 ②此时备节点已经变为主节点当设置为抢占模式时原来的主节点网络恢复要与备节点进行连接主会发送vrrp通告vrrp_send_adv 包括优先级信息)。通过netlink接口中查到的vrrp包通过路由过滤和规则过滤当由备节点升为的主节点128.20此时知道自身优先级低会执行设为备节点set_backup-leave_master。 Keepalived使用的vrrp虚拟路由冗余协议方式简单的说就是Keepalived的目的是模拟路由器的高可用所以一般Keepalived是实现前端高可用常用的前端高可用的组合有就是我们常见的LVSKeepalived、NginxKeepalived、HAproxyKeepalived。
总结一下Keepalived中实现轻量级的高可用一般用于前端高可用且不需要共享存储一般常用于两个节点的高可用。 keepalived的功能全部可配置可选择是否开启某项服务。
gdb调试常用命令
service keepalived stop
ip addr //查看vip在哪台服务器上
systemctl start keepalived
systemctl status keepalived
systemctl stop keepalived#在sbin目录下执行以下命令
#注意目录中有可执行的 keepalived文件
gdb keepalived
set args -f /etc/keepalived/keepalived.conf
b 函数名
r 启动gdb调试时打到的函数栈供学习参考
发送arp包 netlink接口对包进行过滤 备升主函数 vrrp通告 包含优先级发送 禅让给优先级更高的服务器节点