双机热备

软件架构杂谈(二) --- Cluster (HA)

心已入冬 提交于 2020-03-26 17:04:19
3 月,跳不动了?>>> 浅谈软件架构 ( 二 ) cnyinlinux 之前发布过的博文,已经对 C/S 和 B/S 作了讨论,本文将讨论的是集群— Cluster 。 1. C/S 2. B/S 3. Cluster (HA) 4. Cloud 5. Distributed 6. APNS-like 7. P2P 集群的技术是近年来计算机应用大规模普及,以及性能要求逐渐提高的形势下提出来的。简而言之,集群就是一批独立计算机联合运作处理某一高要求任务的技术。其建立在网络互连的基础上,核心是节点间任务分配——调度算法。 集群有几个显著特点: A .提高性能 B .降低成本 C .高扩展性 D .高可靠性 集群与分布式的功能还是有区别的,关于分布式架构在别文讨论。 从应用场景和特性分为以下几种,本文将分别介绍各自特点。 1 )双机热备(高可用 HA ) 2 )科学集群 3 )负载均衡 一,双机热备,也被叫做高可用集群 (HA) 。这种方式也称为集群。它指的是具备同样功能且数据共享的多台机器之间构成相互备份的物理结构,每一时刻对外提供业务的机器只有 1 台,其他多台构成它的备份,若业务机出现故障,其他备份机立马接管任务,对外而言丝毫感受不到业务主机的故障。这样维修人员可以立马修复故障机,修好后成为新的备份机。这样就构成了相互备份的小集团,极大提高了实时业务的可靠性。

Haproxy+Keepalived(双机热备)搭建高可用web架构

旧时模样 提交于 2020-03-23 23:05:08
1、目的 搭建web高可用架构,用haproxy作为前段负载均衡分摊后端web服务器压力,Keepalived保证haproxy的存活(双机热备:一台haproxy挂了,自动切换到另外一台haproxy上) 2、环境(系统均为centos7,防火墙与selinux都关闭) 192.168.0.100:web1(端口7000)、web2(端口8000) 192.168.0.101:haproxy1、keepalived(MASTER) 192.168.0.102:haproxy2、keepalived(BACKUP) 虚拟ip(VIP):192.168.0.11(端口8600) 3、搭建web1与web2 在192.168.0.100上安装docker,运行两个容器分别是web1与web2 4、分别在master和backup节点上安装haproxy与keepalived 直接yum安装,过程省略。。。 5、配置haproxy(在master与backup节点配置相同) 编辑配置文件/etc/haproxy/haproxy.cfg 在最后添加后端web主机的访问地址 backend webapp balance roundrobin server web1 192.168.0.101:7000 check inter 2000 fall 3 weight 1 server web2

01-keepalived 双机热备

十年热恋 提交于 2020-03-20 11:02:04
keepalived 双机热备 1. keepalived 双机热备的原理 首先,要知道 keepalived 有三个模块,分别是core、check和vrrp。其中core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析,check模块负责健康检查,vrrp模块是来实现VRRP协议的。 keepalived 工作在网络层,通过VRRP 协议,将信号广播到网络内的所有机器。当网络组中的主机收到广播后,就会检测自己的优先级,如果发现本机的优先级是最高,则将VIP绑定到本机的网卡。 所以,keepalived 软件主要是靠VRRP 协议通信。所以,当keepalived 机器组里的机器不能正常通信后,就会出现脑裂问题——即有两台以上的主机在抢占VIP 。 keepalived 通常用在组建双机热备,当master 出现故障后,备机会获得vip绑定,替代出现故障的机器提供服务。当然热备的主机数量可以不止两台。 2. 搭建双机热备的思路 有两台nginx 提供web服务功能,在nginx 服务器上各安装keepalived 软件,其中一台配置为master,另一台配置成backup。keepalived 的配置文件可以统一完成这些需求。keepalived 还可以自定义检测nginx健康情况的脚本。这个检测nginx的脚本功能是

一步步实现redis+sentinel双机热备

