keepalived对后端服务器的监测方式实战案例

简介: 关于使用keepalived进行后端服务器TCP监测的实战案例,包括配置文件的编辑和keepalived服务的重启,以确保配置生效。

作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.keepalived节点配置TCP监测

1>.编辑keepavlied的子配置文件

[root@node102.yinzhengjie.org.cn ~]# mkdir -pv /etc/keepalived/conf.d
mkdir: created directory ‘/etc/keepalived/conf.d’
[root@node102.yinzhengjie.org.cn ~]# 
[root@node102.yinzhengjie.org.cn ~]# vim /etc/keepalived/conf.d/web.conf
[root@node102.yinzhengjie.org.cn ~]# 
[root@node102.yinzhengjie.org.cn ~]# cat /etc/keepalived/conf.d/web.conf 
virtual_server 172.30.1.200 80 {
    #检查后端服务器的时间间隔
    delay_loop 6
    #定义调度方法
    lb_algo wrr
    #定义集群的工作模式
    lb_kind DR
    #持久连接时长,即会话保持时间
    persistence_timeout120 
    #指定服务协议
    protocol TCP

    #所有RS故障时,备用服务器地址
    sorry_server 172.30.1.108 80

    #定义后端服务器的IP地址,如果工作在lvs的DR工作模式下,vip的访问端口必须和rip的访问端口要一致.
    real_server 172.30.1.106 80 {
        #RS权重
        weight 1
        #传输层检测
        TCP_CHECK {
            #连接请求的超时时长
            connect_timeout 5
            #重试次数
            nb_get_retry 3
            #重试之前的延迟时长
            delay_before_retry 3
            #向当前RS的哪个PORT发起健康状态检测请求
            connect_port 80
        } 
    }

    real_server 172.30.1.107 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 5
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        } 
    } 
}
[root@node102.yinzhengjie.org.cn ~]#

2>.编辑keepalived主配置文件

[root@node102.yinzhengjie.org.cn ~]# cat /etc/keepalived/keepalived.conf 
! Configuration File for keepalived

#上一行是注释信息,global_defs则定义全局配置。
global_defs {
   #声明虚拟路标识符,一般会写当前主机名称
   router_id node102.yinzhengjie.org.cn
   #所有报文都检查比较消耗性能,此配置为如果收到的报文和上一个报文是同一个路由器发出的则跳过检查报文中的源地址。
   vrrp_skip_check_adv_addr
   #禁用防火墙策略,keepalived默认启动时会自动生成iptables策略,因此我们启用此项就可以不生成iptables的策略。
   vrrp_iptables
   #严格遵守VRRP协议,即不允许以下三种状况:
   #    1>.没有VIP地址;
   #    2>.单播邻居;
   #    3>.在VRRP版本2中有IPv6地址;
   #
   #由于我下面配置基于单播地址发送消息,因此我这里手动禁用了严格模式,直接注释即可。
   #vrrp_strict
   #ARP报文发送延迟时间,0表示不延迟。
   vrrp_garp_interval 0
   #消息发送延迟,0表示不延迟。
   vrrp_gna_interval 0
}

#使用vrrp_instance指令定义一个VIP实例名称,我这里自定义VIP实例的名称为"VIP01",生产环境建议该名称和业务相结合。
vrrp_instance VIP01 {
    #指定当前实例默认角色,当前节点在此虚拟路由器上的初始状态,状态为MASTER或者BACKUP
    state BACKUP
    #定义工作模式为非抢占模式(即当master重启,VIP会飘移到其它节点,重启完成后并不会将vip抢过来),需要两个keepalived的state的值均为"BACKUP",让它们根
据个节点的优先级选择对应的master    nopreempt 
    #定义VIP绑定的本地接口的名称(该接口名称必须在当前节点存在哟~),即绑定为当前虚拟路由器使用的物理接口
    interface eth1
    #定义当前虚拟路由器惟一标识,该id的范围是0-255,注意,用一组keepalived的id编号必须要一致哟~
    virtual_router_id 27
    #当前物理节点在此虚拟路由器中的优先级;范围1-254
    priority 150
    #定义vrrp通告的时间间隔,默认1s
    advert_int 2
    #指定单播地址的源地址,需要禁用严格模式"vrrp_strict"
    unicast_src_ip 172.30.1.102
    #指定单播地址的对端地址
    unicast_peer {
        172.30.1.103
    }  
    #定义认证机制
    authentication {
        #指定认证类型
        auth_type PASS
        #指定认证密码,仅前8位有效哟~
        auth_pass yinzhengjie
    }
    #指定具体的虚拟IP地址,可以指定多个。
    virtual_ipaddress {
        172.30.1.100 dev eth1 label eth1:0
        172.30.1.200 dev eth1 label eth1:1
    }
    #定义通知脚本,当前节点成为主节点时触发的脚本
    notify_master "/etc/keepalived/notify.sh master"
    #定义通知脚本,当前节点转为备节点时触发的脚本
    notify_backup "/etc/keepalived/notify.sh backup"
    #定义通知脚本,当前节点转为“失败”状态时触发的脚本
    notify_fault "/etc/keepalived/notify.sh fault"
}

