linux 高可用软件,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版本:

[[email protected] ~]# uname -r

3.10.0-957.el7.x86_64

[[email protected] ~]# 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 {

[email protected]

[email protected]

[email protected]

}

notification_email_from [email protected]

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 [email protected]:/etc/keepalived/keepalived.conf

4、启动并配置开机启动

systemctl start keepalived

systemctl enable keepalived

5、检查项

1)检查服务状态为active

[[email protected] ~]# 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

d0a175793b9e73d052f009da2be72181.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值