lvs haproxy nginx
lvs,:基于ip,的在传输层,tcp协议
haproxy nginx 应用层根据请求,负载均衡
lvs有三个部分组成,负载调度器,服务器,共享存储
调度器是集群服务的入口,负责将请求分配给不同服务器上,
共享存储一般是数据库,网络文件,系统或者分布式文件系统,
服务器提供服务
(调度器)lvs:linux virtual server
工作在防火墙的input 链,不接受请求,
ipvsadm调用数据包
由2部分组成:ipvs ipvsadm(编写调度策略工具)
有10种模式
IPVS:提供负载均衡功能
/etc/sysconfig/ipvsadm保存策略
/etc/sysconfig/保存配置
server1:调度器 172.25.19.1
server2:服务器1 172.25.19.2
server2 服务器2 172.25.19.3
真机:客户端
DR:client–>vs–>rs–>client lvs必须和服务器在一个局域网内,通过修改MAC地址来访问 direct server
ipvsadm -A -t 172.25.19.100:80 -s rr 添加IP 直接路由模式 轮询
添加 tcp端口 策略 轮询
ipvsadm -a -t 172.25.19.100 -r 172.25.19.2:80 -g
添加要服务地址 tcp端口 轮询 直接轮询
ipvsadm -a -t 172.25.19.100:80 -r 172.25.19.3:80 -g
systemctl restart ipvsadm.service
cat /etc/sysconfig/ipvsadm
ipvsadm -ln
ip addr add 172.25.19.100/24 dev eth0
server2:
开启httpd ip addr add 172.25.19.100/24 dev eth0
server3:
开启httpd ip addr add 172.25.19.100/24 dev eth0
server2 server3 上分别装arptables
arptables -A INPUT -d 172.25.19.100 -j DROP
INPUT链上 加一个目的地 IP 直接丢弃
arptables -A OUTPUT -s 172.25.19.100 -j mangle --mangle-ip-s 172.25.19.2
OUTPUT链上 来源是100 出去时发往ip为 2
server3
arptables -A INPUT -d 172.25.19.100 -j DROP
INPUT链上 加一个目的地 IP 直接丢弃
arptables -A OUTPUT -s 172.25.19.100 -j mangle --mangle-ip-s 172.25.19.3
OUTPUT链上 来源是100 出去时发往IP为 3
真机上 测试 curl 172.25.19.100访问调度器
可以看见刚才加的调度策略,一人论寻一次