lvs高可用----------keepalived

简介:

下面说的是lvs高可用集群


一、高可用集群

1、负载均衡

负载均衡的三种会话保持:session sticky、session replication、session server。

          三种共享存储:NAS、SAN、DS。


在lvs-nat中,调度器放在路由和核心层之间;

在lvs-dr中,调度器连接分布层、接入层。


隔离(fence)设备:电源交换机


2、VRRP协议 -----------实现高可用集群,实现浮动路由,故障倒换

keepalived --------------高可用lvs集群的实现方式,可用于后端服务器检查

corosync + pacemaker --------实现高可用集群


master选择:优先级相同,比较IP地址,IP地址大的为master。


(1)、vrrp协议基础

虚拟路由器:虚拟路由器接口

VRID:虚拟路由器标识符。功能:描述路由器的分组情况、确定该分组的MAC地址。

master:虚拟IP的拥有者,能够完成数据转发的路由器

backup:检测master路由器状态

VIP:虚拟路由器的IP地址,拥有VIP的就是master

VMAC:虚拟MAC地址

优先级:选举master的参数,范围:0-255,越大优先级越高。

  优先级 0:放弃选举master

  优先级 255:虚拟IP地址的拥有者的优先级

抢占式:设备恢复后,要抢占原来的master主动权。

非抢占式:设备恢复后,不抢占master主动权,选择做备份。


(2)、vrrp协议工作模式、认证方式

VRRP的工作模式:单实例、多实例。

单实例:master/backup

多实例:一个实例上是master,在另一个实例上是backup。--------------负载分担


VRRP的认证方式:无认证、简单字符认证、md5认证。



二、keepalived

1、keepalived基础:

keepalived:----------------VRRP协议在Linux中的软件实现

  keepalived目的是,实现高可用的ipvs服务,简称ka。


keepalived功能:

  1).可为VIP地址的节点,自动生成ipvs规则;

  2).可为RS进行健康状态检查;

  3).可以调用脚本;


keepalived的组件:控制板、内存管理、I/O复用器、核心组件。

  核心组件:

  checker:第二核心

  VRRP stack:第一核心

  smtp:状态转换信息发送到邮箱

  watch dog:看门狗,匹配checker和VRRP stack

  ipvs wrapper:内核与用户空间交互

  netlink reflactor:内核与用户空间交互


高可用前提:

  1).节点间,时间同步

  2).节点间,通过主机名互相通信

  3).节点间,关闭防火墙、设置规则

  4).各节点间,root用户基于ssh的秘钥认证互相通信


2、keepalived配置文件

instance:实例


# ntpdate IP -------------对主机进行系统时间与网络同步

# vi /ect/ntp.conf


(1)、keepalived的程序环境:

  主配置文件:/etc/keepalived/keepalived.conf

  主程序文件:/usr/sbin/keepalived

  Unit File:keepalived.server


