用LVS构架负载均衡Linux集群系统Word文档下载推荐.docx

上传人:b****4 文档编号:15912779 上传时间:2022-11-17 格式:DOCX 页数:17 大小:107.59KB
下载 相关 举报
用LVS构架负载均衡Linux集群系统Word文档下载推荐.docx_第1页
第1页 / 共17页
用LVS构架负载均衡Linux集群系统Word文档下载推荐.docx_第2页
第2页 / 共17页
用LVS构架负载均衡Linux集群系统Word文档下载推荐.docx_第3页
第3页 / 共17页
用LVS构架负载均衡Linux集群系统Word文档下载推荐.docx_第4页
第4页 / 共17页
用LVS构架负载均衡Linux集群系统Word文档下载推荐.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

用LVS构架负载均衡Linux集群系统Word文档下载推荐.docx

《用LVS构架负载均衡Linux集群系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《用LVS构架负载均衡Linux集群系统Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。

用LVS构架负载均衡Linux集群系统Word文档下载推荐.docx

选用的LVS实际上是一种Linux操作系统上基于IP层的负载均衡调度技术,它在操作系统核心层上,将来自IP层的TCP/UDP请求均衡地转移到不同的服务器,从而将一组服务器构成一个高性能、高可用的虚拟服务器。

使用三台机器就可以用LVS实现最简单的集群,如图1所示。

图1显示一台名为Director的机器在集群前端做负载分配工作;

后端两台机器称之为RealServer,专门负责处理Director分配来的外界请求。

该集群的核心是前端的Director机器,LVS就是安装在这台机器上,它必须安装Linux。

RealServer则要根据其选用的负载分配方式而定,通常RealServer上的设置比较少。

接下来介绍Director机器上LVS的安装过程。

图1LVS实现集群系统结构简图

安装

LVS的安装主要是在Director机器上进行,RealServer只需针对不同的转发方式做简单的设定即可。

特别是对LVS的NAT方式,RealServer惟一要做的就是设一下缺省的网关。

所以构架集群的第一步从安装Director机器开始。

首先要在Director机器上安装一个Linux操作系统。

虽然早期的一些RedHat版本,如6.2、7.2、8.0等自带RedHat自己的集群软件,或者是在内核中已经支持LVS,但是为了更清楚地了解LVS的机制,笔者还是选择自行将LVS编入Linux内核的方式进行安装,Linux版本采用RedHat9.0。

如果用户对RedHat的安装比较了解,可以选择定制安装,并只安装必要的软件包。

安装中请选择GRUB做为启动引导管理软件。

因为GRUB在系统引导方面的功能远比LILO强大,在编译Linux内核时可以体会它的方便之处。

LVS是在Linux内核中实现的,所以要对原有的Linux内核打上支持LVS的内核补丁,然后重新编译内核。

支持LVS的内核补丁可以从LVS的官方网站http:

//www.linuxvirtualserver.org下载,下载时请注意使用的Linux核心版本,必须下载和使用的Linux内核版本相一致的LVS内核补丁才行。

对于RedHat9.0,其Linux内核版本是2.4.20,所以对应内核补丁应该是http:

//www.linuxvirtualserver.org/software/kernel-2.4/linux-2.4.20-ipvs-1.0.9.patch.gz。

笔者经过多次实验,使用RedHat9.0自带的Linux源代码无法成功编译LVS的相关模组。

由于时间关系笔者没有仔细研究,而是另外从kernel.org上下载了一个tar包格式的2.4.20内核来进行安装,顺利完成所有编译。

下面是整个内核的编译过程:

1.删除RedHat自带的Linux源代码

#cd/usr/src

#rm-rflinux*

2.下载2.4.20内核

#wgetftp:

//ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.20.tar.bz2

3.解压到当前目录/usr/src

#tar-xjpvflinux-2.4.20.tar.bz2

4.建立链接文件

#cd/usr/src#ln-slinux-2.4.20linux-2.4#ln-slinux-2.4.20linux

5.打上LVS的内核补丁

#wgethttp:

//www.linuxvirtualserver.org/software/kernel-2.4/linux-2.4.20-ipvs-1.0.9.patch.gz

#gzip-cdlinux-2.4.20-ipvs-1.0.9.patch.gz

