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 {
}
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安装与配置的主要内容,如果未能解决你的问题,请参考以下文章