实验环境:
四台rhel7主机 (互通)
一台调度器 两台服务器 一台客户机
调度器:1安装 ipvsadm ———————— yum install -y ipvsadm
2 操作类似于防火墙 (内核指令) ——————ipvsadm -ln
如果不知道怎么做 --help
3ipvsadm -A(添加虚拟服务器) -t (tcp服务)192.168.155.100(一个没有人用的ip):80(端口) -s (调度算法) rr
4ipvsadm -a -t 192.168.155.100:80 -r 192.168.100.2:80
5 添加vip ip addr add 192.168.155.100(刚设定的虚拟调度器的ip)/24 dev eth0
(为啥叫vip ——————只有用的时候才开通这个ip ——vir 虚假的IP)
服务器:1安装 httpd ——————yum install httpd (在服务2和服务3中)
2echo server2/3 > /var/www/html/index.html (分别在服务2和服务3中创建一个首页)
3 curl localhost (访问本机的命令)——来检验设置是否有问题
4 关闭防火墙
5 给服务器也添加vip ip addr add 192.168.155.100(刚设定的虚拟调度器的ip)/24 dev eth0
——————当调度器转发的时候server不知道找的是它 所以没办法解析
6 进行对服务器 192.168.155.100 ip地址的屏蔽
用linux自带的软件 ————yum install arptables
命令 :arptables -A INPUT -d 192.168.155.100 -j DROP (收取的时候)
aprtables -A OUTPUT -s192.168.155.100 -j mangle --mangle-ip-s 192.168.155.102
————在广播的时候将100地址也隐藏起来变成102发射
7保存对arptables的设置
arptables-save > /etc/sysconfig/arptables
arptables -F
arptables -nl ——————查看 策略
8重启服务后测试
systemctl restart arptables
客户端:
测试:
curl 192.168.155.100
arp -d 删除之前访问的数据缓存保证实验不被干扰
如果没有做屏蔽,调度器和服务器的访问概率是一样的,一旦访问到服务器就会有数据缓存,以后每次访问都会直接访问到服务器,不经过调度器
清除数据之后再访问就可以实现负载均衡