分类: 架构设计与优化
2015-09-26 22:29:55
一个高性能高可靠的框架一般离不开高可用技术和负载均衡技术,这两个技术往往同时出现各司其职,这里分成两篇总结基于keepalived和LVS实现的高新能高可用框架,以备查阅。
keepalived依赖于openssl,先安装openssl
yum install openssl-devel
下载keepalived代码,可以改成需要的版本。
wget
tar zvxf keepalived-1.2.19.tar.gz
cd keepalived-1.2.19
./configure
make
make install
默认情况下,keepalived被安装到
/usr/local/sbin/
keepalived的配置文件被放置到
/usr/local/etc/keepalived/
keepalived默认会去加载
/etc/keepalived/keepalived.conf
作为默认配置文件,如果找不到也会启动,行为未知,所以要么在/etc下创建配置文件,要么在执行keepalived的时候用-f参数指定配置文件。
启动后ps aux|grep keepalived会有三个进程在运行,其中一个是checker,负责进行健康检查;一个vrrp进程,负责数据包路由。还有一个守护进程负责守护前面两个进程,也是前面两个的父进程。
看一下keepalived的常用启动选项:
-f 加载指定的配置文件
-C 只启动健康检查进程
-P 只启动VRRP进程
-D 输出日志到/var/log/messages
当然在修改好配置文件之前,启动是没有意义的,下面说明配置文件。
keepalived.conf中有三段,分别是global、vrrp和server,其中global和vrrp跟高可用相关,server段跟负载均衡相关,下篇再介绍。从/usr/local/etc/keepalived/sample中拷贝一个keepalived.conf.vrrp文件到/etc/keepalived目录下,改名为keepalived.conf。
其中红色的是主从不一样的地方,绿色的是视情况而定的选项。这里,从设备state修改为BACKUP,priority修改为80。
我测试的环境中,配置了两台CentOS 6.6 server版本的服务器。ip分别为HighAvailabilityServer A 192.168.1.131 MASTERHighAvailabilityServer B 192.168.1.132 BACKUP对外服务VIP选定为VIP 192.168.1.140
在启动之前,在我物理机192.168.1.120 ping一下VIP,确保其确实不在线。然后分别启动AB两台机器。此时ping 1.140,发现IP通了,ICMP包被MASTER回复。
检查路由表,发现1.140的mac与1.131mac地址相同
此时关闭MASTER的网络,service network stop再ping ip,发现不通了,大约过了10几秒就又通了,再次检查路由表,发现1.140地址指向了BACKUP的mac。
以上基本确认了高可用配置已经生效。