Lvs+keepalived群集

目录

一.keepalived

例:keepalived通过什么判断哪台主机是主服务器,通过什么方式配置?

keepalived的抢占模式和非抢占模式:

故障:脑裂现象

二.基于DR模式实现keepalived

测试一下:

添加网关:

到主备服务器上复制配置文件,并修改:

在到两台节点服务器上下载ipvsadm工具:

test1为主服务器,访问网页:

关闭主服务器,在测试:

三.基于nginx实现keepalived

由于服务器自带四层代理模块,就配置这台服务器配置文件:

​编辑访访问页面:

配置主服务器:

​编辑

配置备服务器:

访问网页:


一.keepalived

Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题。

工作原理:

在一个LVS服务集群中通常有主服务器(master)和备份服务器(backup)两种服务器,但是对外表现为一个虚拟IP(VIP),主服务器会发送VRRP通告信息给备份服务器,当备份服务器收不到VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。

keepalived体系架构中主要有三个模块

core:为keepalived的核心,负责主进程的启动、维护及全局配置文件的加载和解析

check:是来实现VRRP协议的。(调度器之间的健康检查和主备切换)

vrrp:负责健康检查

例:keepalived通过什么判断哪台主机是主服务器,通过什么方式配置?

keepalived先做初始化检查state状态,master为主服务器,backup为备服务器,优先级较高的为主。

通过ip命令为自己配置一个提前定义好的浮动ip地址。

keepalived的抢占模式和非抢占模式:

抢占模式:默认配置下为抢占模式。在网络不好的情况下,主备服务器会来回切换,会导致数据的丢失。

非抢占模式:当主服务器挂了,不会成为主。在主备服务器的配置文件下state设为BACKUP,换行添加nopreempt模式(非抢占模式)。

故障:脑裂现象

现象:主服务器和备服务器都有VIP。

原因:因为主服务器和备服务器之间的通信链路中断,导致备服务器无法收到主服务发送的VRRP消息,备服务器误认为主服务器故障,并通过ip命令生成VIP

解决:关闭主服务器或备服务器的keepalived服务,确保业务正常运行,在找故障原因。

预防方法:

1.主服务器和备服务器之间添加双链路通信

2.在主服务上添加脚本进行判断与备服务器通信是否中断,如果中断则自行关闭keepalived服务

3.用第三方软件检测是否发生脑裂故障,如果出现则通过第三方应用和监控系统来关闭主或备服务器上的keepalived服务

二.基于DR模式实现keepalived

准备两台服务器下载keepalived软件:

Lvs+keepalived群集_第1张图片

Lvs+keepalived群集_第2张图片

两台服务器在切换到配置文件下,修改前先备份:

Lvs+keepalived群集_第3张图片

Lvs+keepalived群集_第4张图片

修改配置文件:

Lvs+keepalived群集_第5张图片

修改另一台服务器:

Lvs+keepalived群集_第6张图片

测试一下:

在开启test1的keepalived,再开启test4的keepalived:

Lvs+keepalived群集_第7张图片

Lvs+keepalived群集_第8张图片

将test1主服务器关闭:

Lvs+keepalived群集_第9张图片

看下test4之前的备服务器,看到后成为主服务器了:

Lvs+keepalived群集_第10张图片

所以说开启的顺序先后对于主备服务器是有影响的,优先级也是。

在开启test1,自动成为主服务器,因为优先级高:

Lvs+keepalived群集_第11张图片

看下test4:Lvs+keepalived群集_第12张图片

开启上次两台做DR节点服务器的主机,并解挂载:

Lvs+keepalived群集_第13张图片

Lvs+keepalived群集_第14张图片到nginx下的网页目录下添加网页内容:

Lvs+keepalived群集_第15张图片

Lvs+keepalived群集_第16张图片

在test2下检查内核参数:

Lvs+keepalived群集_第17张图片

 Lvs+keepalived群集_第18张图片

Lvs+keepalived群集_第19张图片

查看下网关:

Lvs+keepalived群集_第20张图片

Lvs+keepalived群集_第21张图片

添加网关:

Lvs+keepalived群集_第22张图片

到主备服务器上复制配置文件,并修改:

修改他们的配置文件:

Lvs+keepalived群集_第23张图片

Lvs+keepalived群集_第24张图片

Lvs+keepalived群集_第25张图片

在将配置文件远程复制到备服务器test4上:

Lvs+keepalived群集_第26张图片

修改配置文件:

Lvs+keepalived群集_第27张图片

在到两台节点服务器上下载ipvsadm工具:

到test1上看下规则:

Lvs+keepalived群集_第28张图片

到test4上查看规则:

Lvs+keepalived群集_第29张图片

test1为主服务器,访问网页:

Lvs+keepalived群集_第30张图片Lvs+keepalived群集_第31张图片

Lvs+keepalived群集_第32张图片

Lvs+keepalived群集_第33张图片

关闭主服务器,在测试:

Lvs+keepalived群集_第34张图片

访问页面:

Lvs+keepalived群集_第35张图片

Lvs+keepalived群集_第36张图片

三.基于nginx实现keepalived

开两台nginx服务器:

Lvs+keepalived群集_第37张图片

Lvs+keepalived群集_第38张图片

并下载好keepalived

Lvs+keepalived群集_第39张图片

Lvs+keepalived群集_第40张图片

由于服务器自带四层代理模块,就配置这台服务器配置文件:

Lvs+keepalived群集_第41张图片

修改配置文件:

Lvs+keepalived群集_第42张图片

重启nginx:

Lvs+keepalived群集_第43张图片

查看下nginx的进程:

Lvs+keepalived群集_第44张图片访访问页面:

Lvs+keepalived群集_第45张图片

Lvs+keepalived群集_第46张图片

将配置文件修改完成后远程复制到另一台nginx上:

Lvs+keepalived群集_第47张图片

到localhost服务器上编写测试监听nginx的脚本:

先查看下nginx:

Lvs+keepalived群集_第48张图片

Lvs+keepalived群集_第49张图片

Lvs+keepalived群集_第50张图片

配置主服务器:

修改keepalived配置文件:

Lvs+keepalived群集_第51张图片

Lvs+keepalived群集_第52张图片

配置备服务器:

远程复制配置文件和检测脚本到test1中:

Lvs+keepalived群集_第53张图片

修改test1备服务器的配置文件:

Lvs+keepalived群集_第54张图片

查看下ip:

Lvs+keepalived群集_第55张图片

Lvs+keepalived群集_第56张图片

访问网页:

Lvs+keepalived群集_第57张图片

Lvs+keepalived群集_第58张图片

你可能感兴趣的:(lvs,服务器,网络)