LVS+Keepalived高可用群集

一、Keepalived简介 

Keepalived 软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。因此,Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx、Haproxy、MySQL等)的高可用解决方案软件。

Keepalived软件主要是通过VRRP协议实现高可用功能的。VRRP是Virtual Router RedundancyProtocol(虚拟路由器冗余协议)的缩写,VRRP出现的目的就是为了解决静态路由单点故障问题的,它能够保证当个别节点宕机时,整个网络可以不间断地运行。

所以,Keepalived 一方面具有配置管理LVS的功能,同时还具有对LVS下面节点进行健康检查的功能,另一方面也可实现系统网络服务的高可用功能。

二、keepalived的三个功能

  • 管理LVS负载均衡软件
  • 实现LVS集群节点的健康检查
  • 作为系统网络服务的高可用性(failover)

三、Keepalived的工作原理 

        Keepalived高可用是通过 VRRP 进行通信的, VRRP是通过竞选机制来确定主备的,主的优先级高于备,因此,工作时主会优先获得所有的资源,备节点处于等待状态,当主挂了的时候,备节点就会接管主节点的资源,然后顶替主节点对外提供服务。

        在 Keepalived 服务之间,只有作为主的服务器会一直发送 VRRP 广播包,告诉备它还活着,此时备不会枪占主,当主不可用时,即备监听不到主发送的广播包时,就会启动相关服务接管资源,保证业务的连续性.接管速度最快可以小于1秒。

 四、Keepalived配置实例

1、初始配置

##关闭防火墙
[root@chicken ~]# systemctl disable firewalld --now
##关闭Selinux
[root@chicken ~]# setenforce 0

 2、两台调度节点配置并安装

[root@chicken ~]# yum -y install ipvsadm keepalived

3、修改配置文件

[root@chicken ~]# vim /etc/keepalived/keepalived.conf ##配置文件路径
Node1 配置内容
vrrp_instance VI_1 {state MASTER    角色 MASTER BACKUPinterface eth0  本地网卡 ens32virtual_router_id 51  VRRP组号priority 100    优先级advert_int 1    VRRP传递时间 1sauthentication {    VRRP认证auth_type PASS  类型密码auth_pass 1111  密码}
Node2 配置内容
vrrp_instance VI_1 {state BACKUP    角色 MASTER BACKUPinterface eth0  本地网卡 ens32virtual_router_id 51  VRRP组号priority 90    优先级advert_int 1    VRRP传递时间 1sauthentication {    VRRP认证auth_type PASS  类型密码auth_pass 1111  密码}virtual_ipaddress {  虚拟IP,VIP,漂移地址192.168.160.200}
}
##重启服务
[root@chicken ~]# systemctl restart keepalived.service 

验证虚拟IP交换

node1和node2查看虚拟IP

node1关闭keepalived服务 

[root@chicken ~]# systemctl stop keepalived.service 

查看node2虚拟IP

WEB节点配置服务及站点 

[root@chicken network-scripts]# yum -y install httpd
##在web1服务上配置
[root@chicken network-scripts]# echo "<h1>web1.aaaaaaaa</h1>" > /var/www/html/index.html
##在web2服务上配置
[root@chicken network-scripts]# echo "<h1>web2.bbbbbbbb</h1>" > /var/www/html/index.html

关联后端web节点,并配置节点切换策略

[root@chicken ~]# vim /etc/keepalived/keepalived.conf
virtual_server 192.168.200.100 80 {delay_loop 6lb_algo rr  轮询方式  lb_kind NAT LVS模式 NAT DR TUNpersistence_timeout 50   超时时间50sprotocol TCP 协议TCP节点服务器1             real_server 192.168.160.53 80 {weight 1  轮询权重CHECK {  开启检测connect_port 80  链接端口connect_timeout 3 链接超时3snb_get_retry 3    重试次数delay_before_retry 3 重试间隔时间3s}}节点服务器2real_server 192.168.160.54 80 {weight 1CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 3}} 
}
##重启服务
[root@chicken ~]# systemctl restart keepalived.service 

LVS调度节点配置 

