目录
例:keepalived通过什么判断哪台主机是主服务器,通过什么方式配置?
Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题。
工作原理:
在一个LVS服务集群中通常有主服务器(master)和备份服务器(backup)两种服务器,但是对外表现为一个虚拟IP(VIP),主服务器会发送VRRP通告信息给备份服务器,当备份服务器收不到VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。
keepalived体系架构中主要有三个模块
core:为keepalived的核心,负责主进程的启动、维护及全局配置文件的加载和解析
check:是来实现VRRP协议的。(调度器之间的健康检查和主备切换)
vrrp:负责健康检查
keepalived先做初始化检查state状态,master为主服务器,backup为备服务器,优先级较高的为主。
通过ip命令为自己配置一个提前定义好的浮动ip地址。
抢占模式:默认配置下为抢占模式。在网络不好的情况下,主备服务器会来回切换,会导致数据的丢失。
非抢占模式:当主服务器挂了,不会成为主。在主备服务器的配置文件下state设为BACKUP,换行添加nopreempt模式(非抢占模式)。
现象:主服务器和备服务器都有VIP。
原因:因为主服务器和备服务器之间的通信链路中断,导致备服务器无法收到主服务发送的VRRP消息,备服务器误认为主服务器故障,并通过ip命令生成VIP
解决:关闭主服务器或备服务器的keepalived服务,确保业务正常运行,在找故障原因。
预防方法:
1.主服务器和备服务器之间添加双链路通信
2.在主服务上添加脚本进行判断与备服务器通信是否中断,如果中断则自行关闭keepalived服务
3.用第三方软件检测是否发生脑裂故障,如果出现则通过第三方应用和监控系统来关闭主或备服务器上的keepalived服务
准备两台服务器下载keepalived软件:
两台服务器在切换到配置文件下,修改前先备份:
修改配置文件:
修改另一台服务器:
在开启test1的keepalived,再开启test4的keepalived:
将test1主服务器关闭:
看下test4之前的备服务器,看到后成为主服务器了:
所以说开启的顺序先后对于主备服务器是有影响的,优先级也是。
在开启test1,自动成为主服务器,因为优先级高:
看下test4:
开启上次两台做DR节点服务器的主机,并解挂载:
到nginx下的网页目录下添加网页内容:
在test2下检查内核参数:
?
查看下网关:
修改他们的配置文件:
在将配置文件远程复制到备服务器test4上:
修改配置文件:
到test1上看下规则:
到test4上查看规则:
、
访问页面:
开两台nginx服务器:
并下载好keepalived
修改配置文件:
重启nginx:
查看下nginx的进程:
将配置文件修改完成后远程复制到另一台nginx上:
到localhost服务器上编写测试监听nginx的脚本:
先查看下nginx:
修改keepalived配置文件:
远程复制配置文件和检测脚本到test1中:
修改test1备服务器的配置文件:
查看下ip: