18.6 负载均衡集群介绍
18.7 LVS介绍
18.8 LVS调度算法

18.9/18.10 LVS NAT模式搭建

7月4日任务

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

LVS介绍

7月4日任务

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

NAT模式

7月4日任务

IP TUNNEL模式

7月4日任务

DR模式

7月4日任务

LVS调度算法

7月4日任务

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如下图所示

7月4日任务

远程连接Xshell设置

7月4日任务

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

7月4日任务

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

7月4日任务

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

7月4日任务

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

7月4日任务

测试成功

7月4日任务

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

7月4日任务

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

7月4日任务

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

7月4日任务

输入systemctl start iptables;并iptables -nvL查看iptables规则生效

7月4日任务 iptables -F清空;service iptables save(调用空的iptables规则)

7月4日任务

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

7月4日任务

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

7月4日任务

7月4日任务

重启网卡

7月4日任务

监测网关 route -n

7月4日任务

准备工作完毕,NAT测试:

①在dir上安装ipvsadm(实现LVS的重要工具,和iptables类似)

7月4日任务

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

7月4日任务

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

7月4日任务

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

7月4日任务

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

7月4日任务

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

7月4日任务

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

7月4日任务

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

7月4日任务

测试成功

下图为ipvsadm查看规则的语句 ipvsadm -ln

7月4日任务


扩展

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.csdn.net/pi9nc/article/details/23380589



相关文章: