VMware上实现LVS负载均衡(NAT)

时间:2021-09-28 04:17:21

本文LVS的实现方式採用NAT模式。关于NAT的拓扑图请參照我的上一篇文章。本文纯粹实验。NAT在生产环境中不推荐使用。原因是Load Balancereasy成为瓶颈!

1.VMware9上安装CentOS-6.5-x86_64-minimal版

2.安装完毕后将其hostname设置为LVS-master

hostname LVS-master
sudo -i

3.之后copy两份虚拟机的文件 成为RS1和RS2

三台虚拟机都採用桥接的网络方式。最大的优点就是直接使用真实的路由 让他们处在同一个局域网内 能够互相訪问。也不必在LVS-master上配置两块网卡,仅仅须要配置多一个虚拟IP就可以。

4.在LVS-master上配置:

modprobe -l |grep ipvs

假设看到例如以下图结果,就能够继续了

VMware上实现LVS负载均衡(NAT)

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGRqb2hu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

安装ipvsadm

yum -y install ipvsadm

开启nginx

service nignx start
chkconfig nginx on

配置VIP 192.168.83.198 让它对外提供http服务

ifconfig eth0:0 192.168.83.198 netmask 255.255.255.255 broadcast 192.168.83.230

让它有IP转发功能

echo 1 > /proc/sys/net/ipv4/ip_forward

配置虚拟服务

ipvsadm -A -t 192.168.20.87:80 -s wlc

添加一台real server1

ipvsadm -a -t 192.168.83.198:80 -r 192.168.83.87 -g

添加一台real server2

ipvsadm -a -t 192.168.83198:80 -r 192.168.83.88 -g

最后把上面五句脚本写在/etc/rc.local上 让机器启动自己主动执行

5.在RS1上配置

把以下四句加入在/etc/sysctl.conf  文件 最后:

net.ipv4.conf.lo.arp_ignore = 1

net.ipv4.conf.lo.arp_announce = 2

net.ipv4.conf.all.arp_ignore = 1

net.ipv4.conf.all.arp_announce = 2

上面表示关闭ARP

ifconfig lo:0 192.168.83.198 netmask 255.255.255.255 broadcast 192.168.83.198 up

加入路由

route add -host 192.168.83.198 dev lo:0

开启nginx服务

service nginx start

表示index.html

echo ' the response is from Real server1' > /var/www/html/index.html

6.在RS2上的配置和RS1雷同

7.最后測试

最后訪问192.168.83.198会出现the response is from Real server1 或者 the response is from Real server2~

That's it!