keepalived

nginx——keepalived

ぐ巨炮叔叔 提交于 2020-02-29 14:39:40
nginx——keepalived 1.keepalived高可用基本概述 什么是高可用 一般是指2台机器启动着完全相同的业务系统,当有一台机器down机了,另外一台服务器就能快速的接管,对于访问的用户是无感知的。 高可用通常使用什么软件 硬件使用F5 软件使用keepalived keepalilved是如何实现高可用的 keepalived软件是基于VRRP协议实现的,VRRP虚拟路由冗余协议,主要用于解决单点故障问题 那么vrrp是如何诞生的,原理又是什么? 比如公司的网络是通过网关进行上网的,那么如果该路由器故障了,网关无法转发报文了,此时所有人都无法上网了,怎么办? 通常做法是给路由器增加一台北街店,但是问题是,如果我们的主网关master故障了,用户是需要手动指向backup的,如果用户过多修改起来会非常麻烦。 问题一:假设用户将指向都修改为backup路由器,那么master路由器修好了怎么办? 问题二:假设Master网关故障,我们将backup网关配置为master网关的ip是否可以? 其实是不行的,因为PC第一次通过ARP广播寻找到Master网关的MAC地址与IP地址后,会将信息写到ARP的缓存表中,那么PC之后连接都是通过那个缓存表的信息去连接,然后进行数据包的转发,即使我们修改了IP但是Mac地址是唯一的,pc的数据包依然会发送给master。

keepalived 安装及配置VIP漂移

心不动则不痛 提交于 2020-02-29 14:35:05
环境: 主机 10.10.6.105 备机 10.10.6.106 VIP 10.10.6.188 一、安装 yum install keepalived -y 二、配置文件(/etc/keepalived/keepalived.conf) 主机配置 global_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from Alexandre.Cassen@firewall.loc smtp_server 192.168.200.1 smtp_connect_timeout 30 router_id LVS_DEVEL vrrp_skip_check_adv_addr  #注释下行否则ping 不通 #vrrp_strict vrrp_garp_interval 0 vrrp_gna_interval 0 } #脚本监控 vrrp_script chk_mysql { script "/etc/keepalived/check_mysql.sh" interval 2 weight 2 } vrrp_instance VI_1 { #主机设置master   state MASTER  #监听网卡设置

keepalived vip removed with dhcp renewal【原创】

守給你的承諾、 提交于 2020-02-29 14:34:39
最近发现公司云平台服务器的vip有丢失的现象,查看keepalived日志 Jun 1 17:00:06 lb1 dhclient: DHCPREQUEST of 10.0.0.2 on eth0 to 10.0.0.3 port 67 (xid=0x6deab016) Jun 1 17:00:06 lb1 dhclient: DHCPNAK from 10.0.0.3 (xid=0x6deab016) Jun 1 17:00:06 lb1 dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3 (xid=0x37e1db6a) Jun 1 17:00:06 lb1 dhclient: DHCPREQUEST of 10.0.0.2 on eth0 to 255.255.255.255 port 67 (xid=0x37e1db6a) Jun 1 17:00:06 lb1 dhclient: DHCPOFFER of 10.0.0.2 from 10.0.0.3 Jun 1 17:00:06 lb1 dhclient: DHCPACK of 10.0.0.2 from 10.0.0.3 Jun 1 17:00:06 lb1 dhclient: bound to 10.0.0.2 -- renewal

keepalived 多VIP案例实施

让人想犯罪 __ 提交于 2020-02-29 14:34:24
实验环境: 首先关闭防火墙 192.168.200.111 主调度器 192.168.200.112 备调度器 192.168.200.113 Apache服务器 192.168.200.114 Apache服务器 一利用keepalived实验主备故障切换 111主调度器的配置 [root@localhost ~]# yum -y install ipvsadm keepalived cd /etc/keepalived/ cp keepalived.conf keepalived.conf.bak vim keepalived.conf [root@localhost keepalived]# vim keepalived.conf ! Configuration File for keepalived global_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from Alexandre.Cassen@firewall.loc smtp_server 192.168.200.1 smtp_connect_timeout 30 router_id LVS_MASTER #

