杭州 洛阳网站建设公司 网络服务,wordpress付费小说,江津网站建设公司,泗洪网页设计小Q#xff1a;抱怨#xff0c;是一种负能量#xff0c;犹如搬起石头砸自己的脚#xff0c;与人无益#xff0c;于己不利#xff0c;于事无补 前面我们介绍了HA高可用集群#xff0c;今天我们来了解下LB负载均衡集群#xff0c;在学习完基本的搭建后#xff0c;在扩展… 小Q抱怨是一种负能量犹如搬起石头砸自己的脚与人无益于己不利于事无补 前面我们介绍了HA高可用集群今天我们来了解下LB负载均衡集群在学习完基本的搭建后在扩展中方了解到他的知识量是挺大的详细的我会在开一个目录重点讲解我所了解到的集群的概念与操作。下面我介绍的重点在于搭建一个简单NAT和DR模式下的LVS集群以及我对LB和LVS的理解有错误希望大家多多指教简介LBload balance 负载均衡集群 是集群中的一种集群方式另外的有高可用集群高性能计算机群他主要是均衡客户所带来的巨大负载比如我们一台服务器智能处理1k并发量但是当网站访问量过大时到达1w并发我们就要用十台机子进行合作处理而搭建这种合作处理的方式就是负载集群上图就是集群的本质主要流程大量的客户发送服务请求当director均衡服务器接收到请求后通过LAN/WAN传递给后端的real服务器分工形式的完成大并发量的服务。负载均衡建立在网络结构之上所以实现他的软件也是被根据网络模型层次开发的常用的开源软件LVS4层tcp/ip nginx7层应用层 keepalived 商业的负载设备 F5、Netscale 这些我不太了解还没接触过后面的我们会有nginx 和 keepalived的搭建步骤下面主要是LVS的NAT和DR模式采用wrr算法关于LVS三种模式VS/NAT模式Network address translationVS/TUN模式tunnelingDR模式Direct routing七种调度算法固定调度算法rrwrrdhsh动态调度算法wlclclblclblcrNAT模式搭建LVS负载均衡实际上NAT就是运用的一个防火墙的规则所有请求进出都通过director server所以造成了大量的压力所以它配置real server的上限就是20以内。准备阶段至少三台机子我用的虚拟机客户端机 192.168.21.190 必须能访问外网不能和下网段一样均衡服务器 192.168.11.190 director dir真实服务器 192.168.11.30 real serverrs1 192.168.11.20 real serverrs2三台机子都要安装nginx或者Apache因为三台机子需要80端口开启进行连接yum一下就行更改一下主机名分别为dir rs1 rs2举例hostname dir bash方便管理dir主机安装LVS核心软件yum install -y ipvsadm编写shell脚本vim /usr/local/sbin/Lvs_nat.sh 添加#! /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
echo 0 /proc/sys/net/ipv4/conf/eth0/send_redirects
echo 0 /proc/sys/net/ipv4/conf/eth1/send_redirects
# director 设置nat防火墙
iptables -t nat -F
iptables -t nat -X
iptables -t nat -A POSTROUTING -s 192.168.11.0/24 -j MASQUERADE #从哪个网段过来的包进行MASQUERADE
# director设置ipvsadm
IPVSADM/sbin/ipvsadm
$IPVSADM -C
$IPVSADM -A -t 192.168.21.190:80 -s wrr -p 300 #-s是算法 -p强制转换访问某台真实机舍去
$IPVSADM -a -t 192.168.21.190:80 -r 192.168.11.20:80 -m -w 1
$IPVSADM -a -t 192.168.21.190:80 -r 192.168.11.30:80 -m -w 3-w 权重交替访问的次数用于wrr算法 -m 是上边MASQUERADE用NAT模式必须加上-A增加一条director -a增加一条rs当使用rr算法的时候就是一机一次的访问就没有下面的-w权重选项了直接运行这个脚本就可以完成lvs/nat的配置了: /bin/bashbash /usr/local/sbin/lvs_nat.sh 内网连网的话要指定一个网关和购买的外网IP通信实现上网功能而我们现在要实现rs与dir通信所以要改网关为dir的IP两个rs真机vi /etc/sysconfig/network-scripts/ifcfg-eth0更改GETWAY192.168.11.190 指向dir的IP保存重启service network restart 或者 ifdown eth0 ifup eth0为了测试方便我们更改一下nginx火Apache的网站默认页面找到所在路径一般可在配置文件下找到或通过配置文件查找一些相关的配置文件再到那些配置中查看rs1上 echo 1111111 /usr/share/nginx/html/index.htmlrs2上 echo 2222222 /usr/share/nginx/html/index.html测试浏览器 访问192.168.21.190 刷新一次更新一次内容 11 与22交替出现次数分别是131 有时浏览器会因为缓存等原因出现页面一直是当前页面其实就算不是缓存问题对于大规模的 并发处理也没事因为即使一个用户一直访问rs1那另一个用户会主动访问rs2 ··········· 服务器curl可以实现高效准确的访问一直 curl 192.168.21.190 会发现明确交替现象 DR模式LVS负载均衡DR模式要使用三个外网IP他是比较浪费IP其实我们完全可以让realserver使用局域网IP但是他支持负载集群多因为她可以直接将数据传给客户端缓解了负载均衡器 因为我们上节配置了NAT模式的要先清空配置和规则查看 ipvsadm -ln清空 ipvsadm -C iptables -t nat -F 要求有三个外网IPdir 192.168.11.100rs1 192.168.11.20rs2 192.168.11.30 dir均衡机DR模式下不需要客户端的外网IP了所以 ifdown eth1编写脚本 vim /usr/local/sbin/Lvs_dr.sh#! /bin/bash
echo 1 /proc/sys/net/ipv4/ip_forward
ipv/sbin/ipvsadm
vip192.168.11.110 设置虚拟IP
rs1192.168.11.20
rs2192.168.11.30
ifconfig eth0:0 $vip broadcast $vip netmask 255.255.255.255 up 注意网关是这个
route add -host $vip dev eth0:0 添加静态路由
$ipv -C 清空以前的规则
$ipv -A -t $vip:80 -s wrr -s 是算法
$ipv -a -t $vip:80 -r $rs1:80 -g -w 1
$ipv -a -t $vip:80 -r $rs2:80 -g -w 1 -g代表DR模式执行 bash /usr/local/sbin/Lvs_dr.sh两台rs真机因为都要实现可以上网的功能发送数据包给客户端所一网关要改回以前可以上网的网关就是你的路由IP vim /usr/local/sbin/lvs_dr_rs.sh#! /bin/bash
vip192.168.31.110 对应虚拟IP客户连虚拟IP和高可用方式类似
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up VIP网卡信息对应
route add -host $vip lo:0 增加静态路由
echo 1 /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 /proc/sys/net/ipv4/conf/lo/arp_announce
echo 1 /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 /proc/sys/net/ipv4/conf/all/arp_announce启动bash /usr/local/sbin/lvs_dr_rs.sh测试浏览器和curl访问同上边形式一样只不过是访问VIP扩展负载均衡http://blog.sina.com.cn/s/blog_90065bd00100wav5.html 特别好的文章 http://atong.blog.51cto.com/2393905/1348602 转载于:https://blog.51cto.com/tengxiansheng/1702222