(2)、主配置文件:/etc/keepalived/keepalived.conf

  包括以下两段:

  GLOBAL CONFIGURATION

  VRRPD CONFIGURATION

  LVS CONFIGURATION

  

  1)------------------GLOBAL CONFIGURATION--------------------------

    Global definitions

      global_defs

      {

      notification_email  

        {

          root@localhost ---------接收方邮件地址

        }

      notification_email_from keepalived@localhost -----------发送方邮件地址

      smtp_server 127.0.0.1 -------邮件服务器地址

      router_id drct1  ---------设置路由器ID,区分不同组

      vrrp_mcast_group4 224.100.100.18 -------------IPv4组播地址

      }


  2)------------------------VRRPD CONFIGURATION---------------------------------

    VRRP synchronization group(s)

    VRRP instance(s)


    vrrp_instance inside_network { ----------定义实例

      state MASTER ------------指定vrrp状态

      interface eno16777736 --------------与vrrp协议绑定的端口

      virtual_router_id 51 ----------------虚拟路由IP,确定组

      priority 100  ---------------节点优先级

      advert_int 1  ------------vrrp通告的时间间隔

      authentication {

        auth_type PASS  ----------密码验证方式

        auth_pass Hudlnej7 ----------设置密码

      }

      virtual_ipaddress {

        172.16.72.101/32 brd 172.16.72.101 dev eno16777736 label eno16777736:0 -------虚拟IP地址

      }

      nopreempt ----------非抢占模式

      preempt_delay 300 -------------抢占开始前时间

      notify_master <STRING>|<QUOTED-STRING> ------------状态改变时的触发参数

      notify_backup <STRING>|<QUOTED-STRING>

      notify_fault <STRING>|<QUOTED-STRING>

    }


  3)--------------------------LVS CONFIGURATION--------------------------------

    Virtual server group(s)

    Virtual server(s)


    Virtual server vip vport|fwmark <INT> {

      delay_loop <INT> --------------服务轮询间隔

      lb_algo rr|wrr|lc|wlc|lblc|sh|dh -------------lvs调度算法

      lb_kind NAT|DR|TUN ------------lvs服务类型

      persistence_timeout <INT> ------------------持久连接超时时间

      protocol TCP ------------服务协议

      sorry_server <IPADDR> <PORT> -----------所有RS不可用时,的错误提示

      real_server <IPADDR> <PORT> { -------------添加RS

        weight <INT> -------------RS权重

        notify_up <STRING>|<QUOTED-STRING> -------------RS状态

        notify_down <STRING>|<QUOTED-STRING>

        HTTP_GET|SSL_GET {

            url {

              path <STRING> ------------后端健康检查的URL

              digest <STRING>  ------------检测md5是否发生变化

              status_code <INT> ------------据状态码校验RS可靠性

            }

          

            nb_get_retry <INT> ------------重试次数

            delay_before_retry <INT> -------------重试前的延时

            connect_ip <IP ADDRESS> ----------检测RS的哪一个IP地址

            connect_port <PORT>  ---------------检测的第二个端口

            bindto <IP ADDRESS> -------------健康检测源IP地址

            bind_port <PORT> ------------健康检测源端口

            connect_timeout <INTEGER> ------------超时时长

        }

        

        TCP_CHECK {

            connect_ip <IP ADDRESS> //向当前的RS的哪个IP地址发起健康状态检测请求;

            connect_port <PORT>  //向当前的RS的那二个PORT发起健康状态检测请求;

            bindto <IP ADDRESS> //发出健康检测时的源IP地址;

            bind_port <PORT> //发出健康检测时的源端口;

            connect_timeout <INTEGER> //连接超时时长;

        }

    }


3、keepalived调用外部辅助脚本(2步)

(1)、vrrp_instance【之前】

vrrp_script SCRIPT_NAME {

  script ""

  interval <INT> -----------间隔

  weight -<INT>

}


(2)、vrrp_instance【之中】

track_script {

  SCRIPT_NAME

}





     本文转自little_ding 51CTO博客,原文链接:http://blog.51cto.com/12496428/1977302,如需转载请自行联系原作者






相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
5月前
|
负载均衡 应用服务中间件 Linux
Nginx系列教程(14) - LVS+KeepAlived+Nginx实现高性能负载均衡集群
Nginx系列教程(14) - LVS+KeepAlived+Nginx实现高性能负载均衡集群
178 0
|
4月前
|
负载均衡 监控 调度
Keepalived+Lvs(dr)调度器主备配置小实验
Keepalived和LVS(Linux Virtual Server)是两个常用的开源软件,通常结合使用以提供高可用性和负载均衡的解决方案。 Keepalived是一种用于实现高可用性的软件,它可以监控服务器的健康状态,并在主服务器出现故障时自动切换到备份服务器。
98 2
|
4月前
|
负载均衡 网络协议 Linux
小白带你学习linux的keepalived+lvs和keepalived双机热备(三十七)
小白带你学习linux的keepalived+lvs和keepalived双机热备(三十七)
77 0
|
5月前
|
负载均衡 算法 网络协议
Keepalived+LVS搭建高可用负载均衡
Keepalived+LVS搭建高可用负载均衡
180 1
|
6月前
|
负载均衡 应用服务中间件 nginx
71分布式电商项目 - nginx高可用以及lvs+nginx负载均衡(资料)
71分布式电商项目 - nginx高可用以及lvs+nginx负载均衡(资料)
41 0
|
7月前
|
负载均衡 监控 Linux
LVS + keepalived
LVS + keepalived
65 1
|
7月前
|
负载均衡 测试技术
LVS+KeepAlived构建高可用集群
LVS+KeepAlived构建高可用集群
54 0
|
7月前
|
缓存 负载均衡 网络协议
LVS+KeepAlived快速入门2
LVS+KeepAlived快速入门2
92 0
|
7月前
|
负载均衡 算法 网络协议
LVS+KeepAlived快速入门1
LVS+KeepAlived快速入门2
71 0
|
7月前
|
域名解析 负载均衡 网络协议
keepalived+vip+lvs高可用负载均衡服务演化
keepalived+vip+lvs高可用负载均衡服务演化
319 0