主页 PC知识 网管技术 黑客帝国 安全技术 开放系统 程序设计 搜索 技术论坛

 

相关联接
 
RHU本级分类

技术开发
桌面应用
嵌入技术
问答(FAQ)
基础知识
企业应用&技巧

 
RHU阅读排行
·手把手教你如何写Makefile
·Linux下PCI设备驱动程序开发基本框架
·VSFTP+MySQL虚拟用户配置过程讲解
·如何在Linux桌面上搭建C/C++IDE开发环境
·嵌入Linux基于MiniGUI信息终端软件开发
·Linux下动态链接库技术分析和移植技巧
·Linux网络编程几个必需的网络函数介绍
·一套的实用完整Makefile参考模板
·Sniff网络基础原理和软件实现技巧详解
·Linux系统和内核初始化过程简要介绍

 
 
RHU最新文章
·几个重要的Linux操作系统 内核文件介绍
·构筑Linux防火墙之为个人用户设置防火墙
·构筑防火墙之IPtables搭建防火墙的规则
·如何使用Linux LiveCD评估系统的安全性
·磨炼Gentoo的锋芒之只要敢想 就有Gentoo
·揭秘Linux内核调试器之内幕
·用SRP建立安全的Linux Telnet服务器
·构筑Linux防火墙之什么是Linux防火墙
·Fedora core 2服务器平台安全设置揭秘
·引黑客入瓮 给Linux系统蒙上Windows面纱

 
 
RHU相关搜索









 
 
RHU广而告之

 
 
>您的位置:首页 -> Linux/Unix-> 技术开发
在RedHat上实现集群负载均衡系统1

作者:RHU-TAC编辑员 来自:RHU网络采集 时间:2005-6-20 双击滚屏 收藏本页 字体:


点击 查看RHU2004全年文章


摘要

负载均衡集群是在应用服务器高负载的情况下,由多台节点提供可伸缩的,高负载的服务器组以保证对外提供良好的服务响应;而LVS就是实现这一功能的技术,它通过使内核支持ipvs来实现LVS/Direct Routing (DR)、LVS/IP Tunnel、LVS/NAT的功能。

1.前言

先来简单说说负载均衡集群, 它是在应用服务器高负载的情况下,由多台节点提供可伸缩的,高负载的服务器组以保证对外提供良好的服务响应;而LVS就是实现这一功能的技术,它通过使内核支持ipvs来实现LVS/Direct Routing (DR)、LVS/IP Tunnel、LVS/NAT的功能。由于本文的着眼点在于如何利用LVS构建一个负载均衡集群,所以关于负载均衡集群、LVS的详细内容就不在这里阐述了,如果大家有兴趣可参考如下信息:

http://www.linuxvirtualserver.org/ LVS的官方网站
http://www-900.ibm.com/developerWorks/cn/linux/cluster/lvs/part1/index.shtml LVS项目介绍

RedHat 7.3/8.0都把ipvs预先编译到了RedHat发行版的内核中,但使用的ipvs版本比较低是ipvs 0.9.7/1.0.4,从RedHat 9开始ipvs不再被预先编译到了RedHat发行版的内核中,本文介绍了如何把最新版的ipvs Version 1.0.9编译到内核中并配置负载均衡集群的方法和一些技巧。

不论是在哪个版本的RedHat Linux上安装ipvs,工作大都可以分为如下几步:



图1给出了最简单的负载均衡集群的网络拓扑,这里需要指出的是以上提到的安装ipvs/ipvsadm的工作都是在Director上进行的。



图 1


2.在RedHat Linux上实现ipvs

在RedHat 7.3/8.0已经预先打了ipvs的补丁,在预安装的内核中已将ipvs编译成模块,如果你能在目录/lib/modules/2.4.18-*/kernel/net/ipv4/ipvs中看到ip_vs_*文件,就证明你的系统已经支持ipvs,可以通过如下步骤安装ipvsadm并配置转发方式。



但系统预编译的ipvs是比较早的版本(version 0.9.7/1.0.4),本文把它升级到最新的版本Version 1.0.9。

2.1得到内核源码和相关的软件包

这里需要强调的是由于RedHat 7.3/8.0的内核源码中已经预先打了ipvs的补丁,所以在安装ipvs时不能使用RedHat光盘中的Kernel Source,而是需要去下载标准的内核。对于RedHat 9.0,虽然内核中没有预编译ipvs,但我还是提倡使用standard kernel,因为所有的ipvs的补丁包都是为标准内核开发的。从kernel ftp site得到standard kernel linux-2.4.18.tar.gz(RedHat 7.3/8.0), linux-2.4.20.tar.gz (RedHat 9.0), 从lvs homepage 得到ipvs-1.0.9.tar.gz、ipvsadm-1.21.tar.gz。(在下面的阐述中都以内核linux-2.4.18.tar.gz为例,对于内核linux-2.4.20.tar.gz做法是完全相同的)

