简单术语:
Director:前端负载均衡器,运行lvs,目前只能为Linux,针对FreeBSD刚刚出来,性能不知道如何。可以针对web、ftp、cache、mms甚至mysql等服务做loadbalance。
RealServer:后段需要负载均衡的服务器,可以为各类系统,Linux、Solaris、Aix、BSD、Windows都可,甚至Director本身也可以作为RealServer使用
过完春节一直忙的稀里糊涂,脑袋一直转的太快,下午暂时有点空闲,正好最近N多朋友要做web 方式下的负载均衡,简单描述一下lvs的设置(不涉及HA、Mult-homing),当做大脑休息好了:p
lvs Linux Virtual Server,Linux下的负载均衡器,不多作介绍了,跟DNS轮询以及一些商业产品的比较等不做论述,具体看看LVS网站,支持LVS-NAT、 LVS-DR、LVS-TUNL三种不同的方式,nat用的不是很多,这里简单介绍一下DR、TUNL方式。
DR方式适合所有的RealServer同一网段下,即接在同一个交换机上
TUNL方式就RealServer可以任意了,完全可以跨地域、空间,只要系统支持Tunnel就成(Win2k3好像已经不支持了……)
方便以后扩充的话直接Tunl方式即可
Director系统为RHEL3+ClusterSuite(偶是懒人,懒得打kernel patch了:p)
RealServer系统为Rhel3+noarp补丁
Director设置:
需要在Director设置的就是/etc/sysconfig/ha/lvs.cf,以及安装ClusterSuite后启动pulse服务(Redhat的lvs服务,当然也可以手动),下面是一个简单的lvs设置(没有设置director HA),man lvs.cf看看详细设置,RHEL3里已经有了详细的手册
203.x.x.a为Director公网ip地址
203.x.x.b为需要Loadbance的域名的Ip地址
203.x.x.c 为第一个RealServer
203.x.x.d为第二个RealServer
#cat /etc/sysconfig/ha/lvs.cf
serial_no = 45
primary = 203.x.x.a
service = lvs
rsh_command = ssh
backup_active = 0
backup = 0.0.0.0
heartbeat = 1
heartbeat_port = 539
keepalive = 10
deadtime = 20
network = direct(Tunl方式改为tunnel)
nat_nmask = 255.255.255.255
reservation_conflict_action = preempt
debug_level = NONE
virtual www.test.com {
active = 1
address = 203.x.x.b eth0:0
vip_nmask = 255.255.255.255
port = 80
send = "GET / HTTP/1.0\r\n\r\n"
expect = "HTTP"
load_monitor = uptime
scheduler = wlc
protocol = tcp
timeout = 10
reentry = 15
quiesce_server = 0
server r1 {
address = 203.x.x.c
active = 1
weight = 1
}
server r2 {
address = 203.x.x.d
active = 1
weight = 1
}
}
上面的设置是对某个域名的web访问进行负载均衡,Director使用ssh定时收集RealServer上的负载,然后决定Loadbalance的分配,分配方式为WLC方式,然后启动pulse服务,看看/var/log/message里有没有什么配置错误,RHEL3里设置已经非常方便、简单
RealServer配置:
RS系统为Rhel3,针对DR、Tunl需要不同的设置,但关键的是arp问题,这里使用的noarp module,当然Rhel3里也提供了arptables来配合lvs(效果可能不是很好),这里介绍一下noarp
noarp编译不做介绍了,configure install后,insmod noarp把noarp加入内核,然后需要执行
noarpctl add 203.x.x.b 203.x.x.a
这是把所有对203.x.x.b的arp请求转向203.x.x.a(Director),然后建立虚拟ip以完成路由
DR的话需要建立网卡,放在eth0或者lo都行
ifconfig eth0:1 203.x.x.b netmask 255.255.255.255 up
Tunl方式的话需要启动tunl虚拟网卡
ifconfig tunl0 203.x.x.b netmask 255.255.255.255 up
同样在RealServer2上同样的设置
在两个RealServer上启动apache
Director上检测一下连接
ipvsadm -Ln
看看当前的负载分配
lvs的稳定性不用置疑,Rhas2.1、Rhel3里的LVS在偶这个懒人的4年使用里极其稳定,访问量从当时的几百人在线到现在的接近10K,只需要根据负载增加后段的RealServer即可,但Rhas2.1的LVS对Tunl支持的不好,建议使用Rhel3进行tunl方式的 Loadbalance
几句题外话:
lvs这两年里已经很稳定了,应用也已经很多了,maillist已经很活跃了,一些问题完全可以在maillist里找到答案,不用象偶当时完全是瞎子摸象:p。
上面只是lvs一个简单的应用,其它的复杂应用完全可以到lvs主页、maillist等查找。
可以任意转载,转载请注明出处http://devil4heaven.blogspot.com/
自由广告区 |
分类导航 |
邮件新闻资讯: IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮 电子邮箱 | 反垃圾邮件|邮件客户端|网络安全 行业数据 | 邮件人物 | 网站公告 | 行业法规 网络技术: 邮件原理 | 网络协议 | 网络管理 | 传输介质 线路接入 | 路由接口 | 邮件存储 | 华为3Com CISCO技术 | 网络与服务器硬件 操作系统: Windows 9X | Linux&Uinx | Windows NT Windows Vista | FreeBSD | 其它操作系统 邮件服务器: 程序与开发 | Exchange | Qmail | Postfix Sendmail | MDaemon | Domino | Foxmail KerioMail | JavaMail | Winwebmail |James Merak&VisNetic | CMailServer | WinMail 金笛邮件系统 | 其它 | 反垃圾邮件: 综述| 客户端反垃圾邮件|服务器端反垃圾邮件 邮件客户端软件: Outlook | Foxmail | DreamMail| KooMail The bat | 雷鸟 | Eudora |Becky! |Pegasus IncrediMail |其它 电子邮箱: 个人邮箱 | 企业邮箱 |Gmail 移动电子邮件:服务器 | 客户端 | 技术前沿 邮件网络安全: 软件漏洞 | 安全知识 | 病毒公告 |防火墙 攻防技术 | 病毒查杀| ISA | 数字签名 邮件营销: Email营销 | 网络营销 | 营销技巧 |营销案例 邮件人才:招聘 | 职场 | 培训 | 指南 | 职场 解决方案: 邮件系统|反垃圾邮件 |安全 |移动电邮 |招标 产品评测: 邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端 |