当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 实例解析:虚拟机中Lvs的负载均衡实验

Unix/Linux
FreeBSD 数据转移办法
Freebsd 下运行QQ For Linux 的方法
FreeBSD, Debian, CentOS一个网卡绑定多个IP
freebsd下切换到root下 su: Sorry 的解决办法
Freebsd挂载光驱和软驱
FREEBSD下运行调试asterisk
一些 freebsd 的常用命令
笔记本上安装freebsd的小知识
FreeBSD系统下添加中文字体
FreeBSD挂载DOS分区,正确显示中文
FreeBSD挂载DOS分区时显示中文的方法
freebsd7.0安装系统图解(最新版)
服务器的时间同步设置方法
FreeBSD FTP 的架设教程
FreeBSD mpd VPN服务器安装步骤
更新FreeBSD Port Tree的几种方法小结
portupgrade 中文手册(翻译)
freebsd 服务器 ARP绑定脚本
在Ubuntu系统中定制 Compiz Fusion 特效
Ubuntu 7.10 绑定IP及MAC地址

Unix/Linux 中的 实例解析:虚拟机中Lvs的负载均衡实验


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 170 ::
收藏到网摘: n/a

环境,三台虚拟机系统,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端口。

安装配置完毕后即可生效。

为了测试方便,我使用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:0