当前位置:网站首页>LVS+Keepalived(DR模式)学习笔记
LVS+Keepalived(DR模式)学习笔记
2022-07-07 02:39:00 【网络笨猪】
1.简述
在互联网的中型项目中,单服务器往往已经无法满足业务本身的性能要求,这时候就会平行扩展,把负载分摊到数台服务器上(集群)。一般实现集群有DNS轮询,LVS,nginx负载均衡。
集群主要目的包括如下三点:高可用、可扩展、负载均衡。
一个完整的集群架构,则需要包含如下三个功能:负载均衡、故障隔离、失败切换
负载均衡:根据设定的算法,通过负载均衡器(Director)把外部请求转发到各个集群中的服务器上(Real server)
故障隔离:当集群中一个或多个服务器(Real server)发生故障或无法提供服务时,集群能够把它们从转发队列中移除出去,以确保用户访问不会被错误转发到无法提供的服务器(Real server)处理。而当故障的服务器(Real server)重新恢复正常时候,又能够重新加入到集群的转发队列中。
失败切换:失败切换主(Master)要就是去除负载均衡器(Director)的单点问题,一旦负载均衡器(Director)发生故障,备机(Slave)能够替代主(Master)负载均衡器(Director)接受用户请求,而当主负载均衡器(Director)恢复正常时,能够重新接管用户请求(根据配置而定)
LVS是Linux Virtual Linux的缩写,即Linux虚拟服务器,是一个常用的服务器集群系统,该功能已经广泛集成在Linux内核中。
Keepalived则是一个服务器检测状态软件,能够为集群提供故障隔离和失败切换功能
ipvsadm则是LVS的管理工具,能够添加,修改,删除,查看当前集群的配置和转发状态等
在使用Keepalived的方案中,只要系统安装有ipvsadm命令,只需要通过Keepalived的配置文件即可实现集群的所有配置。
此次主要介绍DR模式下的集群配置,DR直接路由,负载均衡器(Director)只负转发用户请求,请求响应由服务器(Real server)直接提供。
以下为简单的架构图
2.安装
2.1.ipvsadm安装
yum install ipvsadm
2.2.Keepalived安装
yum install keepalived
2.3.LVS支持情况查看
uname -r
# 查看linux内核版本,2.4后已经集成,2.4前请重新编译内核(现在都没有2.4之前的了)
3.配置
预设环境:
负载均衡器A:
ip地址: 192.168.1.12
集群VIP:192.168.1.100
真实服务器B:
ip地址:192.168.1.13
组播地址:192.168.1.100
真实服务器C:
ip地址:192.168.1.14
组播地址:192.168.1.100
真实服务器配置:
真实服务器无需安装任何软件,只需像普通非集群服务器配置即可
# 可以把以下命令写入shell脚本,并在/etc/rc.local中配置为每次开机自动执行
# 注意:必须绑定在环回网卡(lo)
# down是为了让脚本可重复执行
ifconfig lo:0 192.168.1.100 broadcast 192.168.1.100 netmask 255.255.255.255 down
ifconfig lo:0 192.168.1.100 broadcast 192.168.1.100 netmask 255.255.255.255 up
# 此步骤十分重要,在实际应用中集群的多台真实服务器均使用同一组播地址,因此需要抑制ARP广播
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
###请注意:物理机/虚拟机的lo 回环地址, broadcast, netmask 等要比较上!!!
执行成功后,输入ifconfig应该会见到如下结果:
lo:0: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 192.168.1.100 netmask 255.255.255.255
loop txqueuelen 0 (Local Loopback)
由于抑制了ARP广播,输入ping 192.168.1.100应为如下结果:
PING 192.168.1.100 (192.168.1.100) 56(84) bytes of data. --- 192.168.1.100 ping statistics --- 6 packets transmitted, 0 received, 100% packet loss, time 5042ms
无法ping通
负载均衡器配置
Keepalived默认配置文件位置/etc/keepalived/keepalived.conf
配置如下:
virtual_server 192.168.1.100 80 { delay_loop 6 lb_algo rr # rr即为轮询 lb_kind DR # DR模式 nat_mask 255.255.255.255 #persistence_timeout 600 #会话保持时间 protocol TCP real_server 192.168.1.13 80 { #weight 100 #在wlc负载均衡算法时生效 # 真实服务器状态检查 TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } real_server 192.168.1.14 80 { #weight 100 #在wlc负载均衡算法时生效 # 真实服务器状态检查 TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } }
输入keepalived -D命令启动keeplived
查看keepalived运行状态(正常启动为三个进程)
ps aux | grep "keepalived"
查看keepalived运行日志
tail /var/log/message
检查配置结果(正常情况下能够见到配置的信息已经被正确加载)
ipvsadm -L
边栏推荐
- Performance comparison between Ceres solver and g2o
- string(讲解)
- ANR 原理及实践
- Postgresql源码(59)分析事务ID分配、溢出判断方法
- Jmeter 5.5版本发布说明
- [shell] summary of common shell commands and test judgment statements
- Haqi projection Black Horse posture, avec seulement six mois de forte pénétration du marché des projecteurs de 1000 yuans!
- 学术报告系列(六) - Autonomous Driving on the journey to full autonomy
- LM small programmable controller software (based on CoDeSys) Note 23: conversion of relative coordinates of servo motor operation (stepping motor) to absolute coordinates
- 学习笔记|数据小白使用DataEase制作数据大屏
猜你喜欢
项目实战 五 拟合直线 获得中线
场馆怎么做体育培训?
港科大&MSRA新研究:关于图像到图像转换,Fine-tuning is all you need
使用TCP/IP四层模型进行网络传输的基本流程
Stack and queue-p79-9
Prompt for channel security on the super-v / device defender side when installing vmmare
MYSQL----导入导出&视图&索引&执行计划
企业如何进行数据治理?分享数据治理4个方面的经验总结
Which foreign language periodicals are famous in geology?
精准时空行程流调系统—基于UWB超高精度定位系统
随机推荐
基于JS的迷宫小游戏
Navicat导入15G数据报错 【2013 - Lost connection to MySQL server during query】 【1153:Got a packet bigger】
毕业设计游戏商城
[shell] summary of common shell commands and test judgment statements
ceres-solver和g2o性能比较
Kotlin之 Databinding 异常
ESXI挂载移动(机械)硬盘详细教程
怎样查找某个外文期刊的文献?
[GNN] graphic gnn:a gender Introduction (including video)
一文带你了解静态路由的特点、目的及配置基本功能示例
dolphinscheduler3. X local startup
Ant manor safety helmet 7.8 ant manor answer
Install mongodb database
Google Chrome browser released patch 103.0.5060.114 to fix the 0-day vulnerability
【luogu P1971】兔兔与蛋蛋游戏(二分图博弈)
JWT 认证
Redis (I) -- getting to know redis for the first time
Abnova循环肿瘤DNA丨全血分离,基因组DNA萃取分析
How to install swoole under window
LM11丨重构K线构建择时交易策略