#cd/usr/src/linux

#patch-p1<

../linux-2.4.20-ipvs-1.0.9.patch

在打补丁时,注意命令执行后的信息,不能有任何错误信息,否则核心或模组很可能无法成功编译。

6.打上修正ARP问题的内核补丁

//www.ssi.bg/~ja/hidden-2.4.20pre10-1.diff

../hidden-2.4.20pre10-1.diff

这一步在Director机器上可以不做,但是在使用LVS/TUN和LVS/DR方式的RealServer上必须做。

7.为新核心命名

打开/usr/src/linux/Makefile。

注意,在开始部分有一个变量EXTRAVERSION可以自行定义。

修改这个变量,比如改成“EXTRAVERSION=-LVS”后,编译出的核心版本号就会显示成2.4.20-LVS。

这样给出有含义的名称将有助于管理多个Linux核心。

8.检查源代码

#makemrproper

这一步是为确保源代码目录下没有不正确的.o文件及文件的互相依赖。

因为是新下载的内核,所以在第一次编译时,这一步实际可以省略。

9.配置核心选项

#makemenuconfig

命令执行后会进入一个图形化的配置界面,可以通过这个友好的图形界面对内核进行定制。

此过程中,要注意对硬件驱动的选择。

Linux支持丰富的硬件,但对于服务器而言,用不到的硬件驱动都可以删除。

另外,像Multimediadevices、Sound、Bluetoothsupport、AmateurRadiosupport等项也可以删除。

注意,以下几项配置对LVS非常重要,请确保作出正确的选择:

(1)Codematurityleveloptions项

对此项只有以下一个子选项,请选中为*,即编译到内核中去。

[*]Promptfordevelopmentand/orincompletecode/drivers

(2)Networkingoptions项

对此项的选择可以参考以下的配置,如果不清楚含义可以查看帮助:

<

*>

Packetsocket

[]Packetsocket:

mmappedIO

>

Netlinkdeviceemulation

[*]Networkpacketfiltering(replacesipchains)

[]Networkpacketfilteringdebugging

[*]SocketFiltering

Unixdomainsockets

[*]TCP/IPnetworking

[*]IP:

multicasting

advancedrouter

policyrouting

[]IP:

usenetfilterMARKvalueasroutingkey

fastnetworkaddresstranslation

M>

IP:

tunneling

broadcastGREoverIP

multicastrouting

ARPdaemonsupport(EXPERIMENTAL)

TCPExplicitCongestionNotificationsupport

TCPsyncookiesupport(disabledperdefault)

NetfilterConfiguration--->

VirtualServerConfiguration--->

(3)Networkingoptions项中的IP:

VirtualServerConfiguration项

如果打好了LVS的内核补丁,就会出现此选项。

进入VirtualServerConfiguration选项,有以下子选项:

virtualserversupport(EXPERIMENTAL)

[*]IPvirtualserverdebugging

(12)IPVSconnectiontablesize(theNthpowerof2)

---IPVSscheduler

round-robinscheduling

weightedround-robinscheduling

least-connectionschedulingscheduling

weightedleast-connectionscheduling

locality-basedleast-connectionscheduling

locality-basedleast-connectionwithreplicationscheduling

destinationhashingscheduling

sourcehashingscheduling

shortestexpecteddelayscheduling

neverqueuescheduling

---IPVSapplicationhelper

FTPprotocolhelper

以上所有项建议全部选择。

(4)Networkingoptions项中的IP:

NetfilterConfiguration项

对于2.4版本以上的LinuxKernel来说,iptables是取代早期ipfwadm和ipchains的更好选择,所以除非有特殊情况需要用到对ipchains和ipfwadm的支持,否则就不要选它。

本文在LVS/NAT方式中,使用的就是iptables,故这里不选择对ipchains和ipfwadm的支持:

ipchains(2.2-style)support

ipfwadm(2.0-style)support

10.编译内核

(1)检查依赖关系

#makedep

确保关键文件在正确的路径上。

(2)清除中间文件

#makeclean

确保所有文件都处于最新的版本状态下。

(3)编译新核心

#makebzImage

(4)编译模组

#makemodules

编译选择的模组。

(5)安装模组

#makemodules_install

#depmo

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1