一、前言
LVS(Linux Virtual Server)是Linux平台下的负载均衡软件,可为HTTP、TCP、UPD等协议提供负载均衡(Load Balance)支持。LVS是高性能的,安装配置简单,支持三种模式(DR、NAT、TUN)和多种负载均衡算法。尤其在TCP负载均衡有广泛应用,应用场景举例:分布式聊天室、MySQL多从库负载均衡等。更多详细信息参考官网:www.linuxvirtualserver.org
LVS在HTTP负载均衡并不常用,因为nginx、HAProxy可配置性要比LVS强很多、灵活的多。所以,LVS更多的是为基于TCP、UDP协议的应用做负载均衡。
LVS分为两种角色,一个Director充当master角色,多个Real Server充当slave角色。一个Director会根据某种负载均衡算法分配请求到Real Server上,那么问题来了:
- 如果Real Server因为异常挂了,部分请求就会失败
- 更糟的,Director挂了,整个服务不可用!
keepalived可以认为是LVS的子项目,作为LVS的高可用(High Availability,HA)组件。可以做到
- 用另一个Director作为热备份(backup),当主Director失效时,自动切换到backup上,继续处理用户请求。当主Director恢复正常后将重新接管工作,原来接管工作的backup(主Director失效后,接管了工作)重新变回backup角色。
- 当RealServer失效时,将自动从Director维护的Real Server列表中移除掉。当Real Server恢复正常后,重新添加到列表中
我们的目标是, 完成LVS和keepalived的安装和配置,并模拟Director和Real Server异常情况
环境
OS: RHEL6.0
内核版本: 2.6.32-71.el6.i686
网络拓扑描述
四台机器,一台master、一台backup、三台slave
一、LVS
安装依赖包
yum install -y libnl popt-devel
此外popt-static
wget http://www.rpmseek.com/download/http://ftp-stud.fht-esslingen.de/pub/Mirrors/centos/6.7/os/i386/Packages/popt-static-1.13-7.el6.i686.rpm?hl=com&nid=16614:589
rpm -ivh popt-static-1.13-7.el6.i686.rpm
安装ipvsadm工具
wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz
安装依赖库
yum install -y openssl openssl-devel
安装keepalived
wget http://www.keepalived.org/software/keepalived-1.2.19.tar.gz
tar -xvzf keepalived-1.2.19.tar.gz
cd keepalived-1.2.19
./configure --prefix=/usr/local/keepalived-1.2.19
make && make install
拷贝
cp etc/sysconfig/keepalived /etc/sysconfig/
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于