简介
Keepalived是一个免费开源的交换机制软件。主要提供负载均衡和高可用的相关功能,负载均衡实现需要依赖Linux的虚拟服务内核模块(ipvs),而高可用是通过VRRP协议实现多台机器之间的故障转移服务。
Keepalived的所有功能是配置keepalived.conf文件来实现的。
安装与配置
从官网下载keepalived的最新版本,本文以当前最新版本1.3.0为例。
首先将keepalived-1.3.0.tar.gz上传至centos,比如放在 /root/downloads下。
安装
[root@t-ci downloads]#tar -zxvf keepalived-1.3.0.tar.gz
[root@t-ci downloads]#cd keepalived-1.3.0 #进入keepalived文件夹
[root@t-ci keepalived-1.3.0]#./configure --prefix=/usr/local/keepalived #指定安装目录,可以事先用mkdir建好keepalived文件夹
[root@t-ci keepalived-1.3.0]#make && make install #安装
如果提示
-bash:make: command not found
需要安装make命令
yum -y install gcc automake autoconf libtool make
配置
安装完成后,进入/usr/local/keepalived/etc(注:/usr/local/keepalived是本例中keepalived的安装目录),将keepalived相应的配置文件拷贝到系统相应的目录当中。keepalived启动时会从/etc/keepalived目录下查找keepalived.conf配置文件,如果没有找到则使用默认的配置。/etc/keepalived目录安装时默认是没有安装的,需要手动创建。
[root@t-ci keepalived]# cd /etc #进入etc
[root@t-ci etc]# mkdir keepalived #创建keepalived文件夹
配置文件目录结构如下所示:
[root@t-ci keepalived-1.3.0]# cd /usr/local/keepalived/etc
[root@t-ci etc]# ll
total 12
drwxr-xr-x. 3 root root 4096 Jun 20 15:59 keepalived
drwxr-xr-x. 3 root root 4096 Jun 20 15:31 rc.d
drwxr-xr-x. 2 root root 4096 Jun 20 15:31 sysconfig
这个不太直观,也可以用tree命令查看文件夹的树形目录结构,没有tree命令的话,用yum安装即可。
[root@t-ci etc]# yum install tree -y
...安装过程
[root@t-ci etc]# tree -l /usr/local/keepalived/etc
keepalived主要有以下几个配置文件:
/etc/keepalived/keepalived.conf
/etc/rc.d/init.d/keepalived
/etc/sysconfig/keepalived
将以上配置文件拷贝到etc目录下:
[root@t-ci ~]#cd /etc #进入etc
[root@t-ci etc]# mkdir /etc/keepalived #创建keepalived文件夹
[root@t-ci etc]# cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf
[root@t-ci etc]# cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/keepalived
[root@t-ci etc]# cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/keepalived
启动
设置keepalived服务开机启动:
[root@t-ci ~]# chkconfig keepalived on
[root@t-ci ~]# service keepalived start #启动服务
启动过程如果遇到:
env: /etc/init.d/keepalived: Permission denied
需要对该文件赋权
[root@t-ci etc]# chmod -R 777 /etc/init.d/keepalived
如果遇到:
Starting keepalived: /bin/bash: keepalived: command not found
原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。
[root@t-ci etc]# ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin/
另外,这两个命令分别是停止和重启keepalived服务的。
[root@t-ci etc]# service keepalived stop #停止服务
[root@t-ci etc]# service keepalived restart #重启服务
keepalived正常运行后,会启动3个进程,其中一个是父进程,负责监控其子进程。一个是vrrp子进程,另外一个是checkers子进程。
[root@t-ci etc]# ps -ef|grep keepalived
root 24757 1 0 15:37 ? 00:00:00 keepalived -D
root 24759 24757 0 15:37 ? 00:00:13 keepalived -D
root 24760 24757 0 15:37 ? 00:00:00 keepalived -D
root 24805 4918 0 16:41 pts/1 00:00:00 grep keepalived
到此keepalived就安装完成了。