keepalived

keepalived基于vrrp(虚拟路由冗余)协议,是vrrp协议在linux主机上的实现,早先是设计出来和LVS协同工作的,在配置文件中可以直接支持生成ipvs规则

vrrp协议:

vrrp协议将route_id相同的主机或路由绑定在一起组成一个虚拟路由组,一个组内有一个master和多个backup,master每隔一段时间通过组播的方式向整个虚拟路由组发送一个数据包告诉所有backup在线信息。

当多个路由器组成了一个虚拟组,vrrp或给这个虚拟主生成一个虚拟ip和虚拟mac,这个虚拟ip和mac都工作在master服务器上,当一段时间之后backup服务器,没有收到主服务器的通过信息,backup服务器就会通过选举,重新计算出一个新的master服务器,客户机的网关地址指向虚拟ip地址

选举过程:

1、优先级0-255,数字越大优先级越高,一般master服务器优先级最高,每个backup服务器的优先级根据硬件配置的高度调整优先级

2、ip地址,ip地址越大优先级越高

3、对比mac,mac越大优先级越高

keepalived主要用于实现HA集群

HA集群的配置注意事项:

1、保证整个集群的时间同步,可以搭建ntp(忘了时间同步服务)

2、结构化数据尽量存储在数据库中

3、非结构化数据尽量采用共享文件系统(如nfs),尽量少用同步的方式

共享文件系统工作原理(以nfs为例)

客户机将nfs挂载到本地,不占用本地磁盘空间,用户的读写操作看似是在本地完成的,其实是用户将读写请求发送给nfs服务由nfs进行读写操作,这样可以保证在同一时间内只有一个进程在操作同一文件,避免文件的损坏

配置实例:


