当前位置: 首页 > news >正文

【keepalived双机热备与 lvs(DR)】

目录

一、概述

1.简介

2.原理

3.作用

二、安装

1.配置文件

2.配置项

三、功能模块

1.core

2.vrrp

3.check

四、配置双机热备

1.master

2.backup

五、验证

1.ping验证

2.服务验证

六、双机热备的脑裂现象

七、keepalived+lvs(DR)

1.作用

2.调度器配置

2.1 安装keepalived

2.2 安装ipvsadm

2.3 配置keepalived

2.3.1 主

2.3.1 从

2.4 查看lvs节点状态

3.web节点配置

3.1 调整ARP参数

3.2 配置虚拟IP地址

3.3 添加回环路由

3.4 安装nginx


一、概述

1.简介

Keepalived 是一个基于 VRRP 协议来实现的 LVS 服务高可用方案,可以解决静态路由出现的单点故障问题。

2.原理

在一个 LVS 服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种角色的服务器,但是对外表现为一个虚拟 IP,主服务器会发送 VRRP 通告信息给备份服务器,当备份服务器收不到 VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟 IP,继续提供服务,从而保证了高可用性。

3.作用

解决单点故障问题

二、安装

yum install -y keepalived

1.配置文件

/etc/keepalived/keepalived.conf

2.配置项

router_id 1        定义节点id

state MASTER|BACKUP        定义节点主从状态

interface ens33        配置监听的网卡

virtual_router_id 51        同一个热备组要保持一致

priority 100        节点优先级

advert_int 1        多少秒进行一次心跳检测

authentication {
        auth_type PASS
        auth_pass 1111
    }         keepalived节点的认证方式,同一个keepalived双机热备组一定要保持一致

virtual_ipaddress         配置VIP,即漂移地址

vrrp        

        vrrp_script chk_nginx_server {
               script "/etc/keepalived/chk_nginx.sh "
               interval 1
               weight -2
        }
 

三、功能模块

1.core

主进程启动

2.vrrp

vrrp协议:热备份路由协议

3.check

健康状态检测

四、配置双机热备

1.master

vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.42.100
        192.168.42.101
        192.168.42.102
    }
}

2.backup

vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 51
    priority 90
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.42.100
        192.168.42.101
        192.168.42.102
    }
}

五、验证

1.curl验证

 

2.关闭主服务验证

 

 

六、双机热备的脑裂现象

  • Keepalived配置里同一 VRRP实例如果 virtual_router_id两端参数配置不一致也会导致裂脑问题发生。
  • vrrp实例名字不一致、优先级一致
  • 防火墙打开,导致心跳无法正常通信
  • 网卡故障        网卡进行多路复用

 :VIP无法通信,注释:vrrp_strict

七、keepalived+lvs(DR)

1.作用

  • 使用keepalived解决lvs的单点故障
  • 高可用集群

2.调度器配置

2.1 安装keepalived

yum install -y keepalived

2.2 安装ipvsadm

yum install -y ipvsadm
modprobe ip_vs
lsmod |grep ip_vs

2.3 配置keepalived

2.3.1 主

vim /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_DEVEL1
   vrrp_skip_check_adv_addr
   #vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state MASTER
    interface
ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
    
192.168.42.200        
    }
}

virtual_server 192.168.42.200 80 {
    delay_loop 6
    lb_algo rr
    lb_kind
DR
    #persistence_timeout 50
    protocol TCP

    real_server 192.168.42.5 80 {
        weight 1
       
HTTP_GET {
           
url {
              path /
            }

            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
    real_server 1
92.168.42.6 80 {
        weight 1
       
HTTP_GET {
           
url {
              path /
            }

            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3

        }
    }
}

2.3.1 从

vim /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_DEVEL2
   vrrp_skip_check_adv_addr
   #vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state
BACKUP
    interface ens33
    virtual_router_id 51
    priority
90
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
    
192.168.42.200        
    }
}

virtual_server 192.168.42.200 80 {
    delay_loop 6
    lb_algo rr
    lb_kind
DR
    #persistence_timeout 50
    protocol TCP

    real_server 192.168.42.5 80 {
        weight 1
       
HTTP_GET {
           
url {
              path /
            }

            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
    real_server 1
92.168.42.6 80 {
        weight 1
       
HTTP_GET {
           
url {
              path /
            }

            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3

        }
    }
}

2.4 查看lvs节点状态

systemctl start keepalived
ipvsadm -ln

ip a

3.web节点配置

3.1 调整ARP参数

vim /etc/sysctl.conf
        net.ipv4.conf.all.arp_ignore=1 
        net.ipv4.conf.all.arp_announce=2 
        net.ipv4.conf.default.arp_ignore=1 
        net.ipv4.conf.default.arp_announce = 2 
        net.ipv4.conf.lo.arp_ignore = 1 
        net.ipv4.conf.lo.arp_announce=2
sysctl -p

3.2 配置虚拟IP地址

cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0

        DEVICE=lo:0
        IPADDR=192.168.115.200
        NETMASK=255.255.255.255
        ONBOOT=yes
        NAME=loopback:0

3.3 添加回环路由

route add -host 192.168.42.200/32 dev lo:0

3.4 测试

 

 断掉主,测试备

 

 

 

http://www.lryc.cn/news/139704.html

相关文章:

  • C++笔记之静态成员函数可以在类外部访问私有构造函数吗?
  • 最新SQLMap进阶技术
  • 【BurpSuite常用功能介绍】
  • Leetcode 108. 将有序数组转换为二叉搜索树
  • 小匠物联联合亚马逊云助力企业数智化出海
  • (五)k8s实战-配置管理
  • GPT---1234
  • 计算机竞赛 基于大数据的时间序列股价预测分析与可视化 - lstm
  • python进行数据分析:数据预处理
  • 百度Apollo:引领自动驾驶技术的创新与突破
  • Python爬虫 异步、缓存技巧
  • YOLOv5屏蔽区域检测(选择区域检测)
  • 记录一次presto sql执行报错 Error executing query的解决办法
  • Android Studio开发之路 (五)导入OpenCV以及报错解决
  • vue3.3中ref和reactive原理源代码分析
  • 10.Oracle中decode函数
  • Podman安装部署kafka和管理界面(快速跑起来)
  • Hbase文档--架构体系
  • stm32基于HAL库驱动外部SPI flash制作虚拟U盘
  • vue3-ts- element-plus新增组件-过滤
  • PostgreSQL SQL优化
  • debian12网络静态ip配置-OSSIM 安全漏洞扫描系统平台
  • 微软 Visual Studio 现已内置 Markdown 编辑器,可直接修改预览 .md 文件
  • 阿里云通义千问开源第二波!大规模视觉语言模型Qwen-VL上线魔搭社区
  • 在腾讯云服务器OpenCLoudOS系统中安装Jenkins(有图详解)
  • 《vue3实战》在created生命周期中运用slice()方法结合element plus组件实现电影评价系统的分页
  • NO.04 MyBatis的各种查询功能
  • Spring循环依赖
  • docker以distribution和registry管理个人镜像仓库
  • 2023京东酒类市场数据分析(京东数据开放平台)