技术
成就梦想!

Linux部署Keepalived高可用软件

一、keepalived介绍

keepalived观察其名可知,保持存活,在网络里面就是保持在线了,也就是所谓的高可用或热备,它集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障(单点故障是指一旦某一点出现故障就会导致整个系统架构的不可用)的发生。

二、keepalived工作原理

keepalived可提供vrrp以及health-check功能,可以只用它提供双机浮动的vip(vrrp虚拟路由功能),这样可以简单实现一个双机热备高可用功能;keepalived是以VRRP虚拟路由冗余协议为基础实现高可用的,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到VRRP包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。

三、keepalived与Heartbeat高可用软件对比

1)Keepalived使用更简单:从安装、配置、使用、维护等角度上对比,Keepalived都比Heartbeat要简单得多,尤其是Heartbeat2.1.4后拆分成3个子项目,安装、配置、使用都比较复杂,尤其是出问题的时候,都不知道具体是哪个子系统出问题了;而Keepalived只有1个安装文件、1个配置文件,配置文件也简单很多;
2)Heartbeat功能更强大:Heartbeat虽然复杂,但功能更强大,配套工具更全,适合做大型集群管理,而Keepalived主要用于集群倒换,基本没有管理功能;
3)协议不同:Keepalived使用VRRP协议进行通信和选举,Heartbeat使用心跳进行通信和选举;Heartbeat除了走网络外,还可以通过串口通信,貌似更可靠;
Keepalived使用的vrrp协议方式,虚拟路由冗余协议 ;Heartbeat是基于主机或网络的服务的高可用方式;
Keepalived的目的是模拟路由器的双机;Heartbeat的目的是用户service的双机
4)使用方式基本类似:如果要基于两者设计高可用方案,最终都要根据业务需要写自定义的脚本,Keepalived的脚本没有任何约束,随便怎么写都可以;Heartbeat的脚本有约束,即要支持service start/stop/restart这种方式,而且Heartbeart提供了很多默认脚本,简单的绑定ip,启动apache等操作都已经有了;

使用建议:
优先使用Keepalived,当Keepalived不够用的时候才选择Heartbeat
lvs的高可用建议用Keepavlived
业务的高可用用Heartbeat

四、keepalived部署

下面的配置教程仅仅部署keepalived,如何还需要其他高可用工具后续继续部署。
部署环境
Linux版本:
[root@linux01 ~]# uname -r
3.10.0-957.el7.x86_64
[root@linux01 ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

双节点集群IP地址信息:
节点01:keep_01 172.16.0.211
节点02:keep_02 172.16.0.212
虚拟IP:172.16.0.210

1、下载并编译安装

yum install -y gcc gcc-c++ autoconf automake libtool glib2-devel libxml2-devel bzip2 bzip2-devel e2fsprogs-devel libxslt-devel libtool-ltdl-devel asciidoc    #安装编译环境

wget https://www.keepalived.org/software/keepalived-2.1.3.tar.gz
tar -xzvf keepalived-2.1.3.tar.gz
cd keepalived-2.1.3
./configure \
--prefix=/usr/local/keepalived
make && make install

2、注册为系统服务

cp keepalived/etc/init.d/keepalived /etc/init.d/
cp keepalived/etc/sysconfig/keepalived /etc/sysconfig/
mkdir /etc/keepalived/
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/

3、编辑keepalived配置文件

仅修改后面带注释的参数即可

/etc/keepalived/keepalived.conf    #配置文件内容

! Configuration File for keepalived
global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id keep_01            #keepalived的rooterID,修改为本服务器的主机名即可
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
   vrrp_mcast_group4 224.0.0.1  #添加检测方式,这里配置的是组播地址224.0.0.1
}

vrrp_instance VI_1 {
    state MASTER         #主机的角色,主的为MASTER,备机器应该设置为BACKUP
    interface ens192     #实现虚IP的网卡名称
    virtual_router_id 55 #虚拟机路由器id,集群内必须一致
    priority 100         #主机优先级,优先级越高越优先,备机需要低于主服务器
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass xxshell #协商的校验信息,集群内服务器需要一致
    }
    virtual_ipaddress {
        172.16.0.210/24 brd 172.16.0.255 dev ens192 lable ens192:0   #虚拟IP的地址,绑定的网卡与虚拟网卡,根据实际环境填写
		#192.168.200.16
        #192.168.200.17
        #192.168.200.18
    }
}

配置文件修改好后通scp命令将配置文件复制到备服务器上,备服务器仅修改“state MASTER ”与“router_id keep_01”即可

scp /etc/keepalived/keepalived.conf  root@172.16.0.212:/etc/keepalived/keepalived.conf

4、启动并配置开机启动

systemctl start  keepalived
systemctl enable  keepalived

5、检查项

1)检查服务状态为active

[root@keep01 ~]# systemctl status  keepalived    #检查状态为active
● keepalived.service - LVS and VRRP High Availability Monitor
   Loaded: loaded (/usr/lib/systemd/system/keepalived.service; enabled; vendor preset: disabled)
   Active: active (running) since 四 2020-07-09 21:32:51 CST; 7h left
 Main PID: 5820 (keepalived)
   CGroup: /system.slice/keepalived.service
           ├─5820 /usr/local/keepalived/sbin/keepalived -D
           ├─5821 /usr/local/keepalived/sbin/keepalived -D
           └─5824 /usr/local/keepalived/sbin/keepalived -D

2)能够ping通虚拟IP,通过“ip a”可以看到虚拟机IP

image

参考文章:https://www.cnblogs.com/kevingrace/p/6248941.html

赞(4)
未经允许不得转载:未来往事 » Linux部署Keepalived高可用软件

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址