Keepalived是一个基于VRRP协议来实现的WEB服务高可用方案。能够利用其来避免单点故障。使用多台节点安装keepalived。
其它的节点用来提供真实的服务。相同的,他们对外表现一个虚拟的IP。主server宕机的时候。备份server就会接管虚拟IP,继续提供服务,从而保证了高可用性。
keepalived的原理图例如以下所看到的:
最左边是客户机。它訪问我们的虚拟IP。然后我们有master(主控制节点)和backup(备用控制节点)。
最右边的就是我们提供服务的真机了。
2.搭建keepalived服务
我们使用四个节点来做这个实验,两个充当控制节点。另外两个提供服务。
然后用真机的浏览器訪问虚拟IP。
注意事项:
1.全部节点要做好解析。
2.时间同步
3.yum源设置好(除了主要的源。高可用等也要加入)
如图是我们的操作控制台:
keepalived的安装包为:
keepalived-1.2.13.tar.gz
两个控制节点分别解压和编译、安装keepalived:
在编译keepalived之前我们须要安装一些相关的包:
编译keepalived源代码包:
这个是我们的 编译结果:
然后我们进行安装:
上述的步骤在两个控制节点上都要进行,最后在配置文件里我们再设定主副节点。
建立软链接,把keepalived的配置文件和服务启动文件链接到指定位置:
设置配置文件:
我们设置了邮件的发送地址和ip。MASTER制定为主控制节点,虚拟id两个节点必须同样。
delay_loop 指定6秒检測服务状态。
设置虚拟ip。这是我们客户机訪问的IP。
这个是剩余的配置文件内容,我们设置连接方式为直连方式DR,负载策略为轮叫方式rr。协议威TCP。然后我们设置了两个提供服务节点的IP和port。分别为192.168.2.108和192.168.2.109的80port。也就是网页訪问服务。
然后我们设置备机的配置文件。模式设置为BACKUP,权重改动为50。这样才干够优先让主控制节点接管。
然后我们打开keepalived服务。并查看日志。发现已经识别了192.168.2.110虚拟IP:
在两个提供真机的服务节点上安装arptable_jf软件:
设置arptables的策略:
然后我们要在两个控制节点上安装ipvsadm软件来监控服务的状态:
假设无法安装的话。查看yum源,设置成例如以下所看到的:
在两个提供服务的真机上安装httpd。设置完默认公布内容后启动服务:
然后我们在主控制节点上查看当前的监控信息:
在真机的浏览器上查看192.168.2.110的信息。
由于是轮叫策略。所以会轮换显示192.168.2.108和192.168.2.109的默认公布内容:
3小结:
这样我们就搭建了keepalived下的高可用集群。
这个的复杂程度要低于heartbeat。在生产环境中也是很常见的。