时光总嘲笑我的痴心妄想 提交于 2020-03-01 12:57:29
前言 前些天一直在忙线上环境部署的事情,初步想的是,nginx(keepalive双机热备)+3(tomcat)+2redis( 双机热备 ),但是后来由于阿里云服务器经典网络不提供虚拟IP,无法使用keepalive,nginx双机热备只能暂时先放弃,退而求其次,采用nginx+3tomcat+2redis(双机热备)。nginx+tomcat由于之前配置过,所以重点就落在redis双机热备上,毕竟是线上系统,适当的抗灾能力还是需要的,咱可不能像测试系统那么去玩,否则黑锅就有的背了,毕竟码代码赚点生活费也不容易。 在网上也查了一些资料,redis集群实现大概有以下几种方式: 1.redis-cluster,官方提供的集群搭建方案(过于重量级,比较适合后期数据量较大的时候的使用) 2.redis+keepalive(由于我们使用的阿里云服务器不支持虚拟IP,所以这套方案也就夭折了) 3.redis+zookeeper(需要引入zookeeper,对现有代码变动较大) 4.redis+sentinel(redis自带监控中间件)(代码变动小,配置少,而且能满足双机热备的需求) 基于我们目前的情况以及需求,经过初略对比,我们团队决定选用第四种方案redis+sentinel实现双机热备。 准备工作 1.安装redis-001(主) $ wget http://download

防火墙双机热备笔记

北慕城南 提交于 2020-02-23 03:33:45
五、防火墙双机热备 一台防火墙容易单点故障,所以要备份 【】VGMP(VRRP组管理协议) VGMP状态(Active/Standby) VGMP HELLP(1秒1发,3秒挂) 状态一致性管理: VGMP管理组控制所有的VRRP备份组统一切换 抢占管理: 当原来出现故障的主设备故障恢复时,优先级也会恢复,此时可以重新抢占主状态 【】HRP(华为冗余协议) 用来将主防火墙关键设备和链接状态等数据向备份防火墙上同步 ①自动备份(默认):实时备份配置命令,周期性备份状态信息 ②手工批量备份:需要管理员手动触发,发送配置命令和状态信息 ③快速备份:实时本分状态信息,不备份配置命令 BGMP报文和HRP报文通过心跳线发送 配置VRRP: vrrp vrid 1 virtual-ip 192.168.1.10 24 [active/standby] 配置HRP: hrp int g1/0/1 //指定心跳口 hrp enable //启用HRP备份功能 hrp standby config enable //允许配置备用设备的功能 hrp auto-sync [config | connection-status] //命令和状态信息的自动备份 hrp mirror session enable //会话快速备份 来源: CSDN 作者: Leon_Amos 链接: https://blog

使用Heartbeat实现双机热备

好久不见. 提交于 2020-02-08 08:25:00
使用Heartbeat实现”双机热备”或者称为“双机互备” heartbeat的工作原理:heartbeat最核心的包含两个部分,心跳监測部分和资源接管部分,心跳监測能够通过网络链路和串口进行,并且支持冗余链路,它们之间相互发送报文来告诉对方自己当前的状态,假设在指定的时间内未受到对方发送的报文,那么就觉得对方失效,这时需启动资源接管模块来接管执行在对方主机上的资源或者服务。 heartbeat的两台主机分别为主节点和从节点。主节点在正常情况下占用资源并执行全部的服务,遇到故障时把资源交给从节点并由从节点执行服务 一、网络环境设定 每一个主机分别带有两块以太网卡,当中一块用于网络通信,还有一块用于心跳功能。两个节点的网络设置例如以下: node1: 主机名:srv5.localdomain ( NodeA ) eth0: 192.168.8.5 255.255.255.0 //对外IP地址 eth1: 192.168.9.5 255.255.255.0 //HA心跳使用地址 node2: 主机名:srv6.localdomain ( NodeB ) eth0: 192.168.8.6 255.255.255.0 //对外IP地址 eth1: 192.168.9.6 255.255.255.0 //HA心跳使用地址 vip: 192.168.8.100

Nginx+Keepalived+Lvs实现双机热备

