Linux上集群及其配置实例_第1页
Linux上集群及其配置实例_第2页
Linux上集群及其配置实例_第3页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、:Linux上的集群及其配置实例2005 年 2 月 25 日 15:41:58通过Li nux LVS ,实现 WWW , Tel net服务的负载平衡。 这里实现Tel net集群服务仅为了测试上的方便。LVS 有三种负载平衡方式,NAT( Network Address Tran slation),DR(Direct Routing), IP Tunneling。其中,最为常用的是DR方式,因此这里只说明 DR(Direct Routing) 方式的LVS负载平衡。网络拓扑结构。如图1所示,为测试方便,4台机器处于同一网段内,通过一交换机或 者集线器相连。 实际的应用中,最好能将虚拟服务

2、器 vs1和真实服务器 rs1, rs2置于于不同的网段上,即提高了性能,也加强了整个集群系统 的安全性。服务器的软硬件配置首先说明,虽然本文的测试环境中用的是3台相同配置的服务器,但LVS并不要求集群中的服务器规格划一,相反,可以根据服务器的不同配置和负载情况,调整负载分配策略,充分利用集群环境中的每一台服 务器。这3台服务器中,vs1作为虚拟服务器(即负载平衡服务器),负责将用户的访问请求转发到集群内部的rs1,rs2,然后由rs1,rs2分别处理。client为客户端测试机器,可以为任意操作系统。4台服务器的操作系统和网络配置分别为:vs1: RedHat 6.2, Kernel 2.2

3、.19vs1: eth0 vs1: eth0:101 01rs1: RedHat 6.2, Kernel 2.2.14 rs1: eth0 rs1: dummyO 01 rs2: RedHat 6.2, Kernel 2.2.14rs2: ethO rs2: dummy。01clie nt: Win dows 2000clie nt: eth0 00其中,01 是允许用户访问的 IP。虚拟服务器的集群配置大部分的集群配

4、置工作都在虚拟服务器vs1上面,需要下面的几个步骤:重新编译内核。首先,下载最新的Linux内核,版本号为2.2.19,下载地址为:/,解压缩后置于 /usr/src/linux 目录下。其次需要下载LVS的内核补丁,地址为:http:/www .lin /software/ipvs-1.0.6-2.2.19.tar.gz。这里注意,如果你用的Linux内核不是2.2.19版本的,请下载相应版本的LVS 内核补丁。将 ipvs-1.0.6-2.2.19.tar.gz解压缩后置于 /usr/src/linux目录下。然

5、后,对内核打补丁,如下操作:rootvs2 /root# cd /usr/src/li nuxrootvs2 lin ux# patch -p1 < ipvs-1.0.6-2.2.19/ipvs-1.0.6-2.2.19.patch下面就是重新配置和编译Linux的内核。特别注意以下选项:1 Code maturity level opti on s->* *Prompt for developme nt an d/or in complete code/drivers2 Network ing 部分:* Kernel/User netli nk socket* Rout ing

6、messages<*> Netli nk device emulati on* * Network firewalls* Socket Filteri ng<*> Unix doma in sockets* * TCP/IP network ing* IP: multicast ing* IP: adva need routerIP: policy routi ngIP: equal cost multipathIP: use TOS value as routi ng keyIP: verbose route mon itori ngIP: large routi n

7、g tablesIP: kernel level autoconfiguration* * IP: firewalli ngIP: firewall packet netlink device* * IP: tra nspare nt proxy support* * IP: masqueradi ng-Protocol-specific masqueradi ng support will be built as modules.* * IP: ICMP masquerad ing-Protocol-specific masqueradi ng support will be built a

8、s modules.* * IP: masqueradi ng special modules support* IP: ipautofw masq support (EXPERIMENTAL)(NEW)* IP: ipportfw masq support (EXPERIMENTAL)(NEW)* IP: ip fwmark masq-forwardi ng support (EXPERIMENTAL)(NEW)* * IP: masqueradi ng virtual server support (EXPERIMENTAL)(NEW)* IP Virtual Server debuggi

9、ng (NEW) <-最好选择此项, 以便观察 LVS的调试信息* (12) IP masquerading VS table size (the Nth power of 2) (NEW)* IPVS: rou nd-rob in scheduli ng (NEW)* IPVS: weighted rou nd-robin scheduli ng (NEW)* IPVS: least-c onn ection scheduli ng (NEW)* IPVS: weighted least-c onn ection scheduli ng (NEW)* IPVS: locality-ba

10、sed least-co nn ection scheduli ng (NEW)* IPVS: locality-based least-connection with replication scheduling(NEW)* * IP: optimize as router not host* IP: tunn eli ngIP: GRE tunn els over IP* IP: broadcast GRE over IP* IP: multicast routi ng* IP: PIM-SM versio n 1 support* IP: PIM-SM versio n 2 suppor

11、t* * IP: aliasi ng support IP: ARP daemon support (EXPERIMENTAL)* * IP: TCP syn cookie support (not en abled per default) -(it is safe to leave these un touched)< > IP: Reverse ARP* IP: Allow large wi ndows (n ot recomme nded if <16Mb of memory) < > The IPv6 protocol (EXPERIMENTAL)上面,

