三台服务器,一台作为 director,两台作为 real server,director 有一个外网网卡(192.168.0.186) 和一个内网ip(172.16.0.8),两个 real server 上只有内网 ip (172.16.0.20) 和 (172.16.0.21),并且需要把两个 real server 的内网网关设置为 director 的内网 ip(172.16.0.8)。
注意,切记一定要在两台 RS 上设置网关的 IP 为 director 的内网 IP。
vmware下添加网卡步骤
1、
后边的real server服务器也选择同一个虚拟网络
2、配置ip地址
编辑后的ifcfg-ens37
重启网卡
两个 real server 上都安装 httpd 服务
如果不能连接外网,可以使用本地cdrom作为yum源,参考ContOS如何使用本地cdrom作为yum源
Director 上安装 ipvsadm
[root@localhost ~]# cat /proc/sys/net/ipv4/ip_forward
0
[root@localhost ~]# vi /etc/sysctl.conf
net.ipv4.ip_forward=1 #添加这一行
[root@localhost ~]#sysctl -p
[root@localhost ~]# cat /proc/sys/net/ipv4/ip_forward
1
如上验证成功
[root@localhost ~]# ipvsadm -A -t 192.168.0.186:80 -s rr #添加一台新的虚拟服务器,并以rr的算法调度
[root@localhost ~]# ipvsadm -a -t 192.168.0.186:80 -r 172.16.0.20:80 -m -w 1 #向虚拟服务上添加一台真实服务器并指向80端口
[root@localhost ~]# ipvsadm -a -t 192.168.0.186:80 -r 172.16.0.21:80 -m -w 1
[root@localhost ~]# ipvsadm -L #查看ipvsadm设置的规则
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP localhost.localdomain:http rr
-> 172.16.0.20:http Masq 1 0 1
-> 172.16.0.21:http Masq 1 0 1
[root@localhost ~]# ipvsadm -S >/etc/sysconfig/ipvsadm #永久保存ipvs规则,如果不保存,重启后就没有了
[root@localhost ~]# cat /etc/sysconfig/ipvsadm
-A -t localhost.localdomain:http -s rr
-a -t localhost.localdomain:http -r 172.16.0.20:http -m -w 1
-a -t localhost.localdomain:http -r 172.16.0.21:http -m -w 1
5、测试LVS的效果
通过浏览器测试2台机器上的web内容 http://192.168.0.186 。为了区分开,可以把httpd的默认页修改一下:
分别对应在 RS1、RS2 上执行
# echo "this is node1" >/var/www/html/index.html
# echo "this is node2" >/var/www/html/index.html
测试
[root@localhost ~]# while true;do curl http://192.168.0.186;sleep 2;done
<h1>this is node2</h1>
<h1>this is node1</h1>
<h1>this is node2</h1>
<h1>this is node1</h1>
<h1>this is node2</h1>
<h1>this is node1</h1>
<h1>this is node2</h1>
测试成功!