HA集群-keepalived+LVS\DR部署

栏目: 服务器 · 发布时间: 5年前

内容简介:一 . keepalived简介keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障。

一 . keepalived简介

keepalived是什么?

keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障。

keepalived工作原理

keepalived是以 VRRP协议为实现基础 的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。

虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,

这个组里面有一个master(主)和多个backup(备份),master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播(224.0.0.18), 当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级(priority)来选举一个backup当master 。这样的话就可以保证路由器的高可用了。

keepalived主要有三个模块,分别是core(核心)、check(检测)和vrrp(虚拟路由冗余协议)。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件(keepalived.conf)的加载和解析。check负责健康检查,包括常见的各种检查方式(TCP、脚本检测进程状态等)。vrrp模块是来实现VRRP协议的。

keepalived的常见组合

keepalived+LVS

keepalived+nginx

keepalived+mysql-proxy

keepalived+mycat

keepalived+LVS

Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以利用其来避免单点故障

。一个LVS服务会有2台服务器运行Keepalived,一台为主服务器(MASTER),一台为备份服务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发送特定的消息给备份服务器,当备份服务器收不到这个消息的时候,即主服务器宕机的时候, 备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。

二 . keepalived+LVS\DR的搭建

实验拓扑图

HA集群-keepalived+LVS\DR部署

实验准备

客户端/服务器
Client 192.168.11.1
Director master (node11) 192.168.11.11/24
Director Backup (node12) 192.168.11.12/24
Real  Server (node13) 192.168.11.13/24
Real  Server (node14) 192.168.11.14/24

四台服务器均关闭防火墙和selinux

systemctl  stop  firewalld                  #关闭防火墙

systemctl  status  firrewalld              #查看防火墙

setenforce  0                                   #关闭selinux

getenforce                                      #查看selinux是否关闭

服务部署流程

首先简单部署后端服务器(real  server) , 后端web服务器可以是apache , nginx 等服务

在node13和node14上部署apache服务 , 并设置主页

node13(192.168.11.13)上的操作

yum  install  -y  httpd                                                                     #用yum安装httpd软件

echo  ' www.node13.com' > /var/www/html/index.html                 #设置apache主页 , node13上做

systemctl  start  httpd                                                                   #重启服务

curl  192.168.11.13                                                                        #内测httpd服务

vim  lo.sh                                                                                     #编辑脚本,内容如下

#!/bin/bash

ifconfig lo:1 192.168.11.100  netmask 255.255.255.255

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

chmod  +x  lo.sh                                           #给脚本执行权限

bash  lo.sh                                                    #运行脚本 , 出现下图片中的IP则表示正确

scp  lo.sh  root@192.168.11.14:/root/            #把lo.sh上传到192.168.11.14的root家目录中

HA集群-keepalived+LVS\DR部署

HA集群-keepalived+LVS\DR部署

node14(192.168.11.14)上的操作

yum  install  -y  httpd                                                                     #用yum安装httpd软件

echo  ' www.node14.com' > /var/www/html/index.html                 #设置apache主页 , node13上做

systemctl  start  httpd                                                                   #重启服务

curl  192.168.11.13                                                                        #内测httpd服务

bash  lo.sh

HA集群-keepalived+LVS\DR部署

HA集群-keepalived+LVS\DR部署

部署Master  Director  Server 服务(192.168.11.11)

yum  install  -y  keepalived  ipvsadm                    #安装keepalived软件和ipvsadm命令

cd  /etc/keepalived

cp  -av  keepalived.conf{,.bak}                              #备份keepalived主配置文件

HA集群-keepalived+LVS\DR部署

vim  keepalived.conf       #编辑keepalived配置文件 , 如下图

配置文件详解:

HA集群-keepalived+LVS\DR部署

HA集群-keepalived+LVS\DR部署

配置好keepalived文件定义集群后 , 重启服务 , 查看IP和ipvsadm集群信息

systemctl  restart  keepalived              #重启服务

ip  a                         #此处查看ip信息 , 会多出一个vrrp的虚拟IP(VIP地址)

HA集群-keepalived+LVS\DR部署

ipvsadm  -Ln   #查看ipvsadm集群VIP所对应的后端web服务器IP信息

HA集群-keepalived+LVS\DR部署

把配置文件keepalived.conf配置文件传到192.168.11.12备服务器上

[root@node11 keepalived]# scp keepalived.conf   root@192.168.11.12:/etc/keepalived/

HA集群-keepalived+LVS\DR部署

部署Backup  Director  Server 服务(192.168.11.12)

yum  install  -y  keepalived  ipvsadm

vim  /etc/keepalived/keepalived.conf

HA集群-keepalived+LVS\DR部署

systemctl  restart  keepalived        #重启keepalived服务

修改好配置文件重启服务后 , 此时ip  a 查看ip地址信息 , 发现VIP地址并为出现 , 原因是主服务器未down掉

HA集群-keepalived+LVS\DR部署

配置好主备服务后 , 进行测试

HA集群-keepalived+LVS\DR部署

测试结果每访问3次192.168.11.14 , 再访问一次192.168.11.13 ,(LVS调度算法权重)成功负载均衡进行轮询

此时假装把主服务器192.168.11.11down掉 , 查看192.168.11.12的IP状态 ,并再次执行测试

关闭node11的keepalived服务

HA集群-keepalived+LVS\DR部署

查看192.168.11.12上的IP信息 , 发现成功继承VIP:192.168.11.100,并继续承当起负载均衡器 , 实现高可用

HA集群-keepalived+LVS\DR部署

再次测试:

HA集群-keepalived+LVS\DR部署

抓包分析:

keepalived通过vrrp协议进行组播的 作用 是为了竞选出由哪台keepalived主机接管业务(使用VIP的)。谁的priority优先级高(即票数多),谁就有VIP地址。

当master和backup都在运行keepalived服务时 :在备服务器node12抓取vrrp包 , 发现是192.168.11.11在不间断发送vrrp组播node11(master)发送的组播信息:

node12(backup)接收的组播信息

src:192.168.11.11

dest:224.0.0.18

keepalived集群中其他主机接收的组播信息

src:192.168.11.11

dest:224.0.0.18

HA集群-keepalived+LVS\DR部署

HA集群-keepalived+LVS\DR部署

当192.168.11.11down掉后 , 192.168.11.12竞选 ,开始由192.168.11.11不间断发送vrrp包变成192.168.11.12开始不间断发送vrrp组播

node12发送的组播信息

src:192.168.11.12

dest:224.0.0.18

keepalived集群中其他主机接收的组播信息:

src:192.168.11.12

dest:224.0.0.18

HA集群-keepalived+LVS\DR部署

HA集群-keepalived+LVS\DR部署


以上所述就是小编给大家介绍的《HA集群-keepalived+LVS\DR部署》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

蚂蚁金服

蚂蚁金服

廉薇、边慧、苏向辉、曹鹏程 / 中国人民大学出版社 / 2017-7 / 59.00

打开支付宝,我们不但可以用手机即时付款,给好友转账,为信用卡还款,购买水、电、天然气,还可以办理出国购物退税;因为余额宝,我们可以开始打理手中的零用钱,随时随地进行理财;因为芝麻信用,我们感受到信用为我们带来的信任、尊严与方便——免押金租车、租房、骑行。从支付宝到蚂蚁金服,可以毫不夸张地说,一家企业改变了我们的生活。 蚂蚁金服无疑是目前中国最具代表性的金融科技巨头,同时也是全球估值最高的金融......一起来看看 《蚂蚁金服》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

MD5 加密
MD5 加密

MD5 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器