2.2把ipvs补丁Patch到内核源码中

把linux-2.4.18.tar.gz解压到/usr/src目录,生成了/usr/src/linux目录;如果生成的是/usr/src/linux-2.4.18*目录,则要在/usr/src下建立一个连接 ln –s linux-2.4.18* linux,因为在ipvs-1.0.9中的makefile文件中默认指定Kernel Source的路径为:KERNELSOURCE = /usr/src/linux(当然,如果您直接修改makefile中的KERNELSOURCE值,使它指向源码的目录也可以)。

把ipvs-1.0.9.tar.gz解压缩到某个目录,如/usr/src/source,生成了/usr/src/source/ipvs-1.0.9目录;进入/usr/src/source/ipvs-1.0.9,依次执行如下命令:make patchkernel、make installsource,将ipvs的Patch加载到kernel的source中。当然您也可以用linux-2.4.20-ipvs-1.0.9.patch.gz直接patch到内核中,在/usr/src执行 gzip -cd linux-2.4.20-ipvs-1.0.9.patch.gz,然后进入/usr/src/linux执行patch -p1 < ../linux-2.4.20-ipvs-1.0.9.patch

2.3重新编译支持ipvs的内核

进入/usr/src/linux目录,分别执行:
make mrproper 为创建新的内和配置做好准备
make menuconfig 进行配置
主界面-->Networking options选项-->IP:Virtual Server Configuration选项(如图2 图3)
IP:Virtual Server Configuration中的选项设定都用M
make dep 检测是否有相关的软件包被使用
make clean 为新内核结构准备源目录树
make bzImage 创建内核引导映像
make modules、make modules_install 生成模块



图2



图3


注意的问题:如果使用Standard Kernel,在make menuconfig时可能在Networking options选项中找不到IP:Virtual Server Configuration选项,这是因为没有选中Network packet filtering选项,如图 4



图 4


IP:Virtual Server Configuration选项是基于Network packet filtering选项的。

技巧:在make menuconfig时,我们面对众多的选项常常不知道该如何选择,此时可以把安装时的配置文件copy到/usr/src/linux中:cp /boot/config-2.4.* /usr/src/linux/.config,再用make menuconfig编译,它会读取.config中原来的配置信息,这样只要对IP:Virtual Server Configuration中的新选项选择即可。

2.4启用新内核

mkinitrd /boot/initrd-2.4.18ipvs.img 2.4.18 创建initrd映像
cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.4.18ipvs
cd /boot
rm vmlinuz
ln –s vmlinuz-2.4.18ipvs vmlinuz
cp /usr/src/linux/System.map /boot/System.map-2.4.18ipvs
cd /boot
rm System.map
ln –s System.map-2.4.18ipvs System.map
vi /etc/lilo.conf

添加启动选项:
image=/boot/vmlinuz-2.4.18ipvs
label=linux-ipvs
initrd=/boot/initrd-2.4.18ipvs.img
read-only
root=/dev/hda3
lilo
然后重新启动,选择新内核就可支持最新的ipvs

2.5安装ipvs管理工具ipvsadm

当使用了支持ipvs的内核后,就可以安装ipvsadm,ipvsadm是设置ipvs转发方式和调度算法的工具
tar xzvf ipvsadm-1.21.tar.gz
cd ./ipvsadm-1.21
make
make install

安装完成后,执行ipvsadm命令,如果有如下信息出现则说明安装成功了。



到现在为止,支持负载均衡功能的director就配置成功了,接下来我们可以通过ipvsadm来配置一个负载均衡集群。


OVER

[1] 页 RedHyphone.Union 投稿邮箱
[特别声明]:
本站文章大多搜索转载自网络中,如果侵犯了您的权利,请告之我们。本站将立即删除。
本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
查看评论】【向上滚屏】【关闭窗口】【 打印
-相关文章
  • openSUSE 11.1 Final - 正式发布
  • [视频]Opera Mini 4.2 正式版发布
  • dll注入系统进程(开源代码)
  • 认知盲区 解惑双网卡双线路DNS解析
  • FlashFXP 简体中文版 3.7.5 Build 1303 Beta[烈火]
  • -文章评论 (关闭)
    ·还没有相关的评论!

    网上大名:
    红旋风网络技术联盟 RHUTech.Union
     
    Copyright © 2000-2007 RedHyphone.Union All Rights Reserved. 红旋风联盟版权所有.皖ICP备05011033号
    中国红旋风网络技术联盟 | www.RedHyphone.net
    Mailto:Redhyphone@gamil.com