18.7 LVS介绍
18.8 LVS调度算法
18.9/18.10 LVS NAT模式搭建

本质区别在于网络OSI模型不同,LVS属于4层,nginx属于7层
LVS介绍

LVS: NAT/DR/IP Tunnel三种模式,核心角色load Balancer(分发器),处理用户请求Real Server(简称rs)
NAT模式

IP TUNNEL模式

DR模式

LVS调度算法

LVS NAT模式搭建
要组成一个dr(director)和两个rs(Real Server)的架构进行测试,其中01机器作为交互内网和外网的VIP需要有两块网卡
如下图先把机器二的克隆,重命名为03,不重启需要进入一个子shell(bash),修改03机器的IP地址,vim /etc/sysconfig/network-scripts/ifcfg-eno16777736,修改IP为192.168.242.130,重启网卡 systemctl restart network,ifconfig如下图所示

远程连接Xshell设置

修改字体并远程登录成功如下图

修改01机器上的另外一张网卡IP信息,如下图网卡网段为52,所以在该网卡配置文件中设置成52.147

修改IP,无需设置网关,ifup 网卡, 在windows上的dos界面查看外网是否能ping通它

修改成功后ifdown 网卡,ifup 网卡名,ip addr/if config查看ip,并测试是否能ping通

测试成功

建议yum安装iptables-services,启动后并drop iptables规则(即调用一个空的iptables规则,为防止影响实验数据)

安装成功后发现 systemctl start iptables-services显示unit not found

用rpm -ql iptables-services查看到底有哪些安装文件

输入systemctl start iptables;并iptables -nvL查看iptables规则生效
iptables -F清空;service iptables save(调用空的iptables规则)

查看各台机器上的防火墙selinux,修改配置文件为disabled(vi /etc/selinux/config中);setenforce 0临时立即生效为Permissive

01机器作为分发器需要把rs1和rs2的网关设置成01分发器的IP(即修改后无法与外界通信,只能和01分发器通信)


重启网卡

监测网关 route -n

准备工作完毕,NAT测试:
①在dir上安装ipvsadm(实现LVS的重要工具,和iptables类似)

②在dir上编写脚本,vim /usr/local/sbin/lvs_nat.sh

③执行脚本 sh /usr/local/sbin/lvs_nat.sh

无报错信息,说明脚本执行成功

把02.03的rs服务器主页都做一些修改方便测试信息的提取,如下图(因为是克隆机,所以02,03的nginx服务都在该路径下,修改index.html分别为liut02,liut03)

如下图,启动02,03的nginx,查看80端口是否监听,curl localhost测试

打开浏览器访问“公网”192.168.52.147(分发器IP)

访问的是rs2(即03机器)刷新网页一直都是rs2,由此想到是ipvsadm 规则中的-p 3(含义为延迟三秒跳转),去掉该参数并把wlc算法改成rr更为均配的算法再次测试发现还是如此,可能是浏览器缓存的问题,在虚拟机环境中用curl测试,结果如下:

测试成功
下图为ipvsadm查看规则的语句 ipvsadm -ln

扩展
lvs 三种模式详解 http://www.it165.net/admin/html/201401/2248.html
lvs几种算法 http://www.aminglinux.com/bbs/thread-7407-1-1.html
关于arp_ignore和 arp_announce http://www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html
lvs原理相关的 http://blog.youkuaiyun.com/pi9nc/article/details/23380589
本文详细介绍LVS负载均衡集群的搭建过程,包括NAT模式的配置步骤,并对比了LVS与Nginx的不同之处。通过实际操作演示如何在三台机器上构建负载均衡系统。

被折叠的 条评论
为什么被折叠?