global_defs {notification_email {acassen@firewall.loc      #管理员邮箱}notification_email_from Alexandre.Cassen@firewall.loc   #发件人smtp_server 192.168.200.1    #邮箱地址smtp_connect_timeout 30       #连接邮件服务器超时时间router_id LVS_DEVELvrrp_skip_check_adv_addrvrrp_strict
}vrrp_instance VI_1 {       #虚拟路由组state MASTER      #从改为BACKUPinterface eth0        #绑定网卡virtual_router_id 51   #router_idpriority 100      #从的优先级必须低于主advert_int 1authentication {auth_type PASS   #认证类型auth_pass 1111 #认证密码}virtual_ipaddress {192.168.0.201      #VIP}
}virtual_server 192.168.0.201 80 {  #生成LVS,监听的VIPdelay_loop 6            #健康检查间隔时间lb_algo rr         #负载均衡算法lb_kind DR           #LVS负载方式persistence_timeout 50      #长连接超时时间(为了验证效果建议在实验时警用此配置)protocol TCP         #TCP协议集群real_server 192.168.0.40 80 {   #监听的节点和端口weight 1           #位权TCP_CHECK {          #检查方式connect_port 80        #监听端口connect_timeout 3  #连接超时时间nb_get_retry 3       #重试次数delay_before_retry 3   #重试间隔}}real_server 192.168.0.60 80 {weight 1TCP_CHECK {connect_timeout 3nb_get_retry 3delay_before_retry 3}}
}从keepalived和主keepalived配置差不多节点服务器配置:
192.168.0.40:配置:echo '2' > /proc/sys/net/ipv4/conf/lo/arp_announce  #关闭ARP更新echo '1' > /proc/sys/net/ipv4/conf/all/arp_ignoreecho '2' > /proc/sys/net/ipv4/conf/all/arp_announceecho '1' > /proc/sys/net/ipv4/conf/lo/arp_ignorecd /etc/sysconfig/network-scripts/           cp ifcfg-lo ifcfg-lo:0          vim ifcfg-lo:0DEVICE=lo:0IPADDR=192.168.0.201         #VIPNETMASK=255.255.255.255            #必须为4个255ONBOOT=yesifup lo:0                   #启用网卡route add -host 192.168.0.201 dev lo:0 #添加路由信息yum -y install httpd             #安装web服务器service httpd start                #启动web服务echo "192.168.0.40" > /var/www/html/index.html #创建测试网页192.168.0.60和192.168.0.40配置差不多

转载于:https://blog.51cto.com/hongchen99/1920334

keepalived+LVS实现负载均衡集群相关推荐

  1. 【LVS】负载均衡集群

    LVS (Linux Virtual Server)是一种集群(Cluster)技术,采用IP负载均衡技术和基于内容请求分发技术.LVS可以实现LINUX平台下的简单负载均衡. 其中LVS/NAT是一 ...

  2. 使用lvs搭建负载均衡集群

    有时候,单台服务器的性能可能无法应付大规模的服务请求,且其一旦出现故障,就会造成用户在一段时间内无法访问.通过集群技术,可以在付出较低成本的情况下获得在性能.可靠性.灵活性方面的相对较高的收益. 集群 ...

  3. LVS四层负载均衡集群

    大型网站高并发解决方案LVS 文章目录 大型网站高并发解决方案LVS 一.集群功能分类 LB 图示 负载均衡产品分类 软件负载均衡设备 硬件负载均衡设备 HA 二.负载均衡 负载均衡的主要方式 htt ...

  4. LVS+keepalived高可用负载均衡集群部署(一) ----数据库的读写分离

    l  系统环境: RHEL7 l  硬件环境:虚拟机 l  项目描述:为解决网站访问压力大的问题,需要搭建高可用.负载均衡的 web集群. l  架构说明:整个服务架构采用功能分离的方式部署.后端采用 ...

  5. linux集群系列(4) --- LVS之负载均衡集群 --- 持久连接

    一.简介 1.1. lvs的持久连接简介 先说说lvs的持久连接能干什么:无论你选择lvs的何种转发策略,如果你想确定来自某一个客户端的所有连接均返回到同一台Real Server,就需要LVS的持久 ...

  6. IPVS-DR+keepalived实现高可用负载均衡集群

    IPVS-DR+keepalived高可用负载均衡集群方案前端的负载调度器采用双机热备方式,Keepalived主要用来监测RealServer的健康状态以及主负载均衡器和备份负载均衡器之间的故障转移 ...

  7. keepalive+nginx实现负载均衡高可用_超详细的LVS+keepalived+nginx实现高性能高可用负载均衡集群教程...

    概述 前面已经介绍了前两部分内容,下面主要介绍在nginx服务器方面的配置和测试整个集群是否可用. 在realserver端配置VIP 1.两台nginx服务器都要执行下面脚本: #vi /etc/r ...

  8. Linux 笔记 - 第十八章 Linux 集群之(三)Keepalived+LVS 高可用负载均衡集群

    一.前言 前两节分别介绍了 Linux 的高可用集群和负载均衡集群,也可以将这两者相结合,即 Keepalived+LVS 组成的高可用负载均衡集群,Keepalived 加入到 LVS 中的原因有以 ...

  9. 18.6 负载均衡集群介绍 18.7 LVS介绍 18.8 LVS调度算法 18.9/18.10 LVS NAT模式搭建

    2019独角兽企业重金招聘Python工程师标准>>> 18.6 负载均衡集群介绍 实现负载均衡集群的软件有:LVS.Keepalived.Nginx.haproxy等.其中LVS属 ...

最新文章

  1. sqoop/1.4.6/下载
  2. python 单点登录_清华园计算机系联合推出的Java+Python视频曝光
  3. 移动webhead参数
  4. BBC纪录片任正非谈创业:华为是谁?
  5. java 获取运行时参数,Java8增强反射可以在运行时获取参数名
  6. linux批量创建系统,linux系统批量创建用户
  7. NLP提效,除了选择合适的模型,就是数据增强了
  8. 使用PyInstaller将Python程序打包成一个单独的exe文件
  9. 工业企业数据库处理——2.匹配样本
  10. 万年历api接口调用文档
  11. 【关机程序】如何用代码实现关机
  12. 用CSS样式制作小三角和小箭头
  13. 中职学校计算机课程标准,中等职业学校信息技术课程标准2020.pdf
  14. 六度空间(广度优先遍历 · 数据结构 · 图)
  15. java 数据库密码加密解密方法
  16. Enigma机密码加密解密的实现
  17. 【计网】(三)超网、路由、NAT协议
  18. Cause: java.sql.SQLExceptioValue ‘0000-00-00 00:00:00‘ can not be represented as java.sql.Timestamp
  19. 计算机竞赛进省队可以保送吗,厉害!物理竞赛8名学子入选省队!信息学竞赛5人获清北保送资格,他们来自……...
  20. 电脑安装linux点歌系统,如何组装单机版电脑点歌系统

热门文章

  1. Linux virtualenv, virtualenvwrapper, pip freeze
  2. Asp.Net MVC中Action跳转小结
  3. commont-net.jar 代码结构图
  4. Android之——短信的备份与还原
  5. 《看透SpringMVC》第十二章 HandlerMapping
  6. git提交代码遇到fatal: unable to access
  7. 20155328 《Java程序设计》 实验二(Java面向对象程序设计) 实验报告
  8. Unity UGUI——遮罩效果(Mask)
  9. EGO首次线下活动分享:Facebook研发团队的高效秘诀
  10. Quartz.NET基础知识概述