基于DR模式的keepalived主从模式高可用架构搭建

一:架构图示

2.keepalived是什么?

Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机
,或工作出现故障,Keepalived将检测到,通过VRRP协议,将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后
Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。

3.VRRP协议是什么?

VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议)
可以认为是实现路由器高可用的协议,简单的说,当一个路由器故障时可以由另一个备份路由器继续提供相同的服务。

keepalive就是通过基于VRRP协议的VIP漂移来实现主从VS的切换来实现高可用。

4.实验目标

通过配置两台VS,实现两VS间的相互检测,当其中一台VS宕机后,另一台VS能够自动顶替,使用户能够正常访问后端webserver资源,从而实现高可用

5.实验环境

VS-master:主负载均衡器

VIP:172.17.252.1(eth0:0)

VS-backup:从负载均衡器

VIP:172.17.252.1(eth0:0)

RS1:webserver

VIP:172.17.252.1(lo:0)

RS2:webserver

VIP:172.17.252.1(lo:0)

注意:①VS无须进行DR的任何配置,只需打开路由转发功能即可;RS需符合DR所有配置

②基于DR模式的LVS架构搭建过程,请看此博客 http://blog.51cto.com/13172823/1980791

6.实验前的必要准备

①关闭VS和RS的selinux,并禁用iptables

②两台VS使用yum安装keepalived软件

7:实验步骤(操作环境:VS)

(1)修改VS-master的keepalived配置文件