[root@chicken ~]# ipvsadm > /etc/sysconfig/ipvsadm
[root@chicken ~]# ipvsadm -a -t 192.168.223.100:80 -r 192.168.223.125:80 -g -w 1
[root@chicken ~]# ipvsadm -a -t 192.168.223.100:80 -r 192.168.223.126:80 -g -w 1
[root@chicken ~]# systemctl restart ipvsadm.service 
[root@chicken ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.223.100:80 rr-> 192.168.223.125:80           Route   1      0          0         -> 192.168.223.126:80           Route   1      0          0   

web节点配置

[root@chicken ~]# cd /etc/sysconfig/network-scripts/
[root@chicken network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@chicken network-scripts]# vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.223.100
NETMASK=255.255.255.255
ONBOOT=yes
NAME=lo:0
##重启network服务
[root@chicken network-scripts]# systemctl restart network

验证WEB节点切换测试

访问WEB1

访问WEB2 

访问虚拟IP  

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/506315.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么健康的测试过程至关重要?附checklist

目录 单元测试&#xff1a;质量保证的基础 单元测试的优点 有效单元测试的最佳实践 应对常见挑战 简化单元测试的工具和框架 项目和测试文档&#xff1a;使用地图导航 有效项目文件的组成部分 如何维护项目文件 构成测试过程的测试文档类型 测试基础设施&#xff1a;…

基于JAVA的快递投保管理系统 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、系统设计2.1 软件2.2 布局2.3 技术框架 三、功能模块3.1 保险类型模块3.2 快递管理模块3.3 保险订单模块 四、系统展示五、核心代码5.1 查询快递5.2 查询快递保险5.3 新增快递保险5.4 快递投保5.5 查询保险订单 六、免责说明 一、摘…

Centos7:自动化配置vim | suoders信任列表添加普通用户

Centos7&#xff1a;自动化配置vim | suoders信任列表添加普通用户 一、vim 配置原理二、sudoers系统可信任列表中添加普通用户三、自动化配置vim四、缩进修改 一、vim 配置原理 在目录/etc下有一个vimrc文件&#xff0c;该文件是系统中公共的vim配置文件&#xff0c;对所有用户…

一文认识蓝牙(验证基于Aduino IDE的ESP32)

1、简介 蓝牙技术是一种无线通信的方式&#xff0c;利用特定频率的波段&#xff08;2.4GHz-2.485GHz左右&#xff09;&#xff0c;进行电磁波传输&#xff0c;总共有83.5MHz的带宽资源。 1.1、背景 蓝牙&#xff08;Bluetooth&#xff09;一词取自于十世纪丹麦国王哈拉尔Haral…

Redis 面试题

Redis 基础 什么是 Redis&#xff1f; Redis (Remote Dictionary Server) 本质上是一个 Key-Value 类型的内存数据库&#xff0c;很像 memcached&#xff0c;整个数据库统统加载在内存当中进行操作&#xff0c;定期通过异步操作把数据库数据 flush 到硬盘上进行保存。因为是纯…

Java中使用Jsoup实现网页内容爬取与Html内容解析并使用EasyExcel实现导出为Excel文件

场景 Pythont通过request以及BeautifulSoup爬取几千条情话&#xff1a; Pythont通过request以及BeautifulSoup爬取几千条情话_爬取情话-CSDN博客 Node-RED中使用html节点爬取HTML网页资料之爬取Node-RED的最新版本&#xff1a; Node-RED中使用html节点爬取HTML网页资料之爬…

NOC2023软件创意编程(学而思赛道)python初中组决赛真题

目录 下载原文档打印做题: 软件创意编程 一、参赛范围 1.参赛组别:小学低年级组(1-3 年级)、小学高年级组(4-6 年级)、初中组。 2.参赛人数:1 人。 3.指导教师:1 人(可空缺)。 4.每人限参加 1 个赛项。 组别确定:以地方教育行政主管部门(教委、教育厅、教育局) 认…

设计模式之策略模式详解

目录 什么是策略模式 应用场景 业务场景实现 抽象类 实现类 Context上下文 测试类 策略模式的优缺点 什么是策略模式 他将定义的算法家族、分别封装起来&#xff0c;让他们之间可以相互替换&#xff0c;从而让算法的变化不会影响到使用算法的用户。 策略模式使用的就是…

02、MongoDB -- MongoDB 的安全配置(创建用户、设置用户权限、启动安全控制、操作数据库命令演示、mongodb 的帮助系统介绍)

目录 MongoDB 的安全配置演示前准备&#xff1a;启动 mongodb 服务器 和 客户端 &#xff1a;1、启动单机模式的 mongodb 服务器2、启动 mongodb 的客户端 MongoDB 的安全配置启动演示用到的 mongodb 服务器 和 客户端启动单机模式的 mongodb 服务器&#xff1a;启动 mongodb 的…

Python 潮流周刊#40:白宫建议使用 Python 等内存安全的语言

△△请给“Python猫”加星标 &#xff0c;以免错过文章推送 你好&#xff0c;我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容&#xff0c;大部分为英文。本周刊开源&#xff0c;欢迎投稿[1]。另有电报频道[2]作为副刊&#xff0c;补充发布更加丰富的资讯&#xff0c;…

事件

1.按钮 现在默认是正常了 &#xff0c;英文 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_heigh…

springboot+vue学生网上请假系统

学生网上请假系统 摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了学生网上请假系统的开发全过程。通过分析学生网上请假系统管理的不足&#xff0c;创建了一个计算机管理学生网上请假系统的方案。文章介绍了…