Keepalived是由C语言编写的路由软件,是lvs的扩展项目,主要用作RealServer的健康状态检查以及LoadBalance主机和BackUP主机之间failover的实现。keepalived是一个类似于layer3, 4 & 7交换机制的软件,也就是我们平时说的第3层、第4层和第7层交换。本文主要介绍了其安装过程供大家参考。
1、获取安装软件
下载地址:
可以直接下载最新的版本1.2.13,也可以通过wget自动下载
# wget
2、安装前提
a、确保ipvs已经被安装
#如下,执行ipvsadm检查ipvs是否已经安装(当前大多数Linux缺省已安装)
[root@HKBO ~]# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
#检查当前加载的内核模块,看是否存在ip_vs模块
[root@HKBO ~]# lsmod|grep ip_vs
ip_vs 122113 0
b、安装相应的依赖包
# yum -y install gcc gcc-c++ gcc-g77 ncurses-devel bison libaio-devel \
> cmake libnl* libpopt* popt-static openssl-devel
3、安装keepalived
[root@HKBO ~]# more /etc/issue
CentOS release 5.9 (Final)
# mkdir /usr/local/keepalived
# cd /usr/local/src
# wget
# tar -xvf keepalived-1.2.13.tar.gz
# cd keepalived-1.2.13
# ./configure --disable-fwmark --prefix=/usr/local/keepalived
...............
Keepalived configuration
------------------------
Keepalived version : 1.2.13
Compiler : gcc
Compiler flags : -g -O2 -DETHERTYPE_IPV6=0x86dd
Extra Lib : -lssl -lcrypto -lcrypt
Use IPVS Framework : Yes
IPVS sync daemon support : Yes
IPVS use libnl : No
fwmark socket support : No
Use VRRP Framework : Yes
Use VRRP VMAC : No
SNMP support : No
SHA1 support : No
Use Debug flags : No
# make && make install
# ls /usr/local/keepalived/ #查看安装完成后,生成了4个目录
bin etc sbin share
# cd /usr/local/keepalived/etc
[root@HKBO etc]# tree
.
|-- keepalived
| |-- keepalived.conf #keepalived的配置样例
| `-- samples
| |-- client.pem
| |-- dh1024.pem
| |-- keepalived.conf.HTTP_GET.port
| |-- keepalived.conf.IPv6
| |-- keepalived.conf.SMTP_CHECK
| |-- keepalived.conf.SSL_GET
| |-- keepalived.conf.fwmark
| |-- keepalived.conf.inhibit
| |-- keepalived.conf.misc_check
| |-- keepalived.conf.misc_check_arg
| |-- keepalived.conf.quorum
| |-- keepalived.conf.sample
| |-- keepalived.conf.status_code
| |-- keepalived.conf.track_interface
| |-- keepalived.conf.virtual_server_group
| |-- keepalived.conf.virtualhost
| |-- keepalived.conf.vrrp
| |-- keepalived.conf.vrrp.localcheck
| |-- keepalived.conf.vrrp.lvs_syncd
| |-- keepalived.conf.vrrp.routes
| |-- keepalived.conf.vrrp.scripts
| |-- keepalived.conf.vrrp.static_ipaddress
| |-- keepalived.conf.vrrp.sync
| |-- root.pem
| `-- sample.misccheck.smbcheck.sh
|-- rc.d
| `-- init.d
| `-- keepalived
`-- sysconfig
`-- keepalived
# cd /usr/local/keepalived/sbin
# ./keepalived --help #获取keepalived的一些帮助
Usage: ./keepalived [OPTION...]
-f, --use-file=FILE Use the specified configuration file
-P, --vrrp Only run with VRRP subsystem
-C, --check Only run with Health-checker subsystem
-l, --log-console Log messages to local console
-D, --log-detail Detailed log messages
-S, --log-facility=[0-7] Set syslog facility to LOG_LOCAL[0-7]
-V, --dont-release-vrrp Don't remove VRRP VIPs and VROUTEs on daemon stop
-I, --dont-release-ipvs Don't remove IPVS topology on daemon stop
-R, --dont-respawn Don't respawn child processes
-n, --dont-fork Don't fork the daemon process
-d, --dump-conf Dump the configuration data
-p, --pid=FILE Use specified pidfile for parent process
-r, --vrrp_pid=FILE Use specified pidfile for VRRP child process
-c, --checkers_pid=FILE Use specified pidfile for checkers child process
-v, --version Display the version number
-h, --help Display this help message