Keepalived实现高可用

简介:
作者:苏阳 (Jade Show)
Keepalived是一个高度模块化设计的软件,源代码的结构似乎也很容易看出这一点,里面只有check core  libipfwc libipvs-2.4 libipvs-2.6 vrrp 这么一些目录.其结构可以用下图表示:
wps_clip_image-165
Core keepalived的核心程序,比如全局配置的解析,进程的启动等等;
Vrrp keepalived的vrrpd子进程以及相关的代码。
Check keepalived的healthcheck子进程的目录,包括了所有的健康检测方式以及对应配置的解析,lvs的配置解析也在这个里面。
Libipfwc iptables库,主要用来配置LVS中的firewall-mak。
Libipvs* 也是试用LVS需要使用到的。
  • 多进程模式
Keepalived采用多进程的设计模式,每个进程负责不同的功能,我们在使用lvs的机器上通常可以看到如下进程:
111Keepalived< 父进程:内存管理,监控子进程
112\_Keepalived<VRRPf子进程
113\_Keepalived<healthchecker子进程
可以通过某些命令行参数来控制u开启某些进程,比如不运行LVS的机器上,只开启vrrp就可以的话,可以试用-P参数,如果只运行了healthcheck子进程可以试用-C参数来实现。
配置文件
对配置文件的编译和解析是通过一个叫做控制面的东西来完成的。Keepalived的配置文件比较另类,并非一次解析所有的配置,只在用到某个模块的时候才解析相应的配置。
  • Keepalived的安装
安装keepalived就像安装其他开源软件一样简单。Configure,make,make install就可以搞定,尽管如此,还是来说一下这个操作过程:
[root@ha1 ~]# ls
anaconda-ks.cfg  install.log  install.log.syslog  keepalived-1.1.15.tar.gz
[root@ha1 ~]# tar -xzvf keepalived-1.1.15.tar.gz
keepalived-1.1.15/
    。。。。
。。。。
[root@ha1 ~]# cd keepalived-1.1.15
[root@ha1 keepalived-1.1.15]# ./configure --prefix=/ --mandir=/usr/local/share/man/ --with-kernel-dir=/usr/src/kernels/2.6.18-164.el5-i686/           // --prefix 将编译的输出文件放到根目录,;--mandir 指定man文档存放的位置 ; --with-kernel-dir 引用内核文件的库以及头文件//
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
config.status: creating keepalived/libipvs-2.6/Makefile
Keepalived configuration
------------------------
Keepalived version       : 1.1.15
Compiler                 : gcc
Compiler flags           : -g -O2
Extra Lib                : -lpopt -lssl -lcrypto
Use IPVS Framework       : Yes
IPVS sync daemon support : Yes
Use VRRP Framework       : Yes
Use LinkWatch            : No
Use Debug flags          : No
[root@ha1 keepalived-1.1.15]# make ;make install
make -C lib || exit 1;
make[1]: Entering directory `/root/keepalived-1.1.15/lib
。install -d /usr/local/share/man//man1
install -m 644 ../doc/man/man1/genhash.1 /usr/local/share/man//man1
make[1]: Leaving directory `/root/keepalived-1.1.15/genhash'
[root@ha1 keepalived-1.1.15]#

在另外一台机器上重复以上操作,就可以完成主机和备机的安装工作。到这里,安装就已经结束了,下面要做的就是修改配置文件,已经调试了。
  • Keepalived配置详解
Keepalived配置文件可以分为全剧配置区域,VRRP配置区域,以及LVS配置区域详情如下
! Configuration File for keepalived
global_defs {
   notification_email {
//当IP发生迁移等事件的时候发送邮件到指定邮箱
   }
   notification_email_from server.keepalived.com//邮件发送方
   smtp_server 127.0.0.1 //邮件外发服务器地址
   smtp_connect_timeout 30//邮件超时时间为30秒
   router_id LVS_DEVEL  //router 一个实例的标识
}               //全局配置文件结束
vrrp_instance VI_1 {  //一个vrrp实例
    State BACKUP //设置服务器模式,注要大写
    interface eth0     //实例网卡,也就是提供服务的网卡
    virtual_router_id 51 //幸运51哈
    priority 100         //设定权值为100 主备之间的权值插最好大于50  权值范围为0~255
    advert_int 1         //检查时间为1秒
    authentication {         //认证方式为密码认证
        auth_type PASS
        auth_pass 1111
}
    virtual_ipaddress {
    }
    nopreempt       //当主机上线之后,vip不回滚,节省资源
}
重启服务,加入chkconfig管理,就差不多了!
ps:关闭一些不相关的服务,有些服务会和keepalived冲突!
ps:附上keepalived的中文权威指南!见附件!




     本文转自 珏石头 51CTO博客,原文链接:http://blog.51cto.com/gavinshaw/275793,如需转载请自行联系原作者

相关文章
|
2月前
|
监控 应用服务中间件 nginx
使用Keepalived实现双机热备,实现服务高可用
使用Keepalived实现双机热备,实现服务高可用
28 0
|
5月前
|
应用服务中间件 网络安全 nginx
Keepalived双机热备
在一个 LVS 服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种角色的服务器,但 是对外表现为一个虚拟 IP,主服务器会发送 VRRP 通告信息给备份服务器,当备份服务器收不到 VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟 IP,继续提供服务,从而保证了高可用性。
78 1
|
11月前
|
存储 负载均衡 网络协议
keepalived双机热备
keepalived双机热备
214 0
|
Linux 网络架构
LVS+keepalived高可用
LVS+keepalived高可用
186 0
LVS+keepalived高可用
|
监控 负载均衡 网络协议
keepalived实现服务高可用
第1章 keepalived服务说明 1.1 keepalived是什么?   Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。
2653 0
|
网络架构
Keepalived 介绍、安装、配置(高可用)
1、keepalived的工作原理是VRRP(Virtual Router Redundancy Protocol)虚拟路由冗余协议。 2、VRRP路由器是指运行VRRP的路由器,是物理实体,虚拟路由器是指VRRP协议创建的,是逻辑概念。
1170 0
|
监控 负载均衡 网络协议
|
监控 关系型数据库 MySQL