九五从零开始的运维之路(其三十六)

简介: (一)四层负载均衡器四层负载均衡器也称为 4 层交换机,主要通过分析 IP 层及 TCP/UDP 层的流量实现基于 IP 加端口的负载均衡,如常见的 LVS、F5 等;

前言

本篇将简述的内容:Linux系统下的LVS集群


一、集群概述

1.负载均衡技术类型

(一)四层负载均衡器

四层负载均衡器也称为 4 层交换机,主要通过分析 IP 层及 TCP/UDP 层的流量实现基于 IP 加端口的负载均衡,如常见的 LVS、F5 等;


(二)七层负载均衡器

七层负载均衡器也称为 7 层交换机,位于 OSI 的最高层,即应用层,此负载均衡器支持多种协议,如HTTP、FTP、SMTP 等。7 层负载均衡器可根据报文内容,配合一定的负载均衡算法来选择后端服务器,即“内容交换器”。如常见的 HAProxy、Nginx。


2.负载均衡实现方式

(一)硬件负载均衡产品:

F5 、深信服 、Radware


(二)软件负载均衡产品:

LVS(Linux Virtual Server)、 Haproxy、Nginx、Ats(apache traffic server)


二、LVS结构

2.三层结构

1)负载调度器

2)服务器池

3)共享存储


架构对象


VS Virtual Server,也称为 Director,负载均衡服务器

RS Real Server,真正的服务器,集群中各节点

VIP Director 向外部提供服务的 IP

DIP Director 向内部与 RS 通信的 IP

RIP 真实服务器的 IP

CIP 客户端的 IP

三、LVS工作模式

LVS-NAT(NAT模式)

LVS-DR(直接路由模式)(应用最广泛)

LVS-TUN(IP隧道(Tunnel)模式,不常用)

FULL-NAT模式(双向转换模式,不常用)


四、LVS负载均衡算法

1.静态负载均衡

rr round robin 轮询

wrr weight round robin 加权轮询

sh source hashing 源地址散列算法(HASH)

dh destination hashing 目标地址 HASH

2.动态负载均衡

动态负载均衡

lc(leash-connection,最少连接 )

简单算法:active * 256 + inactive (谁的小选谁)


wlc(加权最少连接)

简单算法:(active * 256 + inactive) / weight(谁的小选谁)


sed(最少期望延迟)

简单算法:(active + 1) * 256 / weight (谁的小选谁)


nq(never queue,永不排队)


LBLC(基于局部性的最少连接 )


LBLCR(基于局部性的带复制功能的最少连接)


五、ipvsadm命令详解

-A 添加虚拟服务节点

-D 删除虚拟服务节点

-L 查看虚拟服务节点列表

-a 添加真实服务节点

-d 删除真实服务节点

-l 查看真实服务节点列表

-t 指定虚拟服务器IP地址

-s 指定调度算法

-r 指定真实服务器节点IP地址

-w 指定权重值

-g 直接路由模式(默认)

-i 隧道模式(不常用)

-m NAT模式

六、LVS配置案例

1.基础配置

关闭防火墙


systemctl stop firewalld && systemctl disable firewalld


关闭Selinux

setenforce 0


关闭Networkmanager


systemctl stop NetworkManager && systemctl disable NetworkManager


配置IP地址

vim /etc/sysconfig/network-scripts/ifcfg-ens33


2.实现NAT模型搭建

(一)负载调度器配置

配置IP地址

增加一块网卡


cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens37


vim ifcfg-ens37


NAME=ens38
DEVICE=ens38


安装ipvsadm


yum  install -y ipvsadm


开启路由转发功能


vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p


加载ip_vs模块


modprobe ip_vs
lsmod |grep ip_vs


启动ipvsadm服务


systemctl start ipvsadm


配置负载分配策略


ipvsadm -A -t 192.168.16.100:80 -s rr
ipvsadm -a -t 192.168.16.100:80 -r 192.168.115.4:80 -m
ipvsadm -a -t 192.168.16.100:80 -r 192.168.115.5:80 -m


保存策略


ipvsadm-save > /etc/sysconfig/ipvsadm


(二)web节点配置

安装nginx

配置网关


route add -net 0/0 gw 192.168.115.3


测试


3.实现DR模型搭建

负载调度配置器-ens33 192.168.115.3 192.168.115.2 192.168.115.2

负载调度配置器-ens33:0 192.168.115.200 / /

web1-ens33 192.168.115.4 / /

