Keepalived安装和配置

Keepalived介绍:Keepalived的作用是检测服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。

由于keepalived只有linux版本的,笔者这里讲解如何在Linux装keepalived并配置好使其协调工作:

1:官网下载keepalived,目前最高版本为1.3.5,如下图:

2.选择版本1.2.24

2.1笔者这里使用的是1.2.24版本,网上目前只有1.3.0版本以下的安装方法,笔者自己也尝试过1.3.5;1.3.4;1.3.0的安装,但都失败了,最后采用了1.2.24这个版本的keepalived,这里建议大家也安装1.3.0及一下的版本,时间足够多,想尝试1.3.0以上的版本的话也可以自己尝试安装。

2.2两种版本安装不同之处:

      安装后的安装目录keepalived目录下的etc下面的文件有所差异,下图为1.3.0及以上版本的目录和1.3.0以下版本的安装目录:

 

 

 

3.安装keepalived:

3.1 安装前的准备yum -y install openssl openssl-devel

3.2 进入下载好的目录中执行解压缩命令tar-zxvf keepalived-1.2.24.tar.gz

3.3 进入解压缩后的文件目录 cdkeepalived-1.2.24

3.4 开始安装mkdir /usr/local/keepalived  ,指定安装目录 ./configure--prefix=/usr/local/keepalived  接下来执行make 然后执行make install,系统版本glibc过低的话会报错,如下图所示:

  此时执行如下命令:yum update glibc

好了,这里keepalived安装完成,接下来设定keeplived的配置文件,并将keepalived注册为服务,设定开机启动。安装完成后检查下自己的keeplived安装目录etc下是否为步骤2.2的第二张图,如果不是那么停下来,重新安装。如果是的,接下来配置keepalived的配置文件.

4.配置keepalive的文件

mkdir/etc/keepalived

cp/usr/local/keepalived/etc/keepalived/keepalived.conf/etc/keepalived/keepalived.conf

cp/usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/

cp/usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

cp/usr/local/keepalived/sbin/keepalived /usr/sbin/

因为keepalived安装时使用的是自己定义的安装目录,(这样方便卸载,如果默认安装失败后卸载很麻烦,这里建议自己指定安装目录)所以上面的配置不能忘了。Keepalived启动时默认是从/etc/keepalived/keepalived.conf读取我们的配置文件的,后面所有在keepalived.conf下修改的东西都必须在/etc/keepalived/keepalived.conf这个目录修改,不然keepalived启动时读取的是默认的文件,而不是你修改的文件

chmod 755 /etc/init.d/keepalived //添加执行权限

chkconfigkeepalived on //开机启动

到此,已经可以启动keepalived了,使用命令

servicekeepalived start  //开启服务

servicekeepalived stop  //关闭服务

servicekeepalived restart //重启服务

ps-ef | grep keepalived  //查看服务是否运行

5.配置keepalived.conf文件,绑定我们自己想要绑定的ip,配置如下

 5.1笔者这里keepalived安装在两台linux上(一台为192.168.3.27 另一台为192.168.3.29 虚拟ip为192.168.3.200),我这里配置的是主从keepalived,3.29设定为主,3.27设定为从,下面开始配置,进入3.29的keepalived.conf文件中

!Configuration File for keepalived

#主要是配置故障发生时的通知对象以及机器标识

global_defs {

   #接收通知的email

   notification_email {

       tangcc124@163.com

   }

   #发送通知的email

   notification_email_fromtang.cc@gener-teach.com

   #smtp服务器地址,也可以写成localhost

   smtp_server 192.168.3.29

   smtp_connect_timeout 30

   #运行的标识

   router_id Node A

}

#vrrp的实例配置

#haproxy_01名称可自定义

vrrp_instancehaproxy_01 {

   #主节点,master大写,linux对大小写比较敏感

   state MASTER

    #实例绑定的网卡

    #注意centos7下第一块网卡不是eth0,请自行查看,不然keepalived无法启动成功

    interface eth0

    #虚拟路由ID,唯一,两台机子配置要一模一样

    virtual_router_id51

    #权重,主机给的大一点,从机小一点

    priority 150

    #检查的时间间隔

    advert_int 2

    #验证,两台机子要一模一样

    authentication {

        auth_type PASS

        auth_pass haproxy_01

    }

    #设置虚拟IP地址,这个最好写成跟自己同网段的ip,不要与其他人的ip相冲突

    virtual_ipaddress {

        192.168.3.200

       

    }

}

多余的东西,自己注释掉就行,删掉也可以(方便一些),红色部分配置时要注意

3.27的keepalived配置文件,跟3.29大同小异,不同之处在于权重和节点的定义,配置如下

! Configuration File forkeepalived

#主要是配置故障发生时的通知对象以及机器标识

global_defs {

  #接收通知的email

  notification_email {

     tangcc124@163.com

  }

  #发送通知的email

  notification_email_from tang.cc@gener-teach.com

  #smtp服务器地址,也可以写成localhost

  smtp_server 192.168.3.27

  smtp_connect_timeout 30

  #运行的标识

  router_id Node B

}

#vrrp的实例配置

#haproxy_01名称可自定义

vrrp_instance haproxy_01 {

 #主节点

 state BACKUP

   #实例绑定的网卡

   #注意centos7下第一块网卡不是eth0,请自行查看,不然keepalived无法启动成功

   interface eth1

   #虚拟路由ID,唯一

   virtual_router_id 51

   #权重

   priority 100

   #检查的时间间隔

   advert_int 2

   #验证

   authentication {

       auth_type PASS

       auth_pass haproxy_01

   }

   #设置虚拟IP地址,这个最好写成跟自己同网段的ip,不要与其他人的ip相冲突    virtual_ipaddress {

       192.168.3.200

      

   }

}

都配置完成后,启动3.29上keepalived服务,重启后查看ip绑定情况如下图所示:

图上可以看出我们设定的虚拟ip192.168.3.200已经绑定到我们设定的主keepalived上了,查看3.27的情况如下图所示:

并没有绑定上我们设定的虚拟ip192.168.3.200,说明我们的配置成功了,接下来测试下虚拟ip是否能自主切换:1.停掉3.29上的keepalived服务,如果虚拟ip绑定到了3.27上则说明keepalived能自主切换,我们到这里就算成功了,测试如下:

这里我们看到虚拟ip 192.168.3.200已经绑定到了3.27上,测试成功。到这里keepalived安装和配置都完成了,你可以自己使用keepalive做自己想做的事啦!
Logo

更多推荐