global_defs {                  ##全局配置
   notification_email {        ##邮件通知
[email protected]
[email protected]
[email protected]
   }
   notification_email_from [email protected]
   smtp_server 127.0.0.1  
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}
vrrp_instance VI_1 {            ##虚拟路由示例名
    state MASTER                ##初始状态,MASTER|BACKUP,当state指定的instance的初始 化状态,在两台服务器都启动以后,马上发生竞选,优先级高的成为MASTER, 所以这里的MASTER并不是表示此台服务器一直是MASTER            
    interface eth0
    virtual_router_id 51        ##虚拟路由id号,最大255,一般不随意改动
    priority 100                ##优先级,数值越大,优先级越高(主高从低)
    advert_int 1                ##VRRP通告间隔,单位为s 
    authentication {
        auth_type PASS
        auth_pass pp
    }
    virtual_ipaddress {          ##VIP
        172.17.252.1
    }
#    nopreempt  ##开启非抢占模式(默认抢占,即当从服务器健康时,VIP强制漂移到主服务器上)
}
virtual_server 172.17.252.1 80 {           ##配置VS
    delay_loop 6        ##服务轮训时间
    lb_algo wrr         ##LVS集群调度算法为加权轮寻算法
    lb_kind DR          ##LVC集群模式
    nat_mask 255.255.255.255
    persistence_timeout 600         ##会话保持时间(s)
    protocol TCP                    ##健康检查protocol(UDP | TCP)
    real_server 172.17.250.121 80 {      ##指定RS1
        weight 1        ##权重
        HTTP_GET {
            url {
              path /
            }
            connect_timeout 3        ##连接超时时间
            nb_get_retry 3           ##重连次数
            delay_before_retry 3     ##重连连接间隔
        }
    }
    real_server 172.17.250.122 80 {       ##指定RS2
        weight 1
        HTTP_GET {
            url {
              path /
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

(2)修改VS-backup的keepalive配置文件

global_defs {                  ##全局配置
   notification_email {        ##邮件通知
[email protected]
[email protected]
[email protected]
   }
   notification_email_from [email protected]
   smtp_server 127.0.0.1  
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}
vrrp_instance VI_2 {           ##虚拟路由示例名
    state BACKUP            
    interface eth0
    virtual_router_id 51       ##虚拟路由id号,最大255,一般不随意改动
    priority 98                ##优先级,数值越大,优先级越高
    advert_int 1               ##VRRP通告间隔,单位为s 
    authentication {
        auth_type PASS
        auth_pass pp
    }
    virtual_ipaddress {              ##VIP
        172.17.252.1
    }
}
virtual_server 172.17.252.1 80 {           ##配置VS
    delay_loop 6        ##服务轮训时间
    lb_algo wrr         ##LVS集群调度算法
    lb_kind DR          ##LVC集群模式
    nat_mask 255.255.255.255
    persistence_timeout 600         ##会话保持时间(s)
    protocol TCP        ##健康检查protocol(UDP | TCP)
    real_server 172.17.250.121 80 {      ##指定RS1
        weight 1        ##权重
        HTTP_GET {
            url {
              path /
            }
            connect_timeout 3        ##连接超时时间
            nb_get_retry 3                ##重连次数
            delay_before_retry 3     ##重连连接间隔
        }
    }
    real_server 172.17.250.122 80 {       ##指定RS2
        weight 1
        HTTP_GET {
            url {
              path /
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

8.实验结果测试

(1)同开启两台VS的keepalived服务,VIP在VS-master上,而不在VS-backup上

(2)关闭master的keepalived服务,backup主机自动获得VIP,而master上没有VIP

(3)再次开启master的keepalived服务,VIP又飘回master

注意事项:查看VIP应使用ip命令,ifconfig无效。

总结:到这里,我们已经通过利用keepalived的VIP漂移来实现了主从服务器的自由切换,从而满足了企业基本的服务器高可用目标。

时间: 2024-08-04 20:20:49

基于DR模式的keepalived主从模式高可用架构搭建的相关文章

整个MHA+keepalived+lvs+mysql高可用架构配置说明

整个MHA+keepalived+lvs+mysql高可用架构配置说明1.1. 环境简介1.1.1.vmvare虚拟机,系统版本CentOS7.5 x86_64位最小化安装,mysql的版本5.7.21,1.1.2.虚拟机器的ssh端口均为默认22,1.1.3.虚拟机的iptables全部关闭,1.1.4.虚拟机的selinux全部关闭,1.1.5.虚拟机服务器时间全部一致 ntpdate 0.asia.pool.ntp.org1.1.6.3台机器的ssh端口为22**1.2.此次试验采用的是3

drbd+heartbeat+nfs高可用架构搭建

一.客户需求 1.需求描述 有些客户有自己的存储设备,但是并没有集群文件系统服务,所以如果我们多个节点(计算节点)如果想同时使用其中的一个块且要保证高可用的话,就需要我们自己来完成类似集群文件系统的服务组合,在此我们使用的服务组合是:iscsi共享+drbd+heartbeat+nfs. 2.服务说明 Iscsi共享:这里通过iscsi共享服务将存储设备上的存储块共享出去,提供节点(NC1+NC2)使用,此处我们将在iscsi服务短创建两个镜像充当块设备. Drbd   :服务器之间镜像块设备内

Mysql_MHA高可用架构搭建

Mysql_MHA高可用架构搭建 窗体顶端 窗体底端 环境及兼容包 系统环境:centos6.5 Mysql: mysql-5.5.6 数据库用源码安装,这里就不介绍了 主机分配: Master : 192.168.0.101 node1 (主库) Slave1 : 192.168.0.102 node2 (备用主库) Slave2 : 192.168.0.103 node3 (从库+MHA控制节点) MHA兼容包见附件 窗体顶端 窗体底端 添加免密码登录,互为认证 ++++++++++以下操作

Memcached 主主复制+ Keepalived 实现 Memcached 高可用架构集群

Memcached +keepalived 高可用集群 Memcached 主主复制这种架构,在程序连接时不知道应该连接哪个主服务器,所以需要在前端增加 VIP 地址,实现高可用架构.这里用 Keepalived 实现,因而 Keepalived 的作用就是用来检测 Memcached 服务器的状态是否正常. Keepalived 不断检测 Memcached 主服务器的11211端口,如果检测到 Memcached 服务发生宕机或者死机等情况,就会将 VIP 从主服务器移至从服务器,从而实现

基于DevOps 微服务以及k8s的高可用架构探索与实现

现代的企业面临着一个VUCA的时代,高可用系统架构面对着诸多不确定性带来的影响和挑战,如何才能能够突破困境,使得复杂的系统仍然能保持业务的连续性.业务的弹性扩容也同时会对高可用性的架构造成影响,在实践中,我们结合微服务/K8S/DevOps这三架马车进行了微服务的容器化的实践之路. 高可用架构的挑战 在现实的复杂而又不确定性的环境下,高可用架构面临诸多挑战,都可能对系统带来巨大影响,比如: 应用程序的异常退出 操作系统的突然宕机 服务器的意外断电 运维人员人为操作失误 地震等不可抵抗因素 业务量

实现基于Haproxy+Keepalived负载均衡高可用架构

一:环境准备 centos系统服务器4台,两台用于做haproxy主从架构, 两台作为后端server,服务器配置好yum源,防火墙关闭, 关闭selinux,各节点时钟服务同步,各节点之间可以通过主机名互相通信. 二:安装步骤 1.iptables –F &&setenforing 清空防火墙策略,关闭selinux. 2.拿两台服务器都使用yum方式安haproxy,keepalived 服务 3.后端服务器配置好基于LNMP架构的web服务 当准备工作做好之后,就可以修改配置文件啦,

实现基于Haproxy_NAT+Keepalived负载均衡高可用架构

实验思路: 1.做这个实验首先可以想象一个场景,用户访问webserver的时候首先会经过调度器,首先需要明白的一点就是一般公司一般是在内网,客户端是通过外网访问webserver的. 2.haproxy是一个负载均衡器,Keepalived通过VRRP功能能再结合LVS负载均衡软件即可部署一个高性能的负载均衡集群系统,也就是说haproxy是解决后端realserver负载均衡的问题,keepalived是解决调度器的高可用的问题. 3.haproxy检测到后端服务器处于不健康的状态的时候会把

mysql5.6基于GTID模式之高可用架构搭建-MHA(mha0.56)

一.测试环境部署: mysql1:192.168.110.131   作为master mysql2:192.168.110.132   作为slave mysql3:192.168.110.130   作为slave,同时作为MHA的管理机 虚拟IP:192.168.110.100 二.mysql主从环境搭建和MHA安装 1.mysql主从搭建自行搭建(基于GTID复制,打开log_bin,复制规则默认,复制所有库表),这里不再说明. 2.安装MHA节点软件:rpm -ivh mha4mysq

13、mha高可用架构搭建

各节点架构: 192.168.1.20(mysql5.5) master主库 192.168.1.21(mysql5.5) slave1,目标:主库宕可提升为主库 192.168.1.22(mysql5.5) slave2,目标:主库宕不可提升为主库 192.168.1.25(percona5.6) slave3.mha-manager.binlog server,目标:主库宕不可提升为主库 配置各节点ssh信任,在其中一台执行: # cd ~/.ssh # cat id_rsa.pub > a