7月4日任务

18.6 负载均衡集群介绍
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.csdn.net/pi9nc/article/details/23380589



发布了81 篇原创文章 · 获赞 0 · 访问量 4253
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章