#导入keepalived的子配置文件
include /etc/keepalived/conf.d/*.conf
[root@node102.yinzhengjie.org.cn ~]#

3>.重启keepalived使得配置生效

[root@node102.yinzhengjie.org.cn ~]# yum -y install ipvsadm
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * epel: mirrors.njupt.edu.cn
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
Resolving Dependencies
--> Running transaction check
---> Package ipvsadm.x86_64 0:1.27-7.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=================================================================================================================================================
 Package                           Arch                             Version                                 Repository                      Size
=================================================================================================================================================
Installing:
 ipvsadm                           x86_64                           1.27-7.el7                              base                            45 k

Transaction Summary
=================================================================================================================================================
Install  1 Package

Total download size: 45 k
Installed size: 75 k
Downloading packages:
ipvsadm-1.27-7.el7.x86_64.rpm                                                                                             |  45 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : ipvsadm-1.27-7.el7.x86_64                                                                                                     1/1 
  Verifying  : ipvsadm-1.27-7.el7.x86_64                                                                                                     1/1 

Installed:
  ipvsadm.x86_64 0:1.27-7.el7                                                                                                                    

Complete!
[root@node102.yinzhengjie.org.cn ~]#

[root@node102.yinzhengjie.org.cn ~]# yum -y install ipvsadm          #安装ipvsadm工具用来管理使用keepalived生成的ipvs规则。

[root@node102.yinzhengjie.org.cn ~]# systemctl restart keepalived
[root@node102.yinzhengjie.org.cn ~]# 
[root@node102.yinzhengjie.org.cn ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  172.30.1.200:80 wrr
  -> 172.30.1.106:80              Route   1      0          0         
  -> 172.30.1.107:80              Route   1      0          0         
[root@node102.yinzhengjie.org.cn ~]#

二.keepalived节点配置HTTP监测

1>.

2>.

3>.

4>.

5>.

目录
相关文章
|
6天前
|
SQL 数据挖掘 数据库
服务器数据恢复—意外断电导致XenServer虚拟机不可用的数据恢复案例
服务器数据恢复环境: 一台服务器中有一组由4块STAT硬盘通过RAID卡组建的RAID10阵列,上层是XenServer虚拟化平台,虚拟机安装Windows Server操作系统,作为Web服务器使用。 服务器故障: 因机房异常断电导致服务器中一台VPS(Xen Server虚拟机)不可用,虚拟磁盘文件丢失。
服务器数据恢复—意外断电导致XenServer虚拟机不可用的数据恢复案例
|
14天前
|
监控 Apache
HAProxy的高级配置选项-Web服务器状态监测
这篇文章介绍了HAProxy的高级配置选项,特别是如何进行Web服务器状态监测,包括基于四层传输端口监测、基于指定URI监测和基于指定URI的request请求头部内容监测三种方式,并通过实战案例展示了配置过程和效果。
39 8
HAProxy的高级配置选项-Web服务器状态监测
|
4天前
|
存储 数据挖掘 Linux
服务器数据恢复—Linux操作系统网站服务器数据恢复案例
服务器数据恢复环境: 一台linux操作系统服务器上跑了几十个网站,服务器上只有一块SATA硬盘。 服务器故障: 服务器突然宕机,尝试再次启动失败。将硬盘拆下检测,发现存在坏扇区
|
14天前
|
存储 运维 小程序
服务器数据恢复—双循环RAID5阵列数据恢复案例
服务器存储数据恢复环境: 一台存储中有一组由7块硬盘组建的RAID5阵列,存储中还有另外3块盘是raid中掉线的硬盘(硬盘掉线了,管理员只是添加一块的新的硬盘做rebuild,并没有将掉线的硬盘拔掉)。整个RAID5阵列的存储空间划分了一个LUN。 服务器存储故障: 硬盘出现故障导致存储中阵列瘫痪。 和管理员沟通,据管理员说是磁盘阵列中某些硬盘出现故障导致存储不可用,初步判断RAID中有硬盘掉线了。
|
3天前
|
存储 负载均衡 数据库
探索后端技术:从服务器架构到数据库优化的实践之旅
在当今数字化时代,后端技术作为支撑网站和应用运行的核心,扮演着至关重要的角色。本文将带领读者深入后端技术的两大关键领域——服务器架构和数据库优化,通过实践案例揭示其背后的原理与技巧。无论是对于初学者还是经验丰富的开发者,这篇文章都将提供宝贵的见解和实用的知识,帮助读者在后端开发的道路上更进一步。
|
16天前
|
Rust 安全 开发者
惊爆!Xamarin 携手机器学习,开启智能应用新纪元,个性化体验与跨平台优势完美融合大揭秘!
【8月更文挑战第31天】随着互联网的发展,Web应用对性能和安全性要求不断提高。Rust凭借卓越的性能、内存安全及丰富生态,成为构建高性能Web服务器的理想选择。本文通过一个简单示例,展示如何使用Rust和Actix-web框架搭建基本Web服务器,从创建项目到运行服务器全程指导,帮助读者领略Rust在Web后端开发中的强大能力。通过实践,读者可以体验到Rust在性能和安全性方面的优势,以及其在Web开发领域的巨大潜力。
28 0
|
16天前
|
前端开发 大数据 数据库
🔥大数据洪流下的决战:JSF 表格组件如何做到毫秒级响应?揭秘背后的性能魔法!💪
【8月更文挑战第31天】在 Web 应用中,表格组件常用于展示和操作数据,但在大数据量下性能会成瓶颈。本文介绍在 JavaServer Faces(JSF)中优化表格组件的方法,包括数据处理、分页及懒加载等技术。通过后端分页或懒加载按需加载数据,减少不必要的数据加载和优化数据库查询,并利用缓存机制减少数据库访问次数,从而提高表格组件的响应速度和整体性能。掌握这些最佳实践对开发高性能 JSF 应用至关重要。
30 0
|
6天前
|
Cloud Native Java 编译器
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考
随着云计算技术的不断发展,云服务商们不断推出高性能、高可用的云服务器实例,以满足企业日益增长的计算需求。阿里云推出的倚天实例,凭借其基于ARM架构的倚天710处理器,提供了卓越的计算能力和能效比,特别适用于云原生、高性能计算等场景。然而,有的用户需要将传统基于x86平台的应用迁移到倚天实例上,本文将介绍如何将基于x86架构平台的应用迁移到阿里云倚天实例的服务器上,帮助开发者和企业用户顺利完成迁移工作,享受更高效、更经济的云服务。
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考
|
4天前
|
编解码 前端开发 安全
通过阿里云的活动购买云服务器时如何选择实例、带宽、云盘
在我们选购阿里云服务器的过程中,不管是新用户还是老用户通常都是通过阿里云的活动去买了,一是价格更加实惠,二是活动中的云服务器配置比较丰富,足可以满足大部分用户的需求,但是面对琳琅满目的云服务器实例、带宽和云盘选项,如何选择更适合自己,成为许多用户比较关注的问题。本文将介绍如何在阿里云的活动中选择合适的云服务器实例、带宽和云盘,以供参考和选择。
通过阿里云的活动购买云服务器时如何选择实例、带宽、云盘
|
2天前
|
弹性计算 运维 安全
阿里云轻量应用服务器和经济型e实例区别及选择参考
目前在阿里云的活动中,轻量应用服务器2核2G3M带宽价格为82元1年,2核2G3M带宽的经济型e实例云服务器价格99元1年,对于云服务器配置和性能要求不是很高的阿里云用户来说,这两款服务器配置和价格都差不多,阿里云轻量应用服务器和ECS云服务器让用户二选一,很多用户不清楚如何选择,本文来说说轻量应用服务器和经济型e实例的区别及选择参考。
阿里云轻量应用服务器和经济型e实例区别及选择参考

热门文章

最新文章