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

LVS+keepalived整合负载均衡配置

准备三台服务器;负载均衡服务器192.168.45.136,后端机器1,92.168.45.135,后端机器2,192.168.45.138

在两台后端机器上安装nginx服务,yum install -y nginx,并且启动nginx服务,systemctl start nginx,并且在两台后端机器上配置回环地址192.168.45.188

ifconfig lo:0 192.168.45.188 netmask 255.255.255.255

配置完成后通过本机访问192.168.45.188即可访问到两台后端机器的nginx

通过命令:arp -a显示ping通的物理地址138

我们需要抑制回环地址的直接响应,防止用户直接访问两台后端机器

首先在136负载均衡机器上配置物理网卡

ifconfig ens33:1 192.168.45.188 netmask 255.255.255.255

 前台访问vip地址188时,三台服务其都可响应,我们要抑制后端两台机器的vip访问

通过命令echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore抑制两台后端机器的arp广播

echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore

抑制后通过主机访问188ip,只有LVS均衡服务器上的物理网卡响应

 此时再访问188服务器,显示失败

在负载均衡机器上配置LVS均衡池,与net模式不同,需要将-m改为-g

添加物理网卡:ifconfig ens33:1 192.168.45.188 netmask 255.255.255.255

LVSarrp配置:ipvsadm -A -t 192.168.45.188:80 -s wrr

ipvsadm -a -t 192.168.45.188:80 -r 192.168.45.138 -g -w 100

ipvsadm -a -t 192.168.45.188:80 -r 192.168.45.135 -g -w 100

此时再访问188即为LVS均衡服务器转发给后端请求,返回访问信息

当任意一台nginx宕机时,用户仍可访问网页,只有当两台都宕机时才访问失败

访问后显示连接次数

 当想要删除配置的LVS时,删除wrr188命令为

ipvsadm -D -t 192.168.45.188:80

当想删除后端机器时:ipvsadm -d -t 192.168.45.188:80 -r 192.168.45.135

ipvsadm -d -t 192.168.45.188:80 -r 192.168.45.138

[root@localhost ~]# ipvsadm -d -t 192.168.45.188:80 -r 192.168.45.135
[root@localhost ~]# ipvsadm -d -t 192.168.45.188:80 -r 192.168.45.138
[root@localhost ~]# ipvsadm -D -t 192.168.45.188:80
[root@localhost ~]# ipvsadm -L -n

卸载配置的ens33:1网卡

 LVS+NGINX无缝整合,自动配置LVS,在136机器上安装keepalived服务,配置文件如下

cd /etc/keepalived

! Configuration File for keepalived
#全局配置,配置指定通知邮件发送邮箱
global_defs {notification_email {
#指定发送的邮箱support@xin.linux}
#指定由哪个服务器地址发送邮件notification_email_from wgkgood@163.com
#连接的服务器地址smtp_server 127.0.0.1
#连接超时时间 smtp_connect_timeout 30
#连接服务名称写成自己的Ip地址也可router_id LVS_DEVEL
}# VI_1实例名称,也可改成其他 vrrp_instance VI_1 {
#状态master或backupstate MASTER
#路由器对外通信名称,可命名为网卡名称 interface ens33
#虚拟路由ID,要与备机相同 virtual_router_id 51
#优先级priority 100
#设置不抢占关键字nopreempt
#成为master的服务器每隔5秒发送包 advert_int 5authentication {
#彼此认证密码,与备机保持相同 auth_type  PASSauth_pass  1111}
#vip配置virtual_ipaddress {192.168.45.188}}
#LVS配置
virtual_server 192.168.45.188 80 {delay_loop 6lb_algo wrrlb_kind DRpersistence_timeout 60protocol TCPreal_server 192.168.45.138 80{weight 100TCP_CHECK {connect_timeout 10nb_get_retry 3delay_before_retry 3connect_port 80}}real_server 192.168.45.135 80 {weight 100TCP_CHECK {connect_timeout 10nb_get_retry 3delay_before_retry 3connect_port 80}}
}

重启keepalived服务后,即可自动配置LVS

 前台即可成功访问nginx

 同样当后端服务器宕机时,LVS服务器自动检测端口失活,删除LVS配置,查看keepalived日志文件:tail -fn200 /var/log/messages

keepalived显示3个进程,1个主进程,一个VRRP进程,一个自动检测进程

 

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

相关文章:

  • Goland无法使用debug的修复
  • MySQL和Doris开窗函数LAG执行时的区别
  • 都是小憨憨!
  • 高级java每日一道面试题-2024年9月30日-服务器篇[Redis篇]-Redis持久化有几种方式?
  • ICML 2024 论文分享┆一个简单且通用的交通预测提示调优框架
  • 【C++打怪之路Lv4】-- 类和对象(中)
  • 滚雪球学MySQL[1.1讲]:MySQL简介与环境配置
  • Llama微调以及Ollama部署
  • 中关村环球时尚产业联盟 东晟时尚产业创新中心成立
  • 基于SSM的宠物领养管理系统的设计与实现 (含源码+sql+视频导入教程+文档+PPT)
  • 为什么要配置环境变量?
  • 条件熵公式详细解释、举例说明计算步骤
  • 颍川陈氏始祖陈寔逆势崛起的原由(一)不屈的努力
  • golang小项目1-家庭收支记账系统
  • Visual Studio Code下载安装及汉化
  • MySQL—触发器详解
  • 钉钉H5微应用Springboot+Vue开发分享
  • 项目:微服务即时通讯系统客户端(基于C++QT)]四,中间界面搭建和逻辑准备
  • 【C语言】指针详解(一)
  • unity3D雨雪等粒子特效不穿透房屋效果实现(粒子不穿透模型)
  • ROS2安装cartographer
  • kafka测试
  • 总结C/C++中内存区域划分
  • 第168天:应急响应-ELK 日志分析系统Yara规则样本识别特征提取规则编写
  • MySQL 面试题及答案
  • vue仿chatGpt的AI聊天功能--大模型通义千问(阿里云)
  • 养老院管理系统(含源码+sql+视频导入教程+文档)
  • 大数据的挑战是小文件
  • 迁移学习案例-python代码
  • MCUboot 和 U-Boot区别