centos 7 lvs 负载均衡搭建部署

环境:
在vm里开三个虚拟机
负载调度器:10.0.3.102
真实服务器1:10.0.3.103
真实服务器2:10.0.3.104

负载调度器上
[root@localhost ~]# ifconfig eth0:0 10.0.3.99 netmask 255.255.255.0 #增加虚拟ip
[root@localhost ~]# route add -host 10.0.3.99 dev eth0:0 #添加路由?这个不是很清楚
[root@localhost ~]# history
1 yum install gcc gcc-c++ zlib zlib-devel pcre pcre-devel openssl openssl-devel autoconf automake -y #安装依赖的东西
2 yum install ipvsadm* -y #安装ipvsamd*
3 ipvsadm -C #清空虚拟服务器列表
5 ipvsadm -At 10.0.3.99:80 -s rr #增加一台虚拟服务器,调度算法为rr轮询
6 ipvsadm -at 10.0.3.99:80 -r 10.0.3.103:80 -g #在虚拟服务器里增加一台真实服务器
7 ipvsadm -at 10.0.3.99:80 -r 10.0.3.104:80 -g
8 ipvsadm -L
10 service iptables status;
11 service iptables stop
12 vi /etc/selinux/config #关闭selinux防火墙
13 getenforce
14 setenforce 0
15 getenforce
16 ipvsadm -L
17 watch ipvsadm
18 curl 10.0.3.99
19 history
[root@localhost ~]# ipvsadm -L #查看服务器列表
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.0.3.99:http rr
-> 10.0.3.103:http Route 1 0 0
-> 10.0.3.104:http Route 1 0 0

真实服务器A
[root@localhost ~]# history
1 ping www.baidu.com
2 ifconfig eth0:0 10.0.3.99 netmask 255.255.255.255
3 route add -host 10.0.3.99 dev eth0:0
4 echo “1” > /proc/sys/net/ipv4/conf/eth0/arp_ignore #后面有解释
5 echo “1” > /proc/sys/net/ipv4/conf/all/arp_ignore
6 echo “2” > /proc/sys/net/ipv4/conf/eth0/arp_announce
7 echo “2” > /proc/sys/net/ipv4/conf/all/arp_announce
8 yum install httpd -y
9 service httpd start
10 vi /var/www/html/index.html
11 curl localhost
12 curl 10.0.3.100
13 curl 10.0.3.99
14 service firewalld stop
15 service iptables stop
16 curl 10.0.3.99
17 history
18 curl 10.0.3.99

真实服务器B
[root@localhost ~]# history
1 ping www.baidu.com
2 ifconfig eth0:0 10.0.3.99 netmask 255.255.255.255
3 route add -host 10.0.3.99 dev eth0:0
4 echo “1” > /proc/sys/net/ipv4/conf/eth0/arp_ignore
5 echo “1” > /proc/sys/net/ipv4/conf/all/arp_ignore
6 service iptables stop
7 setenforce 0
8 echo “2” > /proc/sys/net/ipv4/conf/eth0/arp_announce
9 echo “2” > /proc/sys/net/ipv4/conf/all/arp_announce
10 curl 10.0.3.99
11 ping 10.0.3.100
12 ping 10.0.3.102
13 shistory
14 history
15 getenforce
16 service iptables status;
17 service iptables status
18 ping www.baidu.com
19 yum install httpd -y
20 service httpd start
21 vi /var/www/html/index.html
22 history

效果
[root@localhost ~]# curl 10.0.3.99
this is 103
[root@localhost ~]# curl 10.0.3.99
this is 104
[root@localhost ~]# curl 10.0.3.99
this is 104
[root@localhost ~]# curl 10.0.3.99
this is 103
我的配置可能有点问题,我使用第四台centos可以正常切换真实服务器,在调度器服务器的浏览器也显示能正常切换,但是用我的物理机访问,却只显示一个真实服务器的。后来过了一段时间就自动恢复正常了

arp_ignore:定义对目标地址为本地IP的ARP询问不同的应答模式0
0 - (默认值): 回应任何网络接口上对任何本地IP地址的arp查询请求
1 - 只回答目标IP地址是来访网络接口本地地址的ARP查询请求
2 -只回答目标IP地址是来访网络接口本地地址的ARP查询请求,且来访IP必须在该网络接口的子网段内

arp_announce:对网络接口上,本地IP地址的发出的,ARP回应,作出相应级别的限制: 确定不同程度的限制,宣布对来自本地源IP地址发出Arp请求的接口
0 - (默认) 在任意网络接口(eth0,eth1,lo)上的任何本地地址
1 -尽量避免不在该网络接口子网段的本地地址做出arp回应. 当发起ARP请求的源IP地址是被设置应该经由路由达到此网络接口的时候很有用.此时会检查来访IP是否为所有接口上的子网段内ip之一.如果改来访IP不属于各个网络接口上的子网段内,那么将采用级别2的方式来进行处理.
2 - 对查询目标使用最适当的本地地址.在此模式下将忽略这个IP数据包的源地址并尝试选择与能与该地址通信的本地地址.首要是选择所有的网络接口的子网中外出访问子网中包含该目标IP地址的本地地址. 如果没有合适的地址被发现,将选择当前的发送网络接口或其他的有可能接受到该ARP回应的网络接口来进行发送.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值