加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 服务器 > 系统 > 正文

实例分析 虚拟机中Lvs的负载均衡实验

发布时间:2021-12-15 16:45:34 所属栏目:系统 来源:互联网
导读:环境,三台虚拟机系统,debian,centos,rhel。基于ipvsadm的负载均衡,采用DR方式,rhel做lvs的director,其余两台是real。负载均衡的服务是web。 实现如下: 所需的软件:os(废话),ipvsadm,及其相关库文件(默认安装即可) ipvsadm下载地址:ipvsadm
环境,三台虚拟机系统,debian,centos,rhel。基于ipvsadm的负载均衡,采用DR方式,rhel做lvs的director,其余两台是real。负载均衡的服务是web。
 
实现如下:
 
 
所需的软件:os(废话),ipvsadm,及其相关库文件(默认安装即可)
 
ipvsadm下载地址:ipvsadm下载 采用源码包的安装形式安装。
 
 
安装要点:
 
1、ipvsadm需要os的内核源路径支持,从www.kernel.org下载最新的内核,放到/usr/src中并解压。
 
一般解压后是linux-2.6.x的目录,使用命令#ln -s linux-2.6.x linux 这样以来就生成了/usr/src/linux,这才是ipvsadm的默认编译器包含文件路径,否则会报错!切记。
 
 
2、director服务器需要开启ip_forward功能,
 
在/etc/sysctl.conf中添加net.ipv4.ip_forward = 1
 
 
脚本 echo "net.ipv4.ip_forward = 1" > /etc/sysctl.conf
 
 
需要配置虚拟ip,网卡是eth0:192.168.1.154,vip是eth0:0192.168.1.2
 
 
脚本 ifconfig eth0 192.168.1.154 broadcast 192.168.1.255 netmask 255.255.255.0
 
ifconfig eth0:0 192.168.1.2 broadcast 192.168.1.255 netmask 255.255.255.0
 
 
需要设置路由
 
 
脚本 route add -host 192.168.1.2 dev eth0:0
 
 
ipvsadm的设置脚本:
 
 
ipvsadm –C
 
ipvsadm -A -t 192.168.1.2:80 -s wcl
 
ipvsadm -a -t 192.168.1.2:80 -r 192.168.1.138 -g -w 3
 
ipvsadm -a -t 192.168.1.2:80 -r 192.168.1.156 -g -w 1
 
ipvsadm
 
 
可以将以上脚本成一个文件,加入到/etc/rc.local中,开机自动运行。
 
 
3、real机器需要关闭arp,否则无法接收数据包。
 
具体操作是在/etc/sysctl.conf文件中添加如下几行:
 
net.ipv4.ip_forward = 1
 
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
 
 
4、real机器需要设置本地虚拟地址脚本如下:
 
ifconfig lo:0 192.168.1.2 broadcast 192.168.1.2 netmask 255.255.255.255
 
 
对于linux机器,直接创建文件etc/sysconfig/network-scripts/ifcfg-lo:0,
 
 
写入脚本
 
DEVICE=lo:0
 
IPADDR=192.168.1.2
 
NETMASK=255.255.255.255
 
ONBOOT=yes即可;
 
 
5、real服务器上分别安装apache服务
 
 
6、lvs服务器最好不要安装防火墙,即使安装了,那么根据需要建立相应的规则,否则无法生效。在本例中,需要开启80端口。
 
 实例分析 虚拟机中Lvs的负载均衡实验
 
安装配置完毕后即可生效。
 
为了测试方便,我使用linux系统中的links工具进行测试,经过反复执行,看到网页不断的在两个apache服务器之间交替显示。
 
 
使用软件汇总:
 
 
os kernel:
 
debian:Linux debiancpu 2.6.18-4-686 #1 SMP Wed May 9 23:03:12 UTC 2007 i686 GNU/Linux
 
centos:Linux localhost.localdomain 2.6.18-8.1.4.el5xen #1 SMP Thu May 17 05:27:09 EDT 2007 i686 i686 i386 GNU/Linux
 
rhel:Linux localhost.localdomain 2.6.18-8.el5 #1 SMP Fri Jan 26 14:15:21 EST 2007 i686 i686 i386 GNU/Linux
 
 
applications:
 
ipvsadm-1.24
 
apache2
 
iptables1.4.1

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读