web1-ifcfg-lo:0 192.168.115.200 / /

web2-ens33 192.168.115.5 / /

web2-ifcfg-lo:0 192.168.115.200 / /

(一)负载调度器配置

调整ARP参数

vim /etc/sysctl.conf


net.ipv4.conf.all.send_redirects = 0 
net.ipv4.conf.default.send_redirects=0
net.ipv4.conf.ens33.send_redirects = 0


sysctl -p

配置虚拟IP地址


cd /etc/sysconfig/network-scripts/


cp ifcfg-ens33 ifcfg-ens33:0


安装ipvsadm

yum  install -y ipvsadm


加载ip_vs模块


modprobe ip_vs
lsmod |grep ip_vs


启动ipvsadm服务

systemctl start ipvsadm

配置负载分配策略


ipvsadm -A -t 192.168.115.200:80 -s rr
ipvsadm -a -t 192.168.115.200:80 -r 192.168.115.4:80 -g
ipvsadm -a -t 192.168.115.200:80 -r 192.168.115.5:80 -g


保存策略

ipvsadm-save > /etc/sysconfig/ipvsadm


(二)web节点配置

调整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

配置虚拟IP地址


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



添加回环路由

route add -host 192.168.115.200/32 dev lo:0

安装httpd

访问192.168.115.200

进行验证


总结

LVS集群是一种强大的负载均衡解决方案,可以提高系统的可用性、性能和可扩展性。通过深入探索LVS集群的原理、架构和配置方法,我们可以更好地理解和应用这一技术,为构建高可用性的互联网应用提供有力支持。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
运维 Java 应用服务中间件
九五从零开始的运维之路(其十九)
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。 Tomcat虚拟主机是通过linux或windows操作系统下进行独立运行的一个网站发布容器,他是一种在单一主机或主机群上,实现多网域服务的方法,可以运行多个网站或服务的技术。
148 0
|
运维 关系型数据库 MySQL
九五从零开始的运维之路(其三十五)
MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。 MHA 的出现就是解决MySQL 单点的问题。 MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。 MHA能在故障切换的过程中最大程度上保证数据的一致性,以达到真正意义上的高可用。
137 2
|
监控 Linux 网络安全
Linux系统下的keepalived双机热备
在一个 LVS 服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种角色的服务器,但 是对外表现为一个虚拟 IP,主服务器会发送 VRRP 通告信息给备份服务器,当备份服务器收不到 VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟 IP,继续提供服务,从而保证了高可用性。
421 0
|
存储 缓存 NoSQL
九五从零开始的运维之路(其三十二)
本篇将简述的内容:Linux系统下的Redis基础
253 0
|
存储 运维 Linux
九五从零开始的运维之路(其三十一)
计划任务是在指定的时间间隔内自动执行的任务。在Linux系统中,常用的计划任务工具是crond(cron daemon)。用户可以通过创建计划任务来定期执行指定的命令或脚本。
179 0
|
存储 运维 关系型数据库
九五从零开始的运维之路(其二十九)
数据库备份是指将数据库中的数据、表格、视图、存储过程、触发器等信息备份到另一个地方,以便在数据库丢失或损坏时进行恢复。数据库备份是数据库管理中必不可少的一项工作,通过备份可以保护数据库中的数据和业务
153 0
|
运维 关系型数据库 MySQL
九五从零开始的运维之路(其二十八)
数据库用户权限管理是数据库系统中非常重要的一个方面,它用于控制不同用户访问和操作数据库的权限范围。数据库用户权限管理可以保护敏感数据和数据库结构,确保只有被授权的用户才可以操作和使用数据库,防止数据被修改或泄露,并最大程度地保证数据库的安全。为了保护数据库的安全性,合理管理MySQL服务用户的权限是至关重要的。
94 0
|
2月前
|
人工智能 运维 监控
运维安全还能靠“人盯人”?别闹了,聊聊自动化处理的真功夫
运维安全还能靠“人盯人”?别闹了,聊聊自动化处理的真功夫
154 17
|
7月前
|
数据采集 机器学习/深度学习 人工智能
运维人的“福音”?AI 驱动的自动化网络监控到底香不香!
运维人的“福音”?AI 驱动的自动化网络监控到底香不香!
816 0
|
4月前
|
人工智能 运维 安全
运维老哥的救星?AI 驱动的自动化配置管理新趋势
运维老哥的救星?AI 驱动的自动化配置管理新趋势
295 11

热门文章

最新文章