keepalived+nginx高可用集群实现原理

简介:
       Keepalived是基于vrrp协议的一款高可用软件。Keepailived有一台主服务器和多台备份服务器,在主服务器和备份服务器上面部署相同的服务配置,使用一个虚拟IP地址对外提供服务,当主服务器出现故障时,虚拟IP地址会自动漂移到备份服务器。
VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议),VRRP是为了解决静态路由的高可用。VRRP的基本架构虚拟路由器由多个路由器组成,每个路由器都有各自的IP和共同的VRID(0-255),其中一个VRRP路由器通过竞选成为MASTER,占有VIP,对外提供路由服务,其他成为BACKUP,MASTER以IP组播(组播地址:224.0.0.18)形式发送VRRP协议包,与BACKUP保持心跳连接,若MASTER不可用(或BACKUP接收不到VRRP协议包),则BACKUP通过竞选产生新的MASTER并继续对外提供路由服务,从而实现高可用。
各集群简介:
      LB:lvs、nginx、haproxy
      HA:keepalived、heartbeat(重量级 组织几十上百个节点)、
keepalived是轻量化的高可用解决方案,设计之初就是为了搭配lvs,对nginx搭配也多。
      HP:高性能集群
      分布式存储:HDFS
      分布式计算:mapreduce 分布式计算框架 Hadoop
      vrrp: vrrp协议在linux主机上以守护进程方式实现,能够根据配置文件自动生成ipvs规则,对各RS做健康状况检测
keepalived组件:
      vrrp stack
     cheackers
      ipvs wrapper -->ipvs
      keppalived从centos6.4之后被收录进发行版中了,足见keepalived的重要性
HA Cluster配置前提:
      1、本机的主机名,要与hostname获得的名称一致
            centos6配置主机名 /etc/sysconfig/network
            censot7配置主机名 hostnamectl set-hostname HOSTNAME
      2、通过hosts文件配置互相解析主机名
      3、各节点时间同步
      4、确保iptables和selinux不影响服务
keepalived练习:
      配置环境为CENTOS 6.5
      node1:keepalived+nginx    IP+主机名192.168.209.129 test1
      node2:keepalived+nginx    IP+主机名192.168.209.128 test2
      节点1和节点2的nginx web配置就不阐述了,重点描述keepalive的配置过程。
      上述4点配置前准备工作做完的情况下开始配置keepalived
1、hosts解析配置
2、keepalived虚拟IP、主备服务器、响应优先级以及故障告警邮箱等配置:
keepalived 安装 yum install -y keepalived
编辑keepalived配置文件 vim /etc/keepalived/keepalived.conf
主节点配置

 

 

global_defs {
notification_email {
root@localhost #定义收件人邮箱
}
notification_email_from keepadmin@localhost #定义发件人邮箱
smtp_server 127.0.0.1 #定义发件邮箱服务器
smtp_connect_timeout 30
router_id test2 #定义路由ID
}
vrrp_instance VI_1 {
state BACKUP #定义所在节点为备用节点(这里是拿的备用节点配置做的介绍,主节点改为MASTER
interface eth0 #定义网卡名称
virtual_router_id 51 #定义虚拟路由ID,不重复就行,类似于GTID做主从的时候差不多
priority 90 #定义优先级 默认为抢占模式,意思就是在双节点无故障情况下,谁优先级高谁抢VIP做主节点
advert_int 1
authentication {
auth_type PASS #协议加密,如果不加密可能会有安全风险
auth_pass 1111
}
virtual_ipaddress {
192.168.209.80/24 #定义虚拟IP,注意这里VIP应该是API入口
}
3、配置完启动keepalived service keepalived start
通过命令查看VIP ip addr list
说明配置的VIP 192.168.209.80 已经绑定在网卡上了,如果主节点宕机,VIP会自动被backup服务节点抢占,达到高可用的效果,而VIP包含了主机存活状态和优先级信息
4、测试是否配置成功
到此配置成功。
题外话:lvs、keepalived其实配置也就那几行,对配置而讲没什么难度,但是要了解底层的运行逻辑是很困难的,我们要尽可能了解配置的过程以及每一步配置的作用,不然换一个场景还是一脸懵逼。
原创不易,转载请注明出处:www.llq.fun。如果想了解得更仔细以及与LVS的搭配请查阅https://www.jianshu.com/p/b050d8861fc1

您还未添加分享代码,请到主题选项中,添加百度分享代码!

您可以选择一种方式赞助本站

支付宝转账赞助

支付宝扫一扫赞助

微信钱包扫描赞助

┊. 恋小布 。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

图片 表情