lvs这种4层的负载均衡是能够分发除80外的其余端口通讯的,好比MySQL的,而nginx仅仅支持http,https,mail,haproxy也支持MySQL这种
相比较来讲,LVS这种4层的更稳定,能承受更多的请求,而nginx这种7层的更加灵活,能实现更多的个性化需求nginx
LVS是由国人章文嵩开发
流行度不亚于apache的httpd,基于TCP/IP作的路由和转发,稳定性和效率很高
LVS最新版本基于Linux内核2.6,有好多年不更新了
LVS有三种常见的模式:NAT、DR、IP Tunnel
LVS架构中有一个核心角色叫作分发器(Load balance),它用来分发用户的请求,还有诸多处理用户请求的服务器(Real Server,简称rs)算法
三台机器apache
rs2
内网:127.135 网段设置为133 (克隆chinantfy2,将ip改成135,hostname改为135)vim
vim /etc/sysconfig/network-scripts/ifcfg-ens33 systemctl restart network.service hostnamectl set-hostname chinantfy-135
systemctl stop firewalld systemctl disable firewalld yum install -y iptables-services systemctl start iptables.service iptables -F service iptables save
在dir上安装ipvsadm浏览器
yum install -y ipvsadm
192.168.40.128是dir的外网ipbash
#! /bin/bash # director 服务器上开启路由转发功能 echo 1 > /proc/sys/net/ipv4/ip_forward # 关闭icmp的重定向 echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects # 注意区分网卡名字,个人的两个网卡分别为ens33和ens37 echo 0 > /proc/sys/net/ipv4/conf/ens33/send_redirects echo 0 > /proc/sys/net/ipv4/conf/ens37/send_redirects # director 设置nat防火墙 iptables -t nat -F iptables -t nat -X iptables -t nat -A POSTROUTING -s 192.168.127.0/24 -j MASQUERADE # director设置ipvsadm IPVSADM='/usr/sbin/ipvsadm' $IPVSADM -C $IPVSADM -A -t 192.168.40.128:80 -s wlc -p 3 $IPVSADM -a -t 192.168.40.128:80 -r 192.168.127.134:80 -m -w 1 $IPVSADM -a -t 192.168.40.128:80 -r 192.168.127.135:80 -m -w 1
两台rs上都安装nginx
设置两台rs的主页,作一个区分,也就是说直接curl两台rs的ip时,获得不一样的结果
浏览器里访问192.168.40.128,多访问几回看结果差别服务器