Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7544
  • 博文数量: 2
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 20
  • 用 户 组: 普通用户
  • 注册时间: 2015-09-26 15:56
文章分类
文章存档

2015年(2)

我的朋友
最近访客

分类: 架构设计与优化

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。

  1. global_defs {
  1.    notification_email {
  1.      10000@qq.com                                    #要获得通知的Email地址
  1.    }
  1.    notification_email_from ha-reportor@163.com       #要发送通知邮件的Email地址
  1.    smtp_server smtp.163.com                          #发送邮箱的smtp服务器地址
  1.    smtp_connect_timeout 10                           #smtp的连接超时时间
  1.    router_id LVS_DEVEL                               #路由ID,主备配置应一样
  1. }

  1. vrrp_instance VI_1 {
  1.     state MASTER              #主设备,从设备写BACKUP,注意要大写       
  1.     interface eth0            #主设备vrrp实例需要用到的网卡
  1.     garp_master_delay 10      #arp回复延迟,当设备配置为从设备时,检测到主设备失效,将延迟这些秒后应答网络中对VIP的arp请求
  1.     smtp_alert                #发送邮件报警
  1.     virtual_router_id 51      #虚拟路由ID,这个主从要统一,对于同一个vrrp_instance来说,不管有多少台从设备,都要一致
  1.     priority 100              #优先级,主大于从即可
  1.     advert_int 1              #主从状态同步间隔,这里设置为1秒
  1.     authentication {          
  1.         auth_type PASS        
  1.         auth_pass abc123      
  1.     }
  1.     virtual_ipaddress {
  1.         192.168.1.140         #VIP,即对外服务的IP地址
  1.     }
  1. }


其中红色的是主从不一样的地方,绿色的是视情况而定的选项。这里,从设备state修改为BACKUP,priority修改为80。

三、使用



我测试的环境中,配置了两台CentOS 6.6 server版本的服务器。ip分别为
HighAvailabilityServer A     192.168.1.131    MASTER
HighAvailabilityServer 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。




以上基本确认了高可用配置已经生效。







阅读(639) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:SO_REUSEADDR选项测试

给主人留下些什么吧!~~