家住魔仙堡 提交于 2020-01-25 13:37:44
双机热备概念 双机热备是应用于服务器的一种解决方案,其构造思想是主机和从机通过TCP/IP网络连接,正常情况下主机处于工作状态,从机处于监视状态,一旦从机发现主机异常,从机将会在很短的时间之内代替主机,完全实现主机的功能。 Keepalived介绍 Keepalived的作用是检测服务器的状态,如果有一台Web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。 Lvs介绍 LVS是一个开源的软件,可以实现传输层四层负载均衡。LVS是Linux Virtual Server的缩写,意思是Linux虚拟服务器。 架构示意图 来源: https://www.cnblogs.com/feiqiangsheng/p/11351262.html

keepalived实现双机热备

£可爱£侵袭症+ 提交于 2020-01-25 13:31:04
  keepalived的作用是检测后端TCP服务的状态,如果有一台提供TCP服务的后端节点死机,或者工作出现故障,keepalived会及时检测到,并将有故障的节点从系统中剔除,当提供TCP服务的节点恢复并且正常提供服务后keepalived会自动将TCP服务的节点加入到集群中。这些工作都是keepalived自动完成,不需要人工干涉,需要人工做的只是修复发生故障的服务器,以下通过示例来演示。    前提:为了测试能顺利进行,需先关闭selinux和firewalld。    测试环境如下: keepalived主机: 10.0.0.20 keepalived备机: 10.0.0.21 http服务器1:   10.0.0.22 http服务器2:   10.0.0.23 VIP :       10.0.0.100 一、两台http服务器的安装    1、 两台机均安装httpd $ sudo yum install -y httpd    2、 添加首页 $ sudo -i #http服务器1设置 # echo “10.0.0.22” >/var/www/html/index.html #http服务器2设置 # echo “10.0.0.23” >/var/www/html/index.html    3、 启动并设置开机启动httpd $ sudo systemctl

keepalived双机热备

两盒软妹~` 提交于 2020-01-17 17:08:34
Keepalive是专门针对LVS设计的一款强大的辅助工具,主要用来提供故障切换和健康检查功能更----判断LVS负载调度器、节点服务器的可用性,及时隔离并替换为新的服务器,当故障主机恢复后将其重新加入群集。 keepalived采用VRRP热备份协议,以软件的方式实现Linux服务器的多机热备功能。VRRP是针对路由器的一种备份解决方案---由多台路由器组成的一个热备组,通过公用的虚拟IP地址对外提供服务;每个热备组内同一时刻只有一台主路由器提供服务,其他路由器处于冗余状态,若当前在线的路由器失效,则其他路由器会自动接替(优先级决定接替顺序)虚拟IP地址,以继续提供服务。 热备组内的每台路由器都可能成为主路由器,虚拟路由器IP地址可以再热备组内的路由器之间进行转移,所以也称为漂移IP地址。使用Keepalived时,漂移地址的实现不需要手动建立虚接口配置文件,而是由Keepalived根据配置文件自动管理。 1、Keepalived的安装与服务控制 1)yum -y install kernel-devel openssl-devel popt-devel ipvsadm 2)编译安装Keepalived [root@localhost ~]# tar zxvf keepalived-1.2.13.tar.gz [root@localhost ~]# cd keepalived

LVS+Keepalive双机热备 <转>

北战南征 提交于 2020-01-02 16:41:52
实验环境 本实验基于CentOS7.3 操作系统,总共5台设备,两台做后端web服务器,两台做lvs和keepalived,一台做客户机,实验以LVS(DR)+Keepalived和LVS(NAT)+Keepalived两种模式来做双机热备份,实验环境拓扑如下图所示: 上图为DR+keepalived模式拓扑,NAT+keepalived模式,在两台lvs调度器上分别新添加了一张网卡,拓扑与上图类似 DR+keepalived模式 (1)配置后端web服务器 Web_Server1 基本配置: yum -y install epel-release //安装Nginx源 yum -y install nginx //安装Nginx systemctl start nginx //启动Nginx服务 systemctl enable nginx //加入开机自启 mv /usr/share/nginx/html/index.html /usr/share/nginx/html/index.html_bak //备份原有默认页面 vi /usr/share/nginx/html/index.html //测试页面 This is Server 111111 //测试页面内容 为了便于实验验证,关闭防火墙和selinux systemctl stop firewalld