Keepalived安装与配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Keepalived安装与配置相关的知识,希望对你有一定的参考价值。

一.Keepalived安装与配置:

    1.Keepalived的安装过程:

            Keepalived的安装非常简单,本实例以源码安装讲解:

             Keepalived的官方网址:http://www.keepalived.org/download.html

           Keepalived安装步骤:

                    [[email protected] ~]# tar zxvf keepalived-1.2.12.tar.gz 

                    [[email protected] ~]# cd keepalived-1.2.12

                    [[email protected] keepalived-1.2.12]# ./configure --sysconf=/etc --with-kernel-dir=/usr/src/kernels/2.6.32-573.el6.x86_64

                    [[email protected] keepalived-1.2.12]# make && make install

                    [[email protected] keepalived-1.2.12]# ln -s /usr/local/sbin/keepalived /sbin/

                    [[email protected] keepalived-1.2.12]# chkconfig --level 35 keepalived on

                      在编译选项中,“--sysconf”指定了Keepalived配置文件的安装路径,即路径为/etc/keepalived/keepalived.conf;“--with-kernel-dir”是个很重要的参数,但这个参数并不是要把Keepalived编译进内核,而是指定使用内核源码中的头文件,即include目录。只有在使用LVS时,才需要用到“--with-kernel-dir”参数,其他时候是不需要的。              

                    安装结果:

                            Keepalived configuration

                            ------------------------

                            Keepalived version       : 1.2.12

                            Compiler                 : gcc

                            Compiler flags           : -g -O2 -DFALLBACK_LIBNL1

                            Extra Lib                : -lssl -lcrypto -lcrypt  -lnl  

                            Use IPVS Framework       : Yes

                            IPVS sync daemon support : Yes

                            IPVS use libnl           : Yes

                            Use VRRP Framework       : Yes

                            Use VRRP VMAC            : Yes

                            SNMP support             : No

                            SHA1 support             : No

                            Use Debug flags          : No

                       Keepalived输出的加载模块信息,其中:

                                Use IPVS Framework表示使用IPVS框架,也就是负载均衡模块,后面的“Yes”表示启用IPVS功能。一般在搭建高可用负载均衡集群时会启用IPVS功能,如果只是使用Keepalived的高可用功能,则不需要启用IPVS模块,可以在编译Keepalived时通过“--disable-lvs”关闭IPVS功能。

                                IPVS sync daemon support表示启用IPVS的同步功能,此模块一般和IPVS模块一起使用,如果需要关闭,可在编译Keepalived时通过“--disable-lvs-syncd”参数实现。

                                IPVS use libnl 表示使用新版的libnl。libnl是NETLINK的一个实现,如果要使用新版的libnl,需要在系统中安装libnl和libnl-devel软件包。

                                Use VRRP Framework表示使用VRRP框架,这是实现Keepalived高可用功能必需的模块。

                                Use VRRP VMAC表示使用基础VMAC接口的xmit VRRP包,这是Keepalived在1.2.10版本及以后新增的一个功能。

    2.Keepalived的全局配置:

            Keepalived配置文件的路径为/etc/keepalived/keepalived.conf,Keepalived的所有配置均在这个配置文件中完成。由于Keepalived.conf文件中可配置的选项比较多,这里根据配置文件所实现的功能,将Keepalived配置分为三类,分别是:全局配置(Global Configuration)、VRRPD配置和LVS配置。下面将主要介绍下Keepalived配置文件中一些常用配置选项的含义和用法。

              Keepalived的配置文件都是以块(block)的形式组织的,每个块的内容都包含在{}中,以“#”和“!”开头的行都是注释。全局配置就是对整个Keepalived都生效的配置,基本内容如下:           

            ! Configuration File for keepalived

            

            global_defs {

               notification_email {

                 [email protected]

               }

               notification_email_from [email protected]

               smtp_server smtp.163.com

               smtp_connect_timeout 30

               router_id LVS_DEVEL

            }

            全局配置以“global_defs”作为标识,在“global_defs”区域内的都是全局配置选项,其中:

                    □notification_email用于设置报警邮件地址,可以设置多个,每行一个。注意,如果要开启邮件报警,需要开启本机的sendmail服务。

                    ■notification_email_from用于设置邮件的发送地址。

                    □smtp_server用于设置邮件的smtp server地址。

                    ■smtp_connect_timeout用于设置连接smtp server的超时时间。

                    □router_id表示运行Keepalived服务器的一个标识,是发邮件时显示在邮件主题中的信息。

    3.Keepalived的VRRPD配置:

            VRRPD配置是Keepalived所有配置的核心,主要用来实现Keepalived的高可用功能。从结构上来看,VRRPD配置又可分为VRRP同步组配置和VRRP实例配置。

                这里首先介绍同步组实现的主要功能。同步组是相对于多个VRRP实例而言的,在多个VRRP实例的环境中,每个VRRP实例所对应的网络环境会有所不同,假设一个实例处于网段A,另一个实例处于网段B,而如果VRRPD只配置了A网段的检测,那么当B网段主机出现故障时,VRRPD会认为自身仍处于正常状态,进而不会进行主备节点的切换,这样问题就出现了。同步组就是用来解决这个问题的,将所有VRRP实例都加入同步组中,这样任何一个实例出现问题,都会导致Keepalived进行主备切换。

                下面是两个同步组的配置样例:                        

                        vrrp_sync_group G1 {

                            group {

                                VI_1

                                VI_2

                                VI_5

                            }

                            notify_backup "/usr/local/bin/vrrp.back arg1 arg2"

                            notify_master "/usr/local/bin/vrrp.mast arg1 arg2"

                            notify_fault "/usr/local/bin/vrrp.fault arg1 arg2"

                            notify_stop "/usr/local/bin/vrrp.stop arg1 arg2"

                        }

                        

                        vrrp_sync_group G2 {

                            group {

                                VI_3

                                VI_4

                            }

                        }

                  其中,G1同步组包含VI_1、VI_2、VI_5三个VRRP实例,G2同步组包含VI_3、VI_4两个VRRP实例。这5个实例将在vrrp_instance段进行定义。另外,在vrrp_s


以上是关于Keepalived安装与配置的主要内容,如果未能解决你的问题,请参考以下文章

keepalived安装与配置

keepalived源码安装与配置

Linux下Keepalived 安装与配置

keepalived安装与配置,组建高可用服务器

Keepalived安装与配置

Nginx+Keepalived 主备高可用 安装与配置