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

Unix/Linux
Linux 备份 恢复方法
Linux玩CS反恐精英的方法
在一个ISO镜像中集成多个不同的linux发行版,可刻盘,可引导
Linux 快捷键使用
Linux DHCP 服务器配置方法介绍
Linux 22端口的修改方法
Linux 记录会话过程的命令
Linux 后台执行程序如何操作?
linux Wget命令来浏览网页的方法
Linux tail命令的巧妙应用
Wine 中文存在很多的乱码怎么解决方法
linux 新手教程之创建锁文件的方法
配置Linux 保证其系统的安全
Linux DHCP协议实现过程
Linux系统下破解SAM密码
linux/unix vi 编辑器用法详解
Linux 误删文件的解决方法
Linux系统下的历史记录删除方法
Red Hat Linux 安全设置指南
Linux基本命令-注销、关机、重启

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 43 ::
收藏到网摘: 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