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

Unix/Linux
linux查看内存的大小
在linux下写的代码,用的是utf-8,结果拿到XP下运行的时候,所有的中文都成乱码
linux su和sudo命令的区别
linux cron 下的定时执行工具使用技巧
linux 查找进程及终止进程操作的相关命令
redhat linux 安装 gcc编译器
Linux Mplayer播放各种格式的电影
一起回顾一下linux常用命令
Linux 网站项目发布要做哪些配置
linux SSH配合SecureCRT的密匙完美使用方法
GD 编译出错解决方法
Facebook Open Platform编译FAQ
Linux 系统硬盘 优化
linux 挂载详解
linux crontab定时命令
Linux 系统中确保访问三级域名畅通的方法
Linux 特权帐号VS普通帐号
确保Linux系统安全的前提条件 漏洞防护
Linux 监视系统资源使用率
Red Hat Linux上使用BIND建立DNS服务器

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


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