12、带*号的为必选项。然后就是常规的编译内核过程,不再赘述,请参考编译 Linux教程。在这里要注意一点:如果你使用的是 RedHat自带的内核或者从 RedHat 下载的内核版本,已经预先打好了LVS的补丁。这可以通过查看/usr/src/linux/net/目录下有没有几个 ipvs开头的文件来判断:如果有, 则说明已经打过补丁。编写LVS配置文件,实例中的配置文件如下:#lvs_dr.c onf (C) Joseph Mackmack n LVS_TYPE=VS_DRINITIAL_STATE=onVIP=eth0:101 01 255.255.25

13、5.0 DIRECTOR_INSIDEIP=ethO 192.168.0. 255SERVICE=t tel net rr rs1:te ln et rs2:tel netSERVICE=t www rr rs1:www rs2:wwwSERVER_VIP_DEVICE=dummy0 SERVER_NET_DEVICE=eth0#end lvs_dr.c onf将该文件置于/etc/lvs目录下。使用LVS的配置脚本产生lvs.conf文件。该配置脚本可以从http:/www .lin uxvirtua

14、/Joseph.Mack/co nfigure-lvs_0.8.tar.gz单独下载,在ipvs-1.0.6-2.2.19.tar.gz包中也有包含脚本con figure的使用方法:rootvs2 lvs# con figure lvs.c onfrc.lvs_dr 文件这样会产生几个配置文件,这里我们只使用其中的修改 /etc/rc.d/i ni t.d/rc.local,增加如下几行:echo 1 > /proc/sys/ net/ipv4/ip_forward echo 1 > /proc/sys/ net/ipv4/ip_always_defrag

15、#显示最多调试信息echo 10 > /proc/sys/net/ipv4/vs/debug_level配置NFS服务。这一步仅仅是为了方便管理,不是必须的步骤。假设配置文件lvs.conf文件放在/etc/lvs目录下,则/etc/exports 文件的 内容为:/etc/lvs ro(rs1,rs2)然后使用exportfs命令输岀这个目录:rootvs2 lvs# exportfs如果遇到什么麻烦,可以尝试:rootvs2 lvs# /etc/rc.d/i nit.d/nfs restartrootvs2 lvs# exportfs这样,各个real server可以通过NFS获得

16、rc.lvs_dr文件,方便了集群 的配置:你每次修改lvs.conf中的配置选项,都可以即可反映在rs1,rs2的相应目录里。修改 /etc/syslogd.c onf ,增加如下一行:kern.* /var/log/ker nel_log这样,LVS的一些调试信息就会写入 /var/log/kernel_log 文件中.real server 的配置real server的配置相对简单,主要是是以下几点:配置tel net和WWW服务。tel net服务没有需要特别注意的事项,但是对于www服务,需要修改httpd.conf文件,使得apache在虚拟服务器的ip地址上监听,如下所示:Li

17、ste n 01:80关闭real server上dummy。的arp请求响应能力。这是必须的,具体 原因请参见ARP problem in LVS/TUN and LVS/DR 关闭 dummyO 的arp响应的方式有多种,比较简单地方法是,修改/etc/rc.d/rc.local文件,增加如下几行:echo 1 > /proc/sys/ net/ipv4/c on f/all/hidde nifconfig dummyO upifco nfig dummyO 01 netmask broadcast192.168

18、. 0.0 upecho 1 > /proc/sys/ net/ipv4/c on f/dummy0/hidde n再次修改/etc/rc.d/rc.local ,增加如下一行:(可以和步骤2合并)echo 1 > /proc/sys/ net/ipv4/ip_forward好了,经过了上面的配置步骤,现在可以测试LVS 了,步骤如下:分别在 vs1,rs1, rs2 上运行 /etc/lvs/rc.lvs_dr 。注意,rs1,rs2 上面的 /etc/lvs目录是vs2输岀的。如果您的NFS配置没有成功,也可以把vs1 上/etc/lvs/rc.lvs_dr 复制到rs1,rs

19、2上,然后分别运行。确保 rs1,rs2上 面的apache已经启动并且允许 tel net。然后从clie nt运行tel net 01,如果登录后看到如下输岀就说明集群已经开始工作了:(假设以guest用户身份登录)guestrs1 guest$ 说明已经登录到服务器rs1上。再开启一个telnet窗口,登录后会发现系统提示变为:guestrs2 guest$ 说明已经登录到服务器rs2上。然后在vs2上运行如下命令:rootvs2 /rootipvsadm运行结果应该为:IP Virtual Server versio n 1.0.6 (size=4096)Prot

20、 LocalAddress:Port Scheduler Flags-> RemoteAddress:Port Forward Weight ActiveC onn InActC onnTCP 01:telnet rr-> rs2:tel net Route 1 1 0-> rs1:tel net Route 1 1 0TCP 01:www rr-> rs2:www Route 1 0 0-> rs1:www Route 1 0 0至此已经验证 tel net的LVS正常。然后测试一下 WWW 是否正常:用你的浏览器查看

21、 01/ 是否有什么变化?为了更明确的区别响应来自那个real server,可以在rs1,rs2上面分别放置如下的测试页面(test.html):<HTML><BODY>我是 real server #1 or #2v/BODY>v/HTML>然后刷新几次页面(01/test.html),如果你看到"我是real server #1 ”和"我是real server #2 ”交替岀现,说明www的LVS系统已经正常工作了。但是由于In ter net Explore 或者Netscape本身的缓存机

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论