全网最细lvs配置

LVS概述

一、主要功能和特点

  1. 负载均衡

    LVS可以将客户端的请求均衡地分发到多台后端服务器上,从而提高整个系统的处理能力和响应速度。例如,在一个电子商务网站中,当面临大量用户同时访问时,LVS可以将用户的请求合理地分配到不同的Web服务器上,避免单个服务器过载。它支持多种负载均衡算法,如轮询(Round Robin),将请求依次分配给不同的服务器;加权轮询(Weighted Round Robin),根据服务器的性能不同分配不同的权重,性能好的服务器分配更多请求;最少连接(Least Connections),将新的请求分配给当前连接数最少的服务器等。
  2. 高可用性

    当集群中的某台服务器发生故障时,LVS能够自动检测到并将其从服务集群中剔除,使得用户的请求不会被分发到故障服务器上,从而保证了业务的连续性。当故障服务器修复后,LVS又可以自动将其重新加入到集群中。例如,在一个在线视频平台中,如果某台视频存储服务器出现故障,LVS会立即停止向该服务器分发用户的视频播放请求,转而分配到其他正常的服务器上,用户几乎感觉不到服务器故障的发生,依然能够流畅地观看视频。
  3. 可扩展性

    LVS可以很方便地添加新的服务器到集群中,以应对不断增长的业务需求。随着用户量的增加和业务的扩展,当现有的服务器处理能力无法满足需求时,只需要将新的服务器配置到LVS集群中,LVS会自动将请求分配到新加入的服务器上,整个过程对用户是透明的,无需中断服务。

工作原理

1.NAT 客户端将请求发送到LVS调度器,调度器将请求的目标IP地址(即后端真实服务器的IP地址)转换为自己的内网IP地址,并将请求转发到后端的真实服务器。真实服务器处理完请求后,将响应结果返回给调度器,调度器再将响应数据包的源IP地址转换回真实服务器的IP地址,然后发送给客户端。这种模式的优点是配置简单,只需要一个公网IP地址即可实现负载均衡,缺点是调度器可能会成为系统的瓶颈,因为所有的请求和响应都需要经过调度器进行地址转换。

有关配置

服务器配置

server1
root@localhost ~]# cat /etc/NetworkManager/system-connections/ens160.connection 
[connection]
id=ens160
type=ethernet
interface-name=ens160


[ipv4]
method=manual
address1=192.168.0.10/24,192.168.0.100
server2

yum install httpd -y
systemctl restart httpd
echo 192.168.0.10 > /var/www/html/index.html
server2
[root@localhost ~]# cat /etc/NetworkManager/system-connections/ens160.connection 
[connection]
id=ens160
type=ethernet
interface-name=ens160


[ipv4]
method=manual
address1=192.168.0.20/24,192.168.0.100
server2

yum install httpd -y
systemctl restart httpd
echo 192.168.0.20 > /var/www/html/index.html

lvs配置

[root@localhost ~]# cat /etc/NetworkManager/system-connections/eth0.connection 
[connection]
id=eth0
type=ethernet
interface-name=eth0


[ipv4]
method=manual
address1=172.25.254.100/24,172.25.254.2;
dns=114.114.114.114;

[root@localhost ~]# cat /etc/NetworkManager/system-connections/eth1.connection 
[connection]
id=eth1
type=ethernet
interface-name=eth1


[ipv4]
method=manual
address1=192.168.0.100/24,
dns=114.114.114.114;

yum install ipvsadm -y

规则
ipvsadm -A -t 172.25.254.100:80 -s rr #rr为轮询
ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.10:80 -m
ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.20:80 -m
测试
[root@localhost ~]# curl 172.25.254.100
192.168.0.10
[root@localhost ~]# curl 172.25.254.100
192.168.0.20





  1. DR模式 调度器和真实服务器都在同一个物理网络中,并且都配置了相同的虚拟 IP 地址(VIP)。客户端的请求到达调度器后,调度器根据负载均衡算法将请求直接转发到某个真实服务器上,真实服务器处理完请求后,直接将响应结果返回给客户端,不需要经过调度器转发响应。这种模式的优点是性能较高,因为响应数据不需要经过调度器,缺点是要求调度器和真实服务器必须在同一个局域网内。

有关配置

服务器

server1
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce 
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore 
ip a a 192.168.0.200/32 dev lo
server2
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce 
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore 
ip a a 192.168.0.200/32 dev lo
server1
root@localhost ~]# cat /etc/NetworkManager/system-connections/ens160.connection 
[connection]
id=ens160
type=ethernet
interface-name=ens160


[ipv4]
method=manual
address1=192.168.0.10/24,192.168.0.100
server2

yum install httpd -y
systemctl restart httpd
echo 192.168.0.10 > /var/www/html/index.html
server2
[root@localhost ~]# cat /etc/NetworkManager/system-connections/ens160.connection 
[connection]
id=ens160
type=ethernet
interface-name=ens160


router

router

[root@localhost ~]# cat /etc/NetworkManager/system-connections/ens160.connection 
[connection]
id=ens160
type=ethernet
interface-name=ens160


[ipv4]
method=manual
address1=172.25.254.100/24,172.25.254.2
dns=114.114.114.114;
[root@localhost ~]# cat /etc/NetworkManager/system-connections/ens224.connection 
[connection]
id=ens224
type=ethernet
interface-name=ens224


[ipv4]
method=manual
address1=192.168.0.100/24

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

lvs


yum install ipvsadm.x86_64 -y
[root@localhost ~]# cat /etc/NetworkManager/system-connections/eth0.connection 
[connection]
id=eth0
type=ethernet
interface-name=eth0


[ipv4]
method=manual
address1=172.25.254.100/24,172.25.254.2;
dns=114.114.114.114;
ipvsadm -A -t 192.168.0.200:80 -s wrr #加强轮询
[root@localhost ~]# ipvsadm -a -t 192.168.0.200:80 -r 192.168.0.10:80 -g -w 1 #-w 为权重
[root@localhost ~]# ipvsadm -a -t 192.168.0.200:80 -r 192.168.0.20:80 -g -w 2 
[root@localhost ~]# 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.0.200:80 wrr
  -> 192.168.0.10:80              Route   1      0          0         
  -> 192.168.0.20:80              Route   2      0          0       
ip a a 192.168.0.200/32 dev lo

cilent

[root@localhost ~]# cat /etc/NetworkManager/system-connections/ens160.connection 
[connection]
id=ens160
type=ethernet
interface-name=ens160


[ipv4]
method=manual
address1=172.25.254.200/24,172.25.254.100
dns=114.114.114.114;

测试
[root@localhost ~]# for i in {1..20}; do curl 192.168.0.200; done
192.168.0.20
192.168.0.10
192.168.0.20
192.168.0.20
192.168.0.10
192.168.0.20
192.168.0.20
192.168.0.10
192.168.0.20
192.168.0.20
192.168.0.10
192.168.0.20
192.168.0.20
192.168.0.10
192.168.0.20
192.168.0.20
192.168.0.10
192.168.0.20
192.168.0.20
192.168.0.10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值