首先在自己的电脑上安装虚拟机,并安装Centos
1、环境准备
我的虚拟机的环境:
虚拟网络:Vmware8
虚拟网络网关:192.168.150.1
window上的一个虚拟化环境
用node01做负载均衡服务器,node02、node03座位Real-server
所以其实node01就相当于之前说的DIP,node02、node03相当于RIP
2、配置
上面先讲网络层配置好,开始配置VIP
a、先去node01
1 | ifconfig eth0:8 192.168.150.100 netmask/24 |
Eth0:8 冒号后面即子接口(IP)名
netmask/24:24代表三个255,(每个点分字节都是255,8个二进制位即八个1,一共三个点分字节,所以是24个1,简写24,如果是两个255,那就是/16)
再使用ifconfig
查看:
b、再去配置node02、03(先改内核协议,再改IP)
注意,在配置node02和node03时,先要去调协议,不然直接配置隐藏IP的话,很可能会暴露出去
所以需要先去修改协议, 即配置内核变量arp_ignore
和arp_announce
的值
1 | cd /proc/sys/net/ipv4/conf/eth0 |
不能用vi修改,使用echo 重定向
1 | echo 1 > arp_ignore |
同理
1 | echo 2 > arp_announce |
这里改的是一个接口的,为了其他的接口以后也生效,把其他的也改一下
回到上层目录,进入到all
目录下,同样执行上面两个命令
接着配置node02和node03的隐藏IP
前提:先安装httpd服务(两台服务器都需要安装启动)
1 | yum install httpd |
node03同理
1 | yum install httpd |
注意:按道理来说,node02,node03上面的html文件内容应该是一样的,但是这里为了测试,所以写成不一样的
1 | ifconfig lo:2 192.178.150.100 netmask 255.255.255.255 |
注意:这里一定要注意,Real-server这里的掩码一定要配置成4个255(规避数据包发不出去的)
因为掩码和IP要发生一次&运算,来生成路由条目,如果写成了255.255.255.0,那么意味着,从还回接口也能抵达192.168.150.0这个网络;而eth0也可以去到一个192.168.150.0的网络号(192.168.150.12和255.255.255.0做&运算)
那如果现在ping一下192.168.150.1的话,那么从eth0和lo:2都可以走,对于内核来说,物理网卡和虚拟网卡,肯定是虚拟网卡更近一点,会把这个数据发挥到还回接口上,相当于又发给自己了,所以这个包永远发不出去
而4个255,与192.168.150.1做&运算,得到的网络号是192.168.150.1,整个都是网络号,没有主机位了,所以
然后进行访问:
单独访问192.168.150.12:80、192.168.150.13:80发现都没问题
3、LVS服务配置
现在只需要在lvs安装应用层工具
1 | yum install ipvsadm -Y |
配置入口出口
1 | ipvsadm -A -t 192.168.150.100:80 -s rr |
1 | ipvsadm -a -t 192.168.150.100:80 -r 192.168.150.12 -g -w 1 |
1 | ipvsadm -a -t 192.168.150.100:80 -r 192.168.150.13 -g -w 1 |
然后负载均衡服务器上就可以查看
1 | ipvsadm -ln |
验证
此时,尝试请求, 192.168.150.100:80
,多执行几次,发现返回值一会返回192.168.150.12
,一会返回192.168.150.13
,成功~;
在node01上,执行netstat -natp
没有发现相应的Socket连接(没有source为192.168.150。1到192.168.1.12或者192.168.1.13的连接),即没有握手操作;去node02和node03上,执行netstat -natp
在执行命令ipvsadm -ln
,查看偷窥记录本,发现有统计结果(四次分手后,还处于一个随机的等待时间,所以这里可以看到)
注意:上面的state如果是:
FIN_WAIT
:连接过,偷窥了所有的包
SYN_REDCV
:基本上lvs都记录了,证明了lvs没事,。一定是后面的网络层出问题了(下面的问题是因为将node02 down
了 (在node02下执行命令(ifconfig lo:2 down))
至此,高并发和负载均衡就些讲完了,下一节说高可用
如果您喜欢此博客或发现它对您有用,则欢迎对此发表评论。 也欢迎您共享此博客,以便更多人可以参与。 如果博客中使用的图像侵犯了您的版权,请与作者联系以将其删除。 谢谢 !