设为首页 收藏本站
查看: 1466|回复: 3

[经验分享] keepalived实现双主模式高可用集群

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2013-11-15 08:54:30 | 显示全部楼层 |阅读模式
本帖最后由 tgbf 于 2013-11-15 08:56 编辑

keepalived起初是为lvs设计的,专门用来监控集群中各个服务器节点的状态,后来加入了VRRP的功能,它的作用是解决静态路由出现的单点故障问题,它能够保证网络不间断、稳定的运行,综上所述,keepalived一方面具有健康监测的功能,另一方面也具有HA Cluster的功能,因此,可以通过这个软件可以搭建一个高可用的集群。
高可用集群有几种模式,这里就简单介绍一下。
高可用-主备模式:一个VIP或多个,一台主机对外提供服务,另外一台做备用机,当主服务器出现问题,备用服务器接管IP继续提供服务。
高可用-主主模式:二个VIP或多个,两台主机都对外提供服务,可以是同一个服务,也可以是不同的服务,这种模式提高了硬件的投入,也对负载均衡起到一定的效果
相信主备模式的网络上已经有很多可以参考的资料了,我这里就介绍一下高可用的主主模式。
先介绍一下我这里的环境:centos6.4 64位
master1 eth0:192.168.2.13 主VIP 192.168.2.10 备VIP 192.168.2.9
eth1: 192.168.1.10
master2 eth0:192.168.2.14 主VIP 192.168.2.9 备VIP 192.168.2.10
eth1: 192.168.1.11
出于测试方便,所以两台机器上分别安装nginx,实际生产环境我们也是在用的nginx,用什么其实都一样,本文主要介绍的是keepalived的双主高可用集群,nginx安装就不介绍了,很简单。
centos自带的yum源就有keepalived,所以利用yum安装就可以
#yum install -y keepalived (目前安装的是1.2.7的版本,官方最新的是1.2.9的)
下面开始配置,因为是双主模式,所以要配置2个不同的vrrp_instance,互为主备的,下面看一下我的配置文件。
! Configuration File for keepalived
global_defs {
notification_email {
13661122705@163.com #通知收件人地址,可以写换行写多个
}
notification_email_from root@localhost #发件人地址
smtp_server 127.0.0.1 #邮件smtp服务器地址
smtp_connect_timeout 30 #邮件smtp连接超时时间
router_id KEEPALIVED_TEST #运行Keepalived服务器的标识,自定义;发邮件时显示在邮件标题中的信息
}
vrrp_script notification { #定义一个外部脚本
script "/etc/keepalived/notification.sh" #脚本的路径
interval 1 #通知间隔
weight 2
}
vrrp_script chk_alive {
script "/etc/keepalived/chk_alive.sh"
interval 1
weight 2
}
vrrp_instance master1 {
state MASTER #角色{MASTER|BACKUP}
interface eth1 #HA监测的网卡
virtual_router_id 56 #虚拟路由ID;一组集群ID号必须一样
priority 100 #权重,BACKUP不能高于MASTER
advert_int 1 #检测时间间隔
garp_master_delay 1
authentication {
auth_type PASS #认证类型
auth_pass 1234 #认证密码,同一集群密码要一样
}
virtual_ipaddress { #定义虚拟IP地址,可以有多个
192.168.2.10
}
track_script { #定义状态跟踪
chk_alive #名称为vrrp_script中定义的
}
notify_master "/etc/keepalived/notification.sh master" #指定切换到Master状态时执行的脚本
notify_backup "/etc/keepalived/notification.sh backup" #指定切换到Backup状态时执行的脚本
notify_fault "/etc/keepalived/notification.sh fault" #指定切换到Fault状态时执行的脚本
}
vrrp_instance master2 {
state BACKUP
interface eth1
virtual_router_id 58
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 4321
}
virtual_ipaddress {
192.168.2.9
}
track_script {
chk_alive
}
}
由于篇幅的问题,master2的配置就不贴出来了,只是把master改为backup,priority大小改一下就可以了,master的priority要大于backup的,这样就可以。
chk_alive.sh是检测nginx是否存活的脚本,notification.sh是切换主备时的通知脚本,地址为
金山快盘附件notification这个脚本是当keepalived获取主.txt(0.7KB)金山快盘附件chk_alive.txt(0.17KB)

其实本文主要阐述的不是配置,是要阐述一下keepalived的工作原理,只要懂得了原理,这些都不是很难,双主集群的原理是每一台服务器都有一个主的和一个备的,互为主备,如果是web应用,想要实现2台服务器都绑定一个域名,就需要利用dns轮询的方式来做,如果后端有web服务器,前端可以利用lvs或者其他的负载均衡软件,如果只有2台,每台上面都安装web程序就可以,只要保证2台服务器上的数据一致,就可以有效的减少故障时间,还要提到的一点是,高可用集群要考虑到连接2台服务器的交换机,如果交换机死掉了就会出现脑裂的情况,所以尽量要利用2块网卡做健康监测,最好有2台交换机。
以上文章可能不够详细,如果有不明白的地方可以发评论,我会很快的回复的,谢谢大家支持。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-10504-1-1.html 上篇帖子: linux查看所有ip keepalived 下篇帖子: keepalived双机热备配置

尚未签到

发表于 2013-12-2 06:39:19 | 显示全部楼层
不要抱怨老天,终有一天奇迹会降临在每个人身上。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-12-15 10:45:03 | 显示全部楼层
试图消失几天、可是你却没有试图寻找我。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-12-24 14:58:06 | 显示全部楼层
如果我的真诚对你来说是种谎言的话,那我宁愿选择沉默

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表