linux企业实战 --keepalived

1.keepalived简介

  1. keepalived是什么

keepalived起初是为lvs设计的,专门用来监控集群系统中各个服务节点的状态,如果某个服务器节点出现异常,或者工作出现故障,keepalived将检测到,并将出现故障的服务器节点从集群系统中剔除,这些工作全部是自动完成的,不需要人工干涉,需要人工完成的只是修复出现故障的服务节点。

  1. keepalived工作原理

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

  1. keepalived高可用故障切换转义原理

keepalived高可用服务对之间的故障切换转移,是通过vrrp(virtul redundancy protocol),虚拟路由冗余协议来实现的。
  在keepalived服务正常工作时,主master节点会不断向备节点发送(多播的方式)心跳信息,用以告诉备backup节点自己还活着,当主master节点发生故障时,就无法发送心跳信息,备节点也就因此无法继续检测到来自主master节点的心跳了,于是调用自身的接管程序,接管主master节点的ip资源及服务。而当主master节点恢复时,备backup节点又会释放主节点故障时自身接管的ip资源及服务,恢复到原来的备用角色。

2.实验准备

步骤一:源码编译

[root@server1 ~]# tar zxf keepalived-2.0.20.tar.gz 
[root@server1 ~]# ls

[root@server1 keepalived-2.0.20]# yum install gcc -y
[root@server1 keepalived-2.0.20]# yum install openssl-devel -y
[root@server1 keepalived-2.0.20]# ./configure --prefix=/usr/local/keepalived --with-init=systemd
如果显示yes说明安装成功
Use IPVS Framework       : Yes
[root@server1 keepalived-2.0.20]# make && make install  # 安装

在这里插入图片描述在这里插入图片描述在这里插入图片描述

如果显示yes说明安装成功

Use IPVS Framework       : Yes

在这里插入图片描述
步骤二:步骤一里的过程在server4上也做一遍

步骤三:做好软连接

[root@server1 keepalived]# ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
[root@server1 keepalived]# ln -s /usr/local/keepalived/etc/keepalived/ /etc/
[root@server1 keepalived]# ln -s /usr/local/keepalived/sbin/keepalived /sbin/

[root@server4 keepalived-2.0.20]# 
[root@server4 keepalived-2.0.20]# ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
[root@server4 keepalived-2.0.20]# ln -s /usr/local/keepalived/etc/keepalived/ /etc/
[root@server4 keepalived-2.0.20]# ln -s /usr/local/keepalived/sbin/keepalived /sbin/

在这里插入图片描述在这里插入图片描述
步骤四:配置keepalived
keepalived由健康状态检查的功能。

[root@server1 keepalived]# systemctl stop ldirectord
[root@server1 keepalived]# systemctl disable ldirectord
[root@server1 ~]# ip addr del 172.25.60.100/32 dev eth0
[root@server1 etc]# cd /etc/keepalived/
[root@server1 keepalived]# ls
[root@server1 keepalived]# vim keepalived.conf 

在这里插入图片描述在这里插入图片描述在这里插入图片描述
步骤五:编写keepalived文件在(server4)

[root@server1 keepalived]# scp keepalived.conf root@172.25.42.4:/etc/keepalived
[root@server4 keepalived]# vim keepalived.conf 

在这里插入图片描述步骤六:检查网络、下载邮件发送的安装包

[root@server1 keepalived]# ip addr show
[root@server4 keepalived]# yum install mailx -y

步骤七:启动keepalivd

[root@server1 keepalived]# systemctl start keepalived
[root@server4 keepalived]# systemctl start keepalived

步骤八:检查日志是否有报错

[root@server1 keepalived]# tail -f /var/log/messages 
[root@server4 keepalived]# tail -f /var/log/messages 
[root@server1 keepalived]# cat /var/log/messages | grep VI_1
Feb 21 13:25:03 server1 Keepalived_vrrp[13014]: (VI_1) removing VIPs.
Feb 21 13:25:03 server1 Keepalived_vrrp[13014]: (VI_1) Entering BACKUP STATE (init)
Feb 21 13:25:06 server1 Keepalived_vrrp[13014]: (VI_1) Receive advertisement timeout
Feb 21 13:25:06 server1 Keepalived_vrrp[13014]: (VI_1) Entering MASTER STATE
Feb 21 13:25:06 server1 Keepalived_vrrp[13014]: (VI_1) setting VIPs.
Feb 21 13:25:06 server1 Keepalived_vrrp[13014]: (VI_1) Sending/queueing gratuitous ARPs on eth0 for 172.25.60.100
Feb 21 13:25:11 server1 Keepalived_vrrp[13014]: (VI_1) Sending/queueing gratuitous ARPs on eth0 for 172.25.60.100


[root@server4 keepalived]# cat /var/log/messages | grep VI_1
Feb 21 13:25:15 server1 Keepalived_vrrp[18237]: (VI_1) removing VIPs.
Feb 21 13:25:15 server1 Keepalived_vrrp[18237]: (VI_1) Entering BACKUP STATE (init)

步骤八:测试

[root@server1 keepalived]# ip addr show
[root@server1 keepalived]# ipvsadm -ln

在这里插入图片描述

[root@server1 keepalived]# systemctl stop keepalived
# server4马上接替server1
[root@server4 keepalived]# yum install ipvsadm -y
[root@server4 keepalived]# ip addr show
[root@foundation60 addons]# curl 172.25.60.100
server3.www.westos.org

此时如果sever关闭,server4会顶替工作,如果server1再打开,会恢复server1,因为server1的优先级高。

3.Keepalived高可用故障切换转移原理

Keepalived高可用服务对之间的故障切换转移,是通过VRRP (Virtual Router Redundancy Protocol ,虚
拟路由器冗余协议)来实现的。
在Keepalived服务正常工作时,主Master节点会不断地向备节点发送(多播的方式)心跳消息,用以告诉备Backup节点自己还活看,当主Master节点发生故障时,就无法发送心跳消息,备节点也就因此无法继续检测到来自主Master节点的心跳了,于是调用自身的接管程序,接管主Master节点的IP资源及服务。而当主Master节点恢复时,备Backup节点又会释放主节点故障时自身接管的IP资源及服务,恢复到原来的备用角色

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值