keepalived安装

     环境;

系统环境:RedHat Linux 5.5-64

系统安装这里就不说了上正题,两台服务器

服务器A:MARST  IP:192.168.10.120

服务器B:BACKUP IP:192.168.10.121

心跳            IP: 192.168.10.123

—————————————————————————————————————————————

keepalived下载地址如下:

  要是下载不了也可以去网上找对应的地址,本人用的keepalived是keepalived-1.1.20.tar.gz,高版本的出试了但是在make的时候报错,所以换成了这个版本的了。

安装keepalived之前要解决keepalived的依赖包的问题,(配RedHat的yum源这在里就不说了)

[root@MARST ~]# yum -y install gcc* openssl* kernel kernel-devel     ####这里编译安装所要的依赖包。

然后我这里先编译安装apache服务;(两个服务器都安装这里只做了MARST详细说明)

httpd-2.0.65.tar.gz                                                                                ####apache服务版本

[root@MARST ~]# ls 

anaconda-ks.cfg  Desktop  install.log  install.log.syslog

[root@MARST ~]# cd Desktop

[root@MARST Desktop]# tar -zxf httpd-2.0.65.tar.gz 

[root@MARST Desktop]# cd httpd-2.0.65

[root@MARST httpd-2.0.65]# ./configure --prefix=/usr/local/apache2/

[root@MARST httpd-2.0.65]# make && make install

[root@MARST httpd-2.0.65]# vi /usr/local/apache2/htdocs/index.html

                                                      #####编辑apache测试页面

[root@MARST httpd-2.0.65]# /usr/local/apache2/bin/apachectl start

                                                      #####起动服务(两个服务器都起动)

wKioL1OabIvjeeavAAC6MCcRaoQ954.jpg

wKiom1OabLnTx7HmAACrSBaQR7A049.jpg

下面开始编译安装keepalived

[root@MARST ~]# cd Desktop/

[root@MARST Desktop]# ls

httpd-2.0.65  httpd-2.0.65.tar.gz  keepalived-1.1.20.tar.gz

[root@MARST Desktop]# tar -zxf keepalived-1.1.20.tar.gz 

[root@MARST Desktop]# cd keepalived-1.1.20

[root@MARST keepalived-1.1.20]# ./configure --sysconf=/etc --with-kernel-dir=/usr/src/kernels/2.6.18-194.el5-x86_64/

[root@MARST keepalived-1.1.20]# make && make install

[root@MARST keepalived-1.1.20]# cp /usr/local/sbin/keepalived /usr/sbin/

                                                 #######复制keepalived起动文件

[root@MARST keepalived-1.1.20]# vi /etc/keepalived/keepalived.conf 

                                                 #######配置keepalived文件如图

wKioL1Oabveit2yHAANFncTFmfA843.jpg这里是MARST服务器keepalived配置文件BACKUP服务器上要把state MARSET 修改成BACKUP   

priority 100 修改成比100少的就可以。因为这里要区分哪个是MARST和BACKUP服务器。

配置完成后要起动keepalived服务。

然后在IE栏里输入

 如图显示;

wKiom1OacLmB_6ebAACeNiqG0BI243.jpg

然后停止keepalived 服务如下图;

wKiom1OacOaBcAM5AACrD4ZUvo0118.jpg

如图所示停止MARST上的keepalived服务后F5刷新一下页面后自动跳到BACKUP服务器上去。

接下来我模拟一下停止apache服务看keepalived是不是自动跳到BACKUP服务器上去。

同样的可以自动跳到BACKUP服务器上去。

但是得写一个脚本写一个关于apache的脚本;(注:在这里要强调的是关于这个APACHE的脚本,一定得给一个777或755的权限,要不然你把所有配置文件都修改完成之后依然无法切换到从HA上去的。)

wKiom1OacqySmtdaAAHPBrq1m24809.jpg

#!/bin/bash

CHECK_TIME=2

check()

{

        curl http://127.0.0.1/ >/dev/null 2>&1

        ret=$?

        if [ $ret -ne 0 ];then

                return $ret;

        fi

}

while [ $CHECK_TIME -ne 0 ]

do

        let "CHECK_TIME -= 1"

        check

        HTTP_OK=$?

        if [ $HTTP_OK -eq 0 ];then

                exit 0

        fi

        if [ $HTTP_OK -ne 0 ] &&  [ $CHECK_TIME -eq 0 ]

        then

            exit 1

        fi

done

这里就完成这个实验了。