keepalived 配置,vip 配置

可紊 提交于 2020-02-29 14:33:32
keepalived 配置,vip 配置 A主机: ! Configuration File for keepalived global_defs { router_id mycat } vrrp_script chk_haproxy { script "killall -0 haproxy" #cheaper than pidof interval 2 #check every 2 seconds } vrrp_instance Mycat1 { state BACKUP interface eth0 track_interface { eth0 } virtual_router_id 150 priority 200 ! nopreempt advert_int 5 authentication { auth_type PASS auth_pass test_mycat1 } virtual_ipaddress { 192.168.1.200/24 brd 192.168.1.255 dev eth0 label eth0:1 } track_script { check_haproxy weight=0 #+2 if process is present } } vrrp_instance Mycat2 { state BACKUP interface eth0 track

Keepalived实现LVS-DR集群高可用

↘锁芯ラ 提交于 2020-02-29 14:31:02
一、集群高可用概述 单纯的lvs/nginx反向代理模型做负载集群应用时,DR(director)存在单点故障隐患,故需要有机制来保证DR的高可用性。常用的高可用性方案有Keepalived、corosync,Keepalived主要是由VRRP协议实现了VIPfloating,比较适用于前端DR的高可用性,Corosync一般用于更专业的集群模型实现Service的高可用。Keepalived起初就是为了实现LVS集群director高可用而开发的,本处仅做Keepalived+LVS-DR模型实验。 二、Keepalived原理简介 Keepalived中优先级高的节点为MASTER。MASTER其中一个职责就是响应VIP的arp包,将VIP和mac地址映射关系告诉局域网内其 他主机,同时,它还会以多播的形式向局域网中发送VRRP通告,告知BACKUP组自己的优先级。网络中的所有BACKUP节点只负责 处理MASTER发出的多播包,当发现MASTER的优先级没自己高(脚本检测故障触发自我降级),或者没收到MASTER的VRRP通告(网络故障/MASTER宕机)时,BACKUP将自己切换到MASTER状 态,然后做MASTER该做的事:1.响应arp包,2.发送VRRP通告。 三、实验环境 1.网络拓补图 2.软件环境 CentOS7.4 keepalived.x86_64 1

高可用系列之Nginx

拈花ヽ惹草 提交于 2020-02-29 12:30:55
1.1 Keepalived 高可用软件 Keepalived 起初是专为 LVS 设计的, 专门用来监控 LVS 集群系统中各个服务节点的状态 ,后来又加入了 VRRP 的功能,因此除了配合 LVS 服务外,也可以作为其他服务( Nginx,Haproxy )的高可用软件, VRRP 是 Virtual Router Redundancy Protocol (虚拟路由器冗余协议)的缩写, VRRP 出现的目的就是为了解决 静态路由 出现的单点故障问题,它能够保证网络的不间断、稳定的运行。所以, keepalived 以方面具有 LVS Cluster nodes healthchecks 功能,另一方面也具有 LVS directors failover 功能。 1.1.1 LVS Directors failover 功能 Ha failover 功能:实现 LB Master 主机和 Backup 主机之间故障转义和自动切换。 这是针对有两个负载均衡器 Director 同时工作而采取的故障转移措施。当主负载均衡器( MASTER )失效或出现故障时,备份负载均衡器( BACKUP )将自动接管主负载均衡的所有工作( vip 资源及相应服务)一旦主负载均衡器( MASTER )故障修复, MASTER 又会接管回它原来处理的工作,而备份负载均衡器( BACKUP )会释放

架构设计:负载均衡层设计方案(1)——负载场景和解决方式

爷,独闯天下 提交于 2020-02-29 05:38:17
转自:https://blog.csdn.net/yinwenjie/article/details/46605451 在上一篇《标准Web系统的架构分层》文章中,我们概述了WEB系统架构中的分层架设体系,介绍了包括负载均衡层、业务层、业务通信层、数据存储层的作用和存在意义。从本片文章开始,我们将首先详细讲解负载均衡层的架构原理和选型场景。 1、不同的负载场景 我们知道负载均衡层的作用是“将来源于外部的处理压力通过某种规律/手段分摊到内部各个处理节点上”,那么不同的业务场景需要的负载均衡方式又是不一样的,架构师还要考虑架构方案的成本、可扩展性、运维难易度等问题。下面我们先介绍几种典型的不同业务场景,大家也可以先想一下如果是您,会怎么架设这些场景的负载均衡层。 需要注意的是,这个系统的文章,我们都将使用这几个典型的业务场景来讲解系统架构的设计递归设计。在后续几篇介绍负载层架构的文章中,我们也将通过这几个典型的业务场景讲解负载层的架构方案。 1.1、负载场景一 这是一个国家级物流园区的货运订单和物流管理系统。在物流园区内的货运代理商、合作司机(货运车辆)、园区管理员和客服人员都要使用这套系统。每日RUV在1万人次,日PV在10万左右。甲方总经理使用这套系统的原有是抱着“试一下移动互联网对物流产品是否能起到提高效率的作用”。可以看出整个系统基本上没有访问压力

在Linux二进制安装keepalived

泪湿孤枕 提交于 2020-02-27 18:35:24
keepalived的部署 keepalived在很多高可用的集群都会用到,一般前端放置的会是nginx、ipvs、haproxy 比如我们在使用rabbitmq的时候做了这么一个集群,一般做了集群的话,那肯定就需要这么一个高可用的负载均衡器来实现流量的分发,如果使用的是haproxy,比如一台rebbitmq的节点突然宕机或者网卡失效,那么虽然RabbitMQ集群没有任何故障,但是对于外界的客户端来说所有的连接都会被断开,结果将是灾难性的。确保负载均衡服务的可靠性同样显得十分的重要。这里就引入Keepalived工具,它能够通过自身健康检查、资源接管功能做高可用(双机热备),实现故障转移。 Keepalived采用VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议),以软件的形式实现服务器热备功能。通常情况下是将两台Linux服务器组成一个热备组(Master和Backup),同一时间热备组内只有一台主服务器Master提供服务,同时Master会虚拟出一个公用的虚拟IP地址,简称VIP。这个VIP只存在在Master上并对外提供服务。如果Keepalived检测到Master宕机或者服务故障,备份服务器Backup会自动接管VIP称为Master,Keepalived并将原Master从热备组中移除。当原Master恢复后

LVS:persistent+ldirectord

醉酒当歌 提交于 2020-02-27 15:00:15
目录 persistent ldirectord 健康检测原理 应用场景 实现过程 ======================================================================= 张贺,多年互联网行业工作经验,担任过网络工程师、系统集成工程师、LINUX系统运维工程师 笔者微信:zhanghe15069028807,现居济南历下区 ======================================================================= persistent persistent:持久连接 以下演示都是基于这张拓扑图: 在LVS上三种方法可实现持久连接: 每端口持久,通过端口映射,结合sh(源IP地址HASH算法)最常见办法 每防火墙标识持久,通过iptables在数据包上打mark 每客户端持久,基于0端口定义集群服务,即将客户端对所有应用的请求统统调度至后端主机,必须定义为持久模式; 第一种方式:每端口持久,注意要结合sh算法才能实现 [root@lvs ~]# ipvsadm -A -t 192.168.80.99:80 -s sh [root@lvs ~]# ipvsadm -a -t 192.168.80.99:80 -r 192.168.80.11 -g [root@lvs ~]#