基于Keepalived实现LVS双主高可用集群

Posted 马哥Linux运维

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于Keepalived实现LVS双主高可用集群相关的知识,希望对你有一定的参考价值。

前言

基于Keepalived实现LVS双主高可用集群。什么是Keepalived呢,keepalived观其名可知,保持存活,在网络里面就是保持在线了, 也就是所谓的高可用或热备,用来防止单点故障的发生。本文将详细讲述Keepalived工作原理及高可用解决方案的实现。

相关介绍

Keepalived简介


工作原理

Keepalived组件介绍

core:keepalived的核心,复杂主进程的启动和维护,全局配置文件的加载解析等

check:负责healthchecker(健康检查),包括了各种健康检查方式,以及对应的配置的解析包括LVS的配置解析

vrrp:VRRP子进程,VRRP子进程就是来实现VRRP协议的

libip*:LVS相关



由图可知,两个子进程都被系统WatchDog看管,两个子进程各自负责自己的事,healthchecker子进程负责检查各自服务器的健康程度,例如HTTP,LVS等等,如果healthchecker子进程检查到MASTER上服务不可用了,就会通知本机上的VRRP子进程,让他删除通告,并且去掉虚拟IP,转换为BACKUP状态。

高可用解决方案

实验拓扑

基于Keepalived实现LVS双主高可用集群


配置过程

HA集群配置前提

时间同步、基于主机名互相通信、SSH互信

请确保两个节点时间同步,可用ntpdate向时间服务器同步


基于Keepalived实现LVS双主高可用集群


基于主机名互相通信

基于Keepalived实现LVS双主高可用集群


SSH互信

基于Keepalived实现LVS双主高可用集群


安装所需程序

基于Keepalived实现LVS双主高可用集群


配置keepalived

基于Keepalived实现LVS双主高可用集群
基于Keepalived实现LVS双主高可用集群
基于Keepalived实现LVS双主高可用集群
基于Keepalived实现LVS双主高可用集群


将配置文件同步给另一个节点

基于Keepalived实现LVS双主高可用集群


修改另一个节点配置文件

基于Keepalived实现LVS双主高可用集群


Real Server配置

配置内核参数及VIP

基于Keepalived实现LVS双主高可用集群


准备测试页面

基于Keepalived实现LVS双主高可用集群
基于Keepalived实现LVS双主高可用集群


测试页面

基于Keepalived实现LVS双主高可用集群


keepalived节点准备应急页面

基于Keepalived实现LVS双主高可用集群
基于Keepalived实现LVS双主高可用集群


测试


启动keepalived

基于Keepalived实现LVS双主高可用集群


查看两节点的ip和ipvs规则情况

基于Keepalived实现LVS双主高可用集群
基于Keepalived实现LVS双主高可用集群
基于Keepalived实现LVS双主高可用集群


访问测试

基于Keepalived实现LVS双主高可用集群
基于Keepalived实现LVS双主高可用集群
基于Keepalived实现LVS双主高可用集群
基于Keepalived实现LVS双主高可用集群


模拟其中一个主节点故障

基于Keepalived实现LVS双主高可用集群


再次查看两节点的ip和ipvs规则情况

基于Keepalived实现LVS双主高可用集群
基于Keepalived实现LVS双主高可用集群


由此可见,一个主节点挂掉以后所有的VIP和ipvs规则都会转移到另一个节点,所以访问也不会受到任何影响,这里就不再测试。如果故障节点重新上线,资源还会再次回到工作节点。


下面我们模拟两个RS节点全部故障,看一下sorry_server是否可以工作


基于Keepalived实现LVS双主高可用集群


查看ipvs规则

基于Keepalived实现LVS双主高可用集群


real server已全部下线,应急服务器上线

基于Keepalived实现LVS双主高可用集群
基于Keepalived实现LVS双主高可用集群

sorry_server响应成功,至此,基于Keepalived实现LVS双主高可用集群实验完成


The end

基于Keepalived实现LVS双主高可用解决方案就说到这里了,通过实验可以看出使用keepalived构建LVS群集更加简便易用






马哥教育

基于Keepalived实现LVS双主高可用集群   

点击“阅读原文”咨询网络班26期

以上是关于基于Keepalived实现LVS双主高可用集群的主要内容,如果未能解决你的问题,请参考以下文章

MySQL集群之keepalived实现mysql双主高可用

Keepalived+LVS(dr)高可用负载均衡集群的实现

Haproxy+Keepalived实现网站双主高可用-理论篇

基于keepalived搭建mysql双主高可用

Keepalived+Nginx实现双主高可用负载均衡

Keepalived+LVS实现高可用负载均衡双主模式