精华内容
下载资源
问答
  • 双活容灾

    千次阅读 2014-08-29 14:21:20
    双活容灾即灾备系统中使主生产端数据库备机端数据库是同时在线运行的,处于可读可查询的状态的技术。 双活容灾 - 工作原理 先来说一下当前高可用灾备系统常有的几种工作方式: 第一种是:共享存储(磁盘...

    双活容灾 - 基本概念

    双活容灾即灾备系统中使主生产端数据库和备机端数据库是同时在线运行的,处于可读可查询的状态的技术。

    双活容灾 - 工作原理

    先来说一下当前高可用灾备系统常有的几种工作方式:
    第一种是:共享存储(磁盘阵列)的方式,第二种是:双机双存储,也叫全冗余方式,第三种是:利用数据的同步方式,通常我们来叫mirror方式。
    第一种共享存储(磁盘阵列)的方式用户数据一般会放在磁盘阵列上,当主机宕机后,备机继续从磁盘阵列上取得原有数据,此时
    当主机工作时,备机处于未激活状态,不能访问磁盘阵列,不具备备机查询功能。而后,产生了RAC技术,但使用范围有限。
    第二种双机双存储,也叫全冗余方式,这种方式最大程度上解决了存储单点故障的情况,利用存储间数据同步做冗余,保证某一存储设备
    的计划性停机,不影响整个服务器双机热备系统的工作,但是,针对客户端来说,备机也是属于处于未激活状态,不能访问,同样不具备备机晒询
    的特点。
    第三种利用数据的同步方式,通常我们来叫mirror方式,而数据同步方式有多种:
    .基于文件级的复制功能,当主机数据发生变化,及时将变化过的文件复制到备机,如果备机存在则要覆盖存在文件,我们看到,备机数据及文件必须具有可写权限,无法在打开状态下被覆盖,所以,不具备备机查询功能。
    .基于数据库内部机制,进行有效的获取主机数据增量或通过定阅复制,要求特点,必须备机处于在线状态,否则,将无法实时写入备机数据库中,备机数据库属于在线状态,也具有可读可查询的权限,属于备机查询功能,但是,对于大一点的数据库,SQLServer2000或2005所带的定阅复制会造成服务器数据库运行缓慢,在正规的容灾备份系统中,一般不作为主流系统使用。
    .数据拦截,目前国际国内,比较成熟的双机热备软件通常会使用数据拦截的技术,通常称为镜像软件即Mirror软件,这种技术
    当前已非常成熟,拦截的方式也不尽相同,通过拦截主机增量数据,实时写入到备机,来达到主备机数据一致性,而备机的不同写入方式,可使备机处于离线或在线状态,凡是在应用层直接写入拦截的主机增量数据,备机必将处理离线状态,否则无法写入到备机,而如果备机同样模拟主机向底层发送主机写入数据请求,此时,备机可处理在线状态,可真正意义上达到可读可查询状态,实现真正意义上的备机查询。

    双活容灾 - 容灾分类

      从其对系统的保护程度来分,可以将容灾系统分为:数据容灾和应用容灾  
      数据容灾就是指建立一个异地的数据系统,该系统是本地关键应用数据的一个实时复制。
      应用容灾是在数据容灾的基础上,在异地建立一套完整的与本地生产系统相当的备份应用系统(可以是互为备份),在灾难情况下,远程系统迅速接管业务运行。数据容灾是抗御灾难的保障,而应用容灾则是容灾系统建设的目标。

    双活容灾 - 灾备系统中的应用领域

    1、有据可询的,可验证的灾备,使备份机处于在线状态,可实时验证数据正确性、可用性
    2、分流主机数据库的客户端访问流量压力
    3、彻底取代灾备演练技术和方案,避免灾备演练失败造成主数据库down机或数据丢失风险
    4、缩短,当主机down机,备机切换时间,即缩短RTO指标,真正达到秒级瞬间切换
    5、可作为灾备安全查询机,有效保护内网生产机安全

    双活容灾 - 支持双活容灾的产品

    迪思杰(dsg)

    优备eubase容灾备份软件

     

     

    转载与http://www.baike.com/wiki/%E5%8F%8C%E6%B4%BB%E5%AE%B9%E7%81%BE

    展开全文
  • 详细描述了如何实现SQL SERVER数据库的双活,包括最高等级的数据零丢失容灾,全自动(不需要修改客户代码的)负载均衡读写分离等功能。
  • 详细描述了如何实现SQLSERVER数据库的双活:最高等级的数据零丢失,以及全自动(不需要修改客户端代码)的负载均衡读写分离等核心功能。
  • 第一讲:双活容灾技术方案概述

    千次阅读 2019-12-29 17:32:04
    容灾建设在我国已有十多年的历史了,尤其是2007年发布国标GB/T20988-2007《信息系统灾难恢复规范》后,各行各业对容灾建设都非常重视,各种新的容灾技术产品也得到了快速的发展应用。在我国容灾发展的前十年,...

     

    容灾建设在我国已有十多年的历史了,尤其是2007年发布国标GB/T20988-2007《信息系统灾难恢复规范》后,各行各业对容灾建设都非常重视,各种新的容灾技术和产品也得到了快速的发展和应用。在我国容灾发展的前十年,主要都是基于保护IT系统本身的运行而考虑的,与业务需求的关系并不太紧密,甚至在设计容灾系统时都不需要业务部门的参与。

    但实际上,灾备建设往往需要从存储层、网络层,安全层、计算层、传输层、应用层等6层考虑,每层之间都有着千丝万缕的联系。然而,近年来,存储层的容灾技术越来越受到客户青睐。

    存储是一门既古老有现代的技术,纵观存储计算经历的一体,分离到融合的变迁,完美诠释了从服务器中来到服务器中去的存储服务思想,从DAS到如今的SDS/HCI最大的不同的就是可靠性和有效性的提升。如同宇宙,诞生于宇宙大爆炸前的一个黑洞或高质量天体,随着星系的演变、诞生和消失后,最终还是要被黑洞所吞噬再次回到起点。这两个风马牛不相及的事情都说明过程的重要性

    回到存储,从EMC被收购,HDS被整合到传闻NetApp被收购来看,单纯的存储盒子是玩不动了。数据越来越多的被放在虚拟机、容器和公有/混合云上,未来的存储应该站在云平台上来考虑如何满足Cloudnative应用需求,而不是隔离单独拼存储盒子的性能和容量。应该更加专注数据云上云下流动,数据跨厂商共享,智能运维,服务质量遵从和存储即服务等。未来客户将更加青睐如同PayU和PayG的新商业模式,所以未来云计算的所有属性将被完全赋予存储。

    但是传统存储盒子自从从大型机上独立出来,在整个漫长发展的过程中,确实给我们带来很多回忆和难以忘却故事,今天还是聚焦分析下数据中心双活部署网络相关要求

    建设数据中心双活需要网络系统、存储系统、计算资源、应用系统等多个系统之间紧密合作才能实现。用户业务系统同时在两个数据中心运行,包括前端的全局负载均衡、服务器前端的负载均衡、服务器集群HA技术,后端的数据库系统和存储系统技术,同时为用户提供服务。

    当某个数据中心的应用系统出现问题时,由另一个数据中心的应用来持续提供服务。

    双活数据中心除了存储双活技术外,最需要考虑的技术因素就是数据中心之间网络互联需求,这些因素主要包括。

    · 组网方式:裸光纤直连或DWDM设备;同一城域内通过城域网的核心层进行互联,不同城域间的DC通过骨干网进行互联;DC存储通过密集型光波复用DWDM或裸光纤进行直连。

    · 集群心跳:集群心跳要求二层网络

    · 虚拟机vMotion:在保持业务连续性的前提下,虚拟机可在跨数据中心间实现动态迁移

    · 广播隔离:广播消息需在数据中心间实现隔离

    由于VM需要在两个数据中心间漂移,一般情况要求这两个数据中心都是在一个大二层的物理架构里。

    · 光纤链路直连,弱化距离,与传统网络架构相同;

    · 采用大二层互联,实现大二层网络有多种解决方案。

    · 与网络设备解耦,通过软件定义实现数据流的重定向,其原理就是VPN,底层网络只要IP可达,不管是在同一个VLAN还是不同的VLAN,通过再次封装,实现全新统一的隔离域,同时摆脱了VLAN数量的限制。数据中心互联网络一般采用光纤互联。对于大于25km的光纤链路,需要增加DWDM波分设备,用于提高带宽降低时延。DWDM对于数据传输的时延起着关键的作用。

    数据复制通过存储实现,所以存储层双活网络时延的限制需要格外关注,要保证两地业务数据的同步复制,就目前的技术水平来看,两地双活数据中心最远支持100km。HDS宣传GAD双活实际部署距离支持500km,测试发现距离每增加100km,时延大约增加1ms。实际上双活距离一直都不是问题,主要看网络时延和误码率,以及应用对RTT时延要求和容忍度。如果当距离超过了500km时,其应用能容忍5ms以上的时延,那所有的问题都不是问题。

    当然,数据中心双活除了网络,还要关注其他因素,这些因素我先大致列出来,在后续章节中,将逐一分析解释。

    1. 脑裂风险问题:如何避免脑裂是每个双机系统都要重视的问题,存储双活系统尤其如此,脑裂会带来长时间的存储读写IO HANG住,造成重大影响。

    2. 性能影响问题:因为双活系统在写入数据时,会写两次数据,尤其是通过复制功能写到远端存储的过程,传输链路的性能也会影响整体性能。

    3. 数据一致性风险问题:当写入数据时,在复制过程中,数据传递是在缓存中进行的,这样做的好处是提升了性能,问题是当出现异常宕机事件时,就会导致缓存内的数据不能写入存储中,从而造成数据的不一致。

    4. 双中心间通讯不可控问题:一是链路稳定状况不可控;二是IO延时指标不可控。这些不可控因素非常容易造成灾难性影响,轻则导致数据库读写性能灾难,重则导致数据库节点直接处于僵死状态。另外,链路的不稳定会导致存储链路频繁切换,甚至会导致集群仲裁频繁发生,这对于业务连续性更是一个灾难。

    5. 数据同步逻辑错误问题:存储层面的复制技术基本以存储块为单位进行的数据复制,假设数据块发生了逻辑错误,那么存储是无法检测到的,它会继续将坏的数据块儿同步到灾备端,如果因此数据库发生宕机,那么灾备端的数据库也同样无法正常启动。

    6. 存储网络故障泛滥问题:两个数据中心的SAN网络打通,整合为一张大的SAN网络,可能会因为局部的存储网络故障而波及到整个存储网络,造成重大影响。

    7. 集群仲裁一致性问题:所谓的仲裁一致性问题,是指双中心之间的双活存储集群和数据库集群的仲裁结果是否能保证一致性。当不一致时,对业务系统将造成灾难性影响。

    8. 存储多路径控制的策略问题:倘若采用存储厂商自己的多路径,可能存在兼容性问题,很多双活方案采用系统自带多路径缓和这一问题。

    此外,业务层的等级划(RTO/RPO)分也是灾备方案设计的基础和前提。不同的业务连续性要求不同的容灾技术和等级,在本专题课程中,主要聚焦双活方案(存储层、网络层,安全层、计算层、传输层、应用层等6层双活),其实现的效果:RTO/RPO均为0.

    本号专注技术架构和行业解决方案,构建专业交流平台,分享一线技术实践,洞察行业前沿趋势,内容覆盖云计算、大数据、超融合、软件定义网络、数据保护解决方案,订阅即可收听业界主流双活方案设计关键技术内容。

    <专栏部分精华内容>

    • 剖析SVC Stretch Cluster双活方案
    • 剖析Clustered Metro Cluster双活方案
    • 剖析PowerHA/SVC HyperSwap双活方案
    • 剖析HAM/GAD双活方案方案
    • 剖析VIS/HyperMetro双活方案方案
    • 剖析Vplex双活数据中心存储方案方案
    • 剖析SRDF/Mtreo和MetroSync双活方案
    • 剖析HPE、Dell和Fujitsu双活方案

     

    展开全文
  • 在6月上旬举行的云栖大会上海峰会上,阿里云发布了国内首个混合云...采用业界领先的数据双向实时复制技术,HDR-BD可以实现Hadoop集群双活和准0 RPO容灾,为大数据灾备制定了全新的标准。 常见Hadoop灾备技术的挑...

    在6月上旬举行的云栖大会上海峰会上,阿里云发布了国内首个混合云大数据集群双活容灾产品-混合云容灾服务下的大数据容灾服务(HDR for Big Data,简称 HDR-BD),并已经在7月份开始邀测。采用业界领先的数据双向实时复制技术,HDR-BD可以实现Hadoop集群双活和准0 RPO容灾,为大数据灾备制定了全新的标准。

    常见Hadoop灾备技术的挑战

    当前比较常见的Hadoop集群灾备方式是用distcp将数据定期复制到一个备用集群做容灾用途,或者将数据复制到只读集群、二级存储作为备份。这些方案都有明显弱点:

    1. RPO大:distcp 的原理决定了期数据复制不能是实时的,用户必须承受小时到天级的RPO
    2. RTO长:主站宕机后,将只读集群或二级存储中的数据恢复出来会占用大量时间,而拉起standby集群重新启动业务依然是一个耗时的操作
    3. 资源浪费:灾备集群平时处于备用状态,不能用于运行业务
      以上这些问题长期困扰着Hadoop集群的用户和管理员们,大数据集群的灾备领域亟需一种全新的技术来彻底解决目前的困境。HDR- BD此次带来的双向实时复制技术可以在两个Hadoop集群之间建立双活架构,RPO接近0;RTO因为数据随时可读写而极大压缩;双活架构可以让两个集群运行不同的应用,避免资源浪费。这些特性将Hadoop灾备标准提高到了一个全新的高度,为Hadoop用户带来了极高的价值。

    HDR-BD的使用场景

    image

    在自建数据中心和阿里云之间部署HDR-BD服务器配对,用户就可以将自建Hadoop集群与阿里云无缝集成,充分利用阿里云EMR和OSS建立极为高效的Hadoop灾备、迁移系统。HDR-BD可以满足的核心场景包括:

    1. 近0 RPO Hadoop云容灾
      将自建Hadoop集群的数据实时复制到阿里云EMR集群,实现接近0 RPO的Hadoop集群容灾。
    2. Hadoop集群与阿里云EMR集群双活
      在自建Hadoop集群和阿里云EMR集群之间建立数据双向复制。两个集群共享一份数据,但是运行不同的应用,实现集群双活,达到资源的最大化利用。
    3. Hadoop数据实时备份,迁移上云
      云上HDR-BD服务器可以直连至阿里云对象存储OSS。在无需EMR集群的情况下,HDR for Big Data可以将Hadoop数据实时复制到阿里云OSS,实现接近0 RPO的云备份;同时这个机制也可以作为Hadoop数据迁移上云的理想方案。利用这个机制做Hadoop集群迁移上云,在迁移过程中无需启动EMR集群;同时迁移过程无需复杂定制化脚本开发或者复杂的业务停机规划。

    HDR-BD的优势

    1. 极低RPO:数据的实时复制决定了每一个写操作都会实时复制到配对集群,RPO几乎为0
    2. 极高资源利用率:数据双向复制确保两个集群共享一份数据但运行不同应用,不会出现一个集群必须处于只读或备用状态的问题,计算资源可以充分利用
    3. 运维复杂度极低: HDR-BD实现了数据的全自动实时双向复制,无需特定复制时间窗口,也无需担心对业务的影响

    阿里云此次推出的Hadoop双活容灾方案HDR-BD引入了业界领先的大数据双向复制技术,结合强大的公共云基础设施,可以满足极高要求的大数据灾备场景,为企业Hadoop集群数据保护提供了全新的选择。该服务现已开始邀测,您可以发邮件至hdr-service@alibabacloud.com , 列明您的姓名,公司名称,联系方式,大数据灾备要求,Hadoop集群版本和数据量,阿里云将在审核后联系您安排方案评估和测试。

    展开全文
  • 随着云计算互联网技术的发展,越来越多的企业接受将自身的IT系统放在公有云上,以节省企业的成本提升运维效率。目前主流的云计算提供商有亚马逊云、微软云、阿里云、腾讯云、华为云、金山云等等。对于中大型企业...

    摘要

    随着云计算和互联网技术的发展,越来越多的企业接受将自身的IT系统放在公有云上,以节省企业的成本和提升运维效率。目前主流的云计算提供商有亚马逊云、微软云、阿里云、腾讯云、华为云、金山云等等。对于中大型企业,考虑到成本、数据安全、云产品质量和售后服务等多因素考虑,通常会选择将业务系统分散在不同的云上,同时利用多个云厂商的各自优势构建混合云的灾备系统。

    本文选择华为云的云主机、云解析、数据库备份和迁移等方案,与其他云上已部署的业务系统,组建一个混合云的灾备系统。实验证明,本文所探讨的方法,能够满足大部分网站的容灾和性能需求。

    本文所配置的主站点(阿里云)和备站点(华为云),仅作为技术探讨,不代表推荐或攻击哪个云平台。云平台的选型是综合品牌、商务、技术、服务、安全、生态等等多因素组合的结果,本文不做探讨。

    关键字容灾、备份、云主机ECS、镜像、负载均衡、弹性伸缩、域名解析DNS、虚拟私有网络VPN、专用网络VPC、mysql数据库、数据库迁移、wordpress博客

     

    目录

    摘要

    第一章 绪论

    1.1 研究背景

    1.2 研究现状

    1.3 研究意义

    第二章 需求分析

    2.1 数据备份和恢复

    2.2 多个云平台之间的业务负载均衡

    2.3 云数据中心内部弹性伸缩服务云服务器

    2.4 多个云平台之间网络互通

    第三章 相关技术

    3.1 云主机ECS介绍

    3.2 虚拟机局域网VPC介绍

    3.3 云数据库MySQL介绍

    3.4数据库复制服务DRS介绍

    3.5 专线VPN介绍

    3.6 云解析DNS介绍

    3.7 负载均衡介绍

    3.8 弹性伸缩介绍

    第四章 系统设计

    4.1 总体设计

    4.2 组网图

    第五章 系统实现

    5.1 前置准备

    5.2 相关工具

    5.3 阿里云发布主站点

    5.4 阿里云与华为云之间搭建VPN专属通道

    5.5 华为云备站点发布镜像网站

    5.6 阿里云主站点数据库备份到华为云备站点

    5.7 设置网站为在多云平台的双活集群状态

    5.8 配置华为云随流量激增进行自动扩容主机的低成本框架

    第1阶段:配置负载均衡

    第2阶段:配置集群可自动增加和较少主机

    本章小结:

    总结与展望



    第一章 绪论

    1.1 研究背景

    企业数据的安全性和实效性方面要求越来越高,可是不可避免的会遇到系统崩溃,员工恶意删除资料,黑客攻击,办公大楼漏水停电,设备损坏等等问题。当这些问题出现后经常会对企业的正常运作带来很大的影响,甚至会使整个企业的运作完全停下来,通过备份,容灾和高可用性等等办法可以使公司避免以上的这些问题。

    备份系统就是通过硬盘,磁带,公有云平台等媒介将企业整个运行系统或文件等存储到存储媒介上,以备不时之需。容灾系统是指建立一个异地的数据系统,为了保护数据安全和提高数据的持续可用性,企业要从RAID保护、冗余结构、数据备份、故障预警等多方面考虑,将数据库或整个系统的必要文件复制到存储设备的过程。

    1.2 研究现状

    国际标准SHARE 78将容灾系统定义成七个层次,这七个层次对应的容灾方案在功能、适用范围等方面都有所不同,所以用户选型应分清层次。 
    面对各种可能的灾难,企业需要方便、灵活地同步基于异构环境下驻留在不同数据库中的数据,这就需要建设一个对各种情况都可以抵御或者化解的本地和异地的容灾系统。但现在,一些计算机信息系统对于容灾机制的考虑还有欠缺,不少计算机信息系统只是做了简单的本地磁盘的不同分区或者是相同系统上不同磁盘的数据备份,只是严格意义上的数据备份系统,称不上容灾系统,例如数据库系统中常用的镜像备份,也就是文件拷贝方式;基于操作系统文件系统复制的方式:以及基于高端联机存储设备(磁盘阵列)之间的数据写操作同步的方式等。在一般灾难时,可以在一定意义上保证数据的完整性,但很难保证用户数据的可靠性和安全性,更不用说能向用户提供透明的不间断服务了。 
    真正的容灾必须满足三个要素:先是系统中的部件、数据都具有冗余性,即一个系统发生故障,另一个系统能够保持数据传送的顺畅;其次,具有长距离性,因为灾害总是在一定范围内发生,因而充分长的距离才能够保证数据不会被一个灾害全部破坏;第三,容灾系统要追求全方位的数据复制,也称为容灾的"3R"(Redundance、Remote、Replication)。 
    而国际标准SHARE 78 对容灾系统的定义有七个层次:从最简单的仅在本地进行磁带备份,到将备份的磁带存储在异地,再到建立应用系统实时切换的异地备份系统,恢复时间也可以从几天到小时级到分钟级、秒级或零数据丢失等。目前针对这七个层次,都有相应的容灾方案,所以,用户在选择容灾方案时应重点区分它们各自的特点和适用范围,结合自己对容灾系统的要求判断选择哪个层次的方案。
     
    0级:无异地备份
    0等级容灾方案数据仅在本地进行备份,没有在异地备份数据,未制定灾难恢复计划。这种方式是成本最低的灾难恢复解决方案,但不具备真正灾难恢复能力。 
    在这种容灾方案中,最常用的是备份管理软件加上磁带机,可以是手工加载磁带机或自动加载磁带机。它是所有容灾方案的基础,从个人用户到企业级用户都广泛采用了这种方案。其特点是用户投资较少,技术实现简单。缺点是一旦本地发生毁灭性灾难,将丢失全部的本地备份数据,业务无法恢复。
     
    1级:实现异地备份
    第1级容灾方案是将关键数据备份到本地磁带介质上,然后送往异地保存,但异地没有可用的备份中心、备份数据处理系统和备份网络通信系统,未制定灾难恢复计划。灾难发生后,使用新的主机,利用异地数据备份介质(磁带)将数据恢复起来。
    这种方案成本较低,运用本地备份管理软件,可以在本地发生毁灭性灾难后,恢复从异地运送过来的备份数据到本地,进行业务恢复。但难以管理,即很难知道什么数据在什么地方,恢复时间长短依赖于何时硬件平台能够被提供和准备好。以前被许多进行关键业务生产的大企业所广泛采用,作为异地容灾的手段。目前,这一等级方案在许多中小网站和中小企业用户中采用较多。对于要求快速进行业务恢复和海量数据恢复的用户,这种方案是不能够被接受的。
    2级:热备份站点备份
    第2级容灾方案是将关键数据进行备份并存放到异地,制定有相应灾难恢复计划,具有热备份能力的站点灾难恢复。一旦发生灾难,利用热备份主机系统将数据恢复。它与第1级容灾方案的区别在于异地有一个热备份站点,该站点有主机系统,平时利用异地的备份管理软件将运送到异地的数据备份介质(磁带)上的数据备份到主机系统。当灾难发生时可以快速接管应用,恢复生产。 
    由于有了热备中心,用户投资会增加,相应的管理人员要增加。技术实现简单,利用异地的热备份系统,可以在本地发生毁灭性灾难后,快速进行业务恢复。但这种容灾方案由于备份介质是采用交通运输方式送往异地,异地热备中心保存的数据是上一次备份的数据,可能会有几天甚至几周的数据丢失。这对于关键数据的容灾是不能容忍的。
     
    3级:在线数据恢复
    第3级容灾方案是通过网络将关键数据进行备份并存放至异地,制定有相应灾难恢复计划,有备份中心,并配备部分数据处理系统及网络通信系统。该等级方案特点是用电子数据传输取代交通工具传输备份数据,从而提高了灾难恢复的速度。利用异地的备份管理软件将通过网络传送到异地的数据备份到主机系统。一旦灾难发生,需要的关键数据通过网络可迅速恢复,通过网络切换,关键应用恢复时间可降低到一天或小时级。这一等级方案由于备份站点要保持持续运行,对网络的要求较高,因此成本相应有所增加。


    4级:定时数据备份
    第4级容灾方案是在第3级容灾方案的基础上,利用备份管理软件自动通过通信网络将部分关键数据定时备份至异地,并制定相应的灾难恢复计划。一旦灾难发生,利用备份中心已有资源及异地备份数据恢复关键业务系统运行。
    这一等级方案特点是备份数据是采用自动化的备份管理软件备份到异地,异地热备中心保存的数据是定时备份的数据,根据备份策略的不同,数据的丢失与恢复时间达到天或小时级。由于对备份管理软件设备和网络设备的要求较高,因此投入成本也会增加。但由于该级别备份的特点,业务恢复时间和数据的丢失量还不能满足关键行业对关键数据容灾的要求。

    5级:实时数据备份
    第5级容灾方案在前面几个级别的基础上使用了硬件的镜像技术和软件的数据复制技术,也就是说,可以实现在应用站点与备份站点的数据都被更新。数据在两个站点之间相互镜像,由远程异步提交来同步,因为关键应用使用了双重在线存储,所以在灾难发生时,仅仅很小部分的数据被丢失,恢复的时间被降低到了分钟级或秒级。由于对存储系统和数据复制软件的要求较高,所需成本也大大增加。
     
    这一等级的方案由于既能保证不影响当前交易的进行,又能实时复制交易产生的数据到异地,所以这一层次的方案是目前应用最广泛的一类,正因为如此,许多厂商都有基于自己产品的容灾解决方案。如存储厂商EMC等推出的基于智能存储服务器的数据远程拷贝;系统复制软件提供商VERITAS等提供的基于系统软件的数据远程复制;数据库厂商Oracle和Sybase提供的数据库复制方案等。但这些方案有一个不足之处就是异地的备份数据是处于备用(Standby)备份状态而不是实时可用的数据,这样灾难发生后需要一定时间来进行业务恢复。更为理想的应该是备份站点不仅仅是一个分离的备份系统,而且还处于活动状态,能够提供生产应用服务,所以可以提供快速的业务接管,而备份数据则可以双向传输,数据的丢失与恢复时间达到分钟甚至秒级。据了解,目前Goldengate公司的全局复制软件能够提供这一功能。
     
    6级:零数据丢失
    第6级容灾方案是灾难恢复中最昂贵的方式,也是速度最快的恢复方式,它是灾难恢复的最高级别,利用专用的存储网络将关键数据同步镜像至备份中心,数据不仅在本地进行确认,而且需要在异地(备份)进行确认。因为,数据是镜像地写到两个站点,所以灾难发生时异地容灾系统保留了全部的数据,实现零数据丢失。 
    这一方案在本地和远程的所有数据被更新的同时,利用了双重在线存储和完全的网络切换能力,不仅保证数据的完全一致性,而且存储和网络等环境具备了应用的自动切换能力。一旦发生灾难,备份站点不仅有全部的数据,而且应用可以自动接管,实现零数据丢失的备份。通常在这两个系统中的光纤设备连接中还提供冗余通道,以备工作通道出现故障时及时接替工作,当然由于对存储系统和存储系统专用网络的要求很高,用户的投资巨大。采取这种容灾方式的用户主要是资金实力较为雄厚的大型企业和电信级企业。但在实际应用过程中,由于完全同步的方式对生产系统的运行效率会产生很大影响,所以适用于生产交易较少或非实时交易的关键数据系统,目前采用该级别容灾方案的用户还很少。

    1.3 研究意义

    本文结合工作和兴趣需要,通过搭建一个基于混合云的容灾备份的博客系统,进行研究在华为云的基础上,有哪些手段可以实现上述7种容灾等级的效果。本文仅对技术进行探讨,不涉及因部署容灾系统而产生的额外成本分析。

    常见的容灾和备份的架构如下所示:

    第二章 需求分析

    整体需求包括:主站点的数据可通过同步或异步方式备份到备站带点、多云平台之间支持业务层负载均衡、云数据中心内部弹性伸缩云服务器、多数据中心之间通过互联网/专线方式连接。

    2.1 数据备份和恢复

    1. 多个云平台之间,可通过云主机镜像导出导入功能,降低备份站点的部署工作量。
    2. 多个云平台之间,可通过手工或云服务方式,实现数据库的相互备份。
    3. 当主数据库宕机后,支持主站点的业务系统访问备数据库,来恢复业务。
    4. 当主数据库宕机后,支持用备份数据库的数据恢复到原数据库。

    2.2 多个云平台之间的业务负载均衡

    1. 支持将对域名的访问流量分发到多个云平台上。
    2. 支持可设定权重方式来控制不同云上的访问流量比例。
    3. 云平台内的服务器,可根据访问量自动增加服务器和释放服务器。

    2.3 云数据中心内部弹性伸缩服务云服务器

    1. 可设置云服务器的监控指标,包括CPU利用率、内存利用率、带宽、响应时间等。
    2. 当业务压力处于高水位时,自动增加云主机。
    3. 当业务压力处于低水位时,自动释放云主机。

    2.4 多个云平台之间网络互通

    1. 支持通过互联网将多云之间互联。
    2. 支持通过VPN专线将多云之间互联。

    第三章 相关技术

    3.1 云主机ECS介绍

    云服务器Elastic Compute Service(ECS)是华为云提供的一种基础云计算服务。使用云服务器ECS就像使用水、电、煤气等资源一样便捷、高效。无需提前采购硬件设备,而是根据业务需要,随时创建所需数量的云服务器ECS实例。在使用过程中,随着业务的扩展,可以随时扩容磁盘、增加带宽。如果不再需要云服务器,也能随时释放资源,节省费用。

    下图列出了ECS涉及的所有资源,包括实例规格、块存储、镜像、快照、带宽和安全组。可以通过 云服务器管理控制台 或者 华为云ECS资源。

    3.2 虚拟机局域网VPC介绍

    专有网络VPC(Virtual Private Cloud)是基于各家云平台构建的一个隔离的网络环境,专有网络之间逻辑上彻底隔离。

    专有网络是独有的云上私有网络。以完全掌控自己的专有网络,例如选择IP地址范围、配置路由表和网关等,可以在VPC中使用华为云资源如ECS、RDS、ELB等。以将专有网络连接到其他专有网络或本地网络,形成一个按需定制的网络环境,实现应用的平滑迁移上云和对数据中心的扩展。

    3.3 云数据库MySQL介绍

    关系型数据库(Relational Database Service,简称RDS)是一种基于云计算平台的即开即用、稳定可靠、弹性伸缩、便捷管理的在线关系型数据库服务。关系型数据库服务具有完善的性能监控体系和多重安全防护措施,并提供了专业的数据库管理平台, 让用户能够在云中轻松的进行设置和扩展关系型数据库。通过华为云关系型数据库服务的管理控制台,用户几乎可以执行所有必需任务而无需编程,简化运营流程,减少日常运维工作量,从而专注于开发应用和业务发展。

    本文研究的备份站点选择华为云,华为云RDS支持种数据库引擎:MySQL、SQL Server、PostgreSQL。

    3.4数据库复制服务DRS介绍

    数据复制服务(Data Replication Service,简称DRS)是一种易用、稳定、高效、用于数据库在线迁移和数据库实时同步的云服务。DRS围绕云数据库,降低了数据库之间数据流通的复杂性,有效地帮助您减少数据传输的成本。您可以通过DRS快速地解决多种场景下数据库之间的数据流通问题,以满足数据传输业务需求。

    DRS支持的关键场景包括:

    (1)、云下数据库迁移上云

    在云上创建数据库后,经常面临云下数据库迁移上云的场景。通过DRS,能够简单完成云上数据库迁移上云。在迁移过程中,DRS能够最大限度地缩短业务系统中断时间,降低对业务影响。

    1. 、跨云平台数据库迁移

    DRS支持将其他云数据库的数据在线迁移至关系型数据库(Relational Database Service,简称RDS)或者文档数据库服务(Document Database Service, 简称DDS)。

    (3)、VPC网络内数据库迁移

    通过DRS,能够将自行搭建在弹性云服务器(Elastic Cloud Server,简称ECS)上的数据库,在线迁移至RDS或则DDS。

    3.5 专线VPN介绍

    VPN网关是一款基于Internet,通过加密通道将企业数据中心、企业办公网络、或Internet终端和云平台专有网络(VPC)安全可靠连接起来的服务。华为VPN网关提供IPsec-VPN连接。

    VPN网关有以下优势:
    安全:使用IKE和IPsec协议对传输数据进行加密,保证数据安全可靠。
    高可用:采用双机热备架构,故障时秒级切换,保证会话不中断,业务无感知。
    成本低:基于Internet建立加密通道,比建立专线更便宜,快速构建混合云。
    配置简单:开通即用,配置实时生效,快速完成部署。

    目前主流的云平台均提供硬件VPN设备,可靠性和性能上得到保障。
    如果是个人用户或小微企业,亦可考虑使用云市场上经过华为认证的软件VPN来实现专线功能。例如华为云市场的严选商品VPN:Array SSL VPN免费版 或  奕锐云安全接入VPN系统  

    3.6 云解析DNS介绍

    云解析服务(Domain Name Service,DNS)提供高可用、高扩展的权威DNS服务和DNS管理服务,把人们常用的域名或应用资源转换成用于计算机连接的IP地址,从而将最终用户路由到相应的应用资源上。

    本文通过阿里云解析实现网站流量的负载均衡,可灵活调整网站的访问流量按不同比例分发到多个云平台。

    3.7 负载均衡介绍

    弹性负载均衡( Elastic Load Balance)将访问流量自动分发到多台云服务器,扩展应用系统对外的服务能力,实现更高水平的应用容错。

    针对大型门户网站访问量高的特点,通过弹性负载均衡将用户的访问流量均匀的分发到多个后端云服务器上,确保业务快速平稳的运行。弹性负载均衡可将流量跨可用区进行分发,建立实时的同城容灾机制,满足银行贸易等企业对系统的高可用性要求。电商业务呈现出较强的潮汐效应。ELB通过和弹性伸缩等服务的无缝集成,自动创建后端云服务器,将流量自动分发到新的云服务器,缓解了促销高峰时期的系统压力。

    3.8 弹性伸缩介绍

    弹性伸缩时根据用户的业务需求和调度策略,自动调整云主机数量的管理服务,来满足业务需求和成本之间的平衡。其特点包括:

    1. 随需而变:“恰到好处”分配主机数量,无需担心需求预测准确性,无需担心业务突增变化。
    2. 多种调度策略:定时、动态监控主机CPU等资源、自定义等。

    相关术语:

    1. 伸缩配置:用于控制每次扩容选择什么规格(8核16G还是4核8G)的主机,如什么操作系统、IP、带宽等信息。
    2. 伸缩策略(伸缩规则):用于控制每次伸缩过程增加或减少多少台主机。

    第四章 系统设计

    4.1 总体设计

    1. 选择在阿里云模拟企业第一次部署博客网站为主站点,业务为ECS主机部署wordpress博客系统,并访问阿里云RDS for mysql数据库。
    2. 选择华为云作为备站点,通过导出阿里云的ECS镜像,并使用该镜像在华为云上部署业务系统,通过华为云DRS系统将将阿里云上的MySQL数据库数据全量备份至华为云。
    3. 分别模拟阿里云上的博客系统和数据库故障,切换华为云为主站点,恢复业务。
    4. 华为云作为备站点,默认使用1台云主机,成本最低。根据服务器压力,自动弹性增加或减少主机数量。
    5. 通过云解析DNS调整业务在阿里云和华为云上的分流比例。
    6. 阿里云和华为之间通过VPN专线构建安全通道。

    4.2 组网图

    第五章 系统实现

    5.1 前置准备

    1. 【可选项】域名准备,如新增域名,建议提前预留20-30天时间完成备案。
    2. 【必选项】阿里云账号,完成实名认证,预充值200元。
    3. 【必选项】华为云账号,完成实名认证,预充值200元。

    5.2 相关工具

    注意:某些单位由于信息安全管控,不能在工作电脑上安装如下工具,解决办法:
    方法1:使用私人电脑进行操作。【推荐】
    方法2:在阿里云或华为云上购买1台4核8G的windows 64位主机,带宽5M。

    本实验相关工具:

    工具名

    用途

    下载地址

    Xshell

    登陆linux服务器的命令行工具

    下载地址

    Xftp

    将测试脚本从个人电脑上传至云主机中

    下载地址

    Beyond Compare

    文本对比工具,用于对比数据库备份后,数据内容是否一致

    下载地址

    网页压测工具

    Apache ab

    下载地址

    5.3 阿里云发布主站点

    关键思路:

    1. 阿里云购买云主机1台,centos6.8,安装apache、php和wordpress。
    2. 阿里云购买mysql数据库,供wordpress网站系统使用。

    步骤1:购买阿里云主机,用于部署主站点

    登陆www.aliyun.com 购买1台1C1G云主机,入门级共享型,操作系统为centos 6.8,公网IP 1个,按流量计费带宽5M,按量付费,登陆凭证选择“自定义密码”。

    步骤2:安装Apache HTTP服务、PHP语言环境、wordpress博客网站

    使用5.2节相关工具中xshell登陆云主机,根据如下命令,分别部署Apache HTTP服务、安装PHP语言环境、安装wordpress博客网站。
    1、xshell登陆云主机
    ssh root@云主机公网IP地址

    2、安装Apache HTTP服务

    yum -y install httpd
    yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql
    service httpd start
    chkconfig httpd on

    在浏览器输入云主机公网IP,确认能看到apache的测试页面,表明Apache安装成功了。如图所示

    3、安装PHP语言环境

    yum -y install php php-mysql
    yum -y install gd php-gd gd-devel php-xml php-common php-mbstring php-ldap php-pear php-xmlrpc php-imap
    service httpd restart
    echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php

    浏览器访问 云主机公网ip/phpinfo.php 能看到php页面说明安装php环境成功。

    4、安装wordpress

    yum install -y unzip
    wget -c https://cn.wordpress.org/wordpress-4.9.1-zh_CN.tar.gz
    tar xzf wordpress-4.9.1-zh_CN.tar.gz -C /var/www/html
    chmod -R 777 /var/www/html

    浏览器访问 云主机公网ip/wordpress/ 能看到wordpress页面,说明wordpress安装成功。

    步骤3:购买阿里云RDS for mysql数据库实例

    1、在阿里云上购买云数据库mysql,1核1G单机基础版,按量付费。 

    2、创建数据库,名为myblog,用于存放wordpress的数据。

    3、添加数据库的账户。(即通过哪些账号能访问该数据库,默认没有可用账户)
    在阿里云RDS的“控制台”-“账号管理”-“创建账号”,新增一个adminuser账号,设置为普通账号并授权访问数据库“myblog”,权限为“读写”。后续wordpress同该账号访问数据库。

    4、设置数据库的白名单。(即哪些主机能访问该数据库,默认所有主机不能访问该数据库)
    在阿里云RDS的“控制台”-“基本信息”-“内网地址”-“设置白名单”,删除默认的禁止所有的IP“127.0.0.1”,新增云主机内网IP地址。添加白名单后,自动生成数据库内网地址。

    步骤4:配置博客网站wordpress,指定阿里云RDS for mysql。

    1、在浏览器输入 云主机公网ip/wordpress/,点击屏幕下方页面下方的“现在就开始”。

    2、输入上述所创建数据库的信息

    3、输入博客网页的介绍信息和登陆信息。(注意:这里的账号/密码是指登陆博客的,不是登陆数据库的)

    4、安装wordpress完成,登陆显示欢迎页面。

    步骤5:在wordpress上新增一片文章,检查数据库新写入数据成功。

    1、在浏览器输入云主机公网ip/wordpress/,进入管理后台,“设置”-“固定链接”-“常用设置”,选择“朴素”类型。避免网页地址错误导致博客显示失败。
    2、新增一篇文章“两个和尚挑水喝”,配图。打开该文章后,增加一条评论“挑完水去劈材烧火”。

    3、使用阿里云DMS(数据管理系统)系统查看数据库中已成功增加评论信息“挑完水去劈材烧火”。在阿里云RDS管理控制台,“登陆数据库”。

    在对应数据库“myblog”下的数据表“wp_comments”中看到新增的评论“挑完水去劈材烧火”。

    至此,在阿里云上模拟的博客系统主站点搭建完成,数据库可正常读写。

     

    5.4 阿里云与华为云之间搭建VPN专属通道

    关键思路:阿里云和华为云分别购买VPN,将两端不同网段子网组成一个局域网。

    前置条件:阿里云和华为云的虚拟机私有网络(VPC)中的服务器,其内网地址不在同一个网段内。在本实验中,阿里云内网网段为:172.31.0.0/16   华为云内网网段为:192.168.10.0/24,满足组建VPN网络的条件。参考链接:阿里云搭建VPN网关

    步骤1:确认阿里云和华为云的子网是否同一个网段。

    1、阿里云子网查看方法:专有网络VPC控制台-“专有网络”。本次实验阿里云网段为172.31.0.0/16.

    2、华为云子网查看方法:网络控制台-“虚拟私有云”-“VPC网段”。本次实验华为云网段为192.168.10.0/24。

    步骤2:在阿里云购买VPN网关。

    1、购买vpn网关,选择ipsec协议,带宽5M,最低购买时长1个月。

    步骤3:在华为云购买vpn网关

    1、购买vpn网关,选择ipsec协议,带宽5M,按量付费。

    2、在华为云上购买VPN连接
    华为云控制台-“服务列表”-“VPN”-“虚拟专有网络”-“VPN连接”-“购买VPN连接”。

    购买后会自动生成华为云VPN连接的公网地址。

    步骤4:配置阿里云和华为云之间的专线。

    1、在阿里云上购买用户网关,此处IP地址填写华为云VPN的公网IP。注意:“用户网关”指的是对端的网关,可以是用户机房,也可以是华为云、腾讯云等。

    2、在阿里云上购买IPSec连接。阿里云控制台-“VPN”-“IPSec连接”-“创建IPSec连接”。

    3、调整两端VPN配置,保证协商参数一致。(阿里云和华为云的默认值不一致)
    阿里云设置方法:VPN控制台-“IPSec连接”-“编辑”-“高级设置”。
    华为云设置方法:网络控制台-“虚拟专用网络”-“VPN连接”。

    4、配置阿里云的路由。即阿里云内网服务器想要通过VPN网络访问华为云上的服务器,需要增加一条路由表记录,目标网段是华为云内网地址时,需要通过阿里云的VPN网关进行跳转。  

    设置方法:专有网络控制台-“路由表”,点击打开默认的路由表,“添加路由条目”。目标网段为华为云内网网段,下一跳类型为VPN网关。

    5、华为云路由在配置VPN时,自动开通,无需手工配置。

    步骤5:阿里云与华为云之间内网ping测试。

    1、通过ssh命令分别登陆阿里云和华为云的云主机公网IP,互相ping对端的内网IP,成功。
    阿里云内网IP 172.31.193.70 ping 华为云内网IP 192.168.10.113 成功。

    至此,阿里云与华为云之间的VPN专属通道设置完成。

     

    5.5 华为云备站点发布镜像网站

    关键思路:

    1. 将阿里云主机镜像导出,导入到华为云镜像,拉起云主机,完成网站的复制。
    2. 华为云上的网站通过VPN内网访问阿里云的数据库,网站访问正常。

    组网图如下:

    步骤1:将阿里云的主站点服务器导出镜像。

    1、在阿里云上提交工单,“因公司测试需要,申请开通ECS镜像导出到本地的权限”。等待1-2天工作日,阿里云开通“镜像导出功能”后,会有邮件和短信通知。
    2、创建镜像:打开阿里云ECS控制台,“实例列表”-“更多”-“镜像”-“创建自定义镜像”。

    3、导出镜像:在ECS控制台中,“快照与镜像”-“镜像”可以看到刚才创建的镜像文件,点击“导出镜像”。导出镜像需要先开通阿里云OSS对象存储,设置公共读写权限,根据提示开通即可。

    在ECS控制台,“任务管理”中可查看到镜像导出的进度。

    4、下载镜像到本地。导出完成后,在对象存储OSS控制台可下载镜像到本地。
    注意:ECS的系统盘镜像文件默认是40GB,家庭或办公室下载速度较慢,建议在华为云备站点服务器所在分区,临时新建一个按需使用的云主机,计算型4C8G,系统盘100G,带宽300Mb,按量付费,window系统。然后在该主机上下载阿里云镜像和上传到华为云,镜像上传完成后再删除该临时主机。预计下载时间为30分钟。

    5、本地镜像上传到华为云。
    在华为云上开通对象存储OBS,创建1个桶,存储类型为“标准”,公共读写权限,按量付费。将已下载的阿里云镜像上传到OBS的桶里面。上传完成在OBS的控制台看到阿里云的镜像。

    步骤2:阿里云镜像转换成华为云镜像,开通云主机,作为备站点。

    1、阿里云镜像转换成华为云镜像。   进入华为云镜像服务IMS的控制台,“创建私有镜像”-“系统盘镜像”-“镜像文件”,在对象存储中选中从阿里云主机的镜像。

    2、导入过程大约30分钟(包含镜像上传和格式转换),然后使用此镜像“申请服务器”,在服务器购买页面,注意选择和华为云mysql所在的节点/分区一致。

    3、为服务器的安全组的入口规则添加网站默认的80端口。
    添加方法:网络控制台-“安全组”-“安全组规则”-“入口”-“添加规则”。

    4、使用华为云服务器的公网地址访问系统,成功,说明阿里云的网站系统成功复制到华为云上。

    5、分别登陆华为云和阿里云的主机,查看wordpress网站配置文件,确认通过内网访问的都是阿里云数据库的内网地址。

    至此通过阿里云镜像在华为云上开通云主机,备站点部署起业务成功。

     

    5.6 阿里云主站点数据库备份到华为云备站点

    关键思路:

    1. 通过华为云数据复制服务DRS,将阿里云的mysql数据库全量+变化部分增量实时复制到华为云mysql上。
    2. 华为云的wordpress网站分别访问阿里云和华为云的mysql数据库,均能正常提供网站服务。

    组网图如下:

    步骤1:将阿里云数据库复制到华为云数据库。

    1、购买华为云数据库 RDS for mysql。与阿里云mysql相同的5.7版本,按需模式,选择前面vpn所在的VPC内。

    2、将华为云VPN所属VPC的子网192.1168.10.0/24 添加到阿里云mysq的白名单中,这样就允许华为云“数据复制服务”实例能访问阿里云mysql数据库。

    3、创建华为云数据复制服务DRS,在华为云控制台-“服务列表”-“数据复制服务DRS”-“在线迁移管理”-“创建迁移任务”,在创建页面选择网络类型为“VPN、专线网络”,目标数据库实例为华为云上的mysql。

    4、设置源数据库(阿里云mysql)的参数和华为云mysql数据库参数,使用内网地址和最高权限账户。

    5、下一步,选择迁移模式为“全量+增量”,迁移对象为“全部迁移”。

    6、下一步,预检查出现阿里云和华为云的mysql参数SQL_MODE不一致,需要手工设置与阿里云相同的参数。

    7、在mysql数据库控制台,“实例管理”-打开实例-“参数修改”-搜索“sql_mode”-删除参数“NO_ATUO_CREATE_USER”和“STRICT_ALL_TABKES”。

    8、修改完参数后,重启数据库。在mysql实例列表-“更多”-“重启实例”

    9、在数据服务DRS重新启动预检查,预检查出现阿里云和华为云的mysql参数SQL_MODE不一致,需要手工设置预阿里云相同的参数。

    10、在mysql数据库控制台,“实例管理”-打开实例-“参数修改”-搜索“INNODB_STRICT_MODE”,设置该参数由“ON”变成“OFF”。
    修改完成后,重启数据库实例。

    11、在数据服务DRS重新启动预检查,通过。在数据服务DRS重新启动预检查。
    12、选择立即启动

    13、迁移完成,在控制台查看“迁移进度”。

    至此,主站wordpress网站中的数据,从阿里云mysql数据库全部复制到华为云mysql。

     

    步骤2:对比阿里云mysql和华为云mysql数据内容,验证两端数据是一致的。

    方法1:华为云数据复制服务DRS自带对比工具
    1.1、数据复制服务DRS自动进行“对象级对比”,对比结果为一致。

    1.2、抽样对比数据表内的数据。
    在数据复制服务DRS控制台页面中,“迁移对比”-“数据级对比”-“创建对比任务”-“内容对比”-“立即对比”-选择数据库“myblog”中的表“wp_comments”进行对比。

    数据对比结果一致。

    方法2:使用华为云数据管理服务DAS进行对比。
    在数据管理服务DAS控制台页面中,“创建连接”,登陆华为云mysql的数据库。

    在数据库“myblog”的表“wp_comments”中看到主站新增的文章评论“挑完水去劈材烧火”。

    方法3:第三方对比工具beyond compare进行2个数据表内容的对比。
    华为云数据库文件导出:
    数据管理服务DAS控制台-“导入.导出”-文件类型“CSV”-“第一行是属性”,导出数据库“myblog”的表“wp_comments”为*.csv的表格文件。

    阿里云数据库文件导出:
    数据管理服务DMS控制台-“数据方案”-“导出”-“新增导出任务”,导出数据库“myblog”的表“wp_comments”为*.csv的表格文件,字符集是utf8,勾选属性行。

    对比结果,两个表的数据完全一致。

    至此,使用华为云数据服务服务DRS从阿里云mysql数据库复制到华为云mysql成功,数据一致。

    步骤4:华为云上备站点使用华为云的备份数据库,运行网站系统。

    1、登录华为云主机,修改wordpress配置文件,将所访问的数据库地址从阿里云mysql修改为华为云mysql。

    2、在数据库和云主机所在的VPC 安全组中,设置本子网内部能够访问数据库端口“3306”。

    3、通过阿里云主站点http://47.104.201.xx/wordpress/访问,新增一篇博客“吃瓜群众也有可爱的一面”。然后登陆华为云备站点http://139.159.134.xxx/wordpress/,成功地显示“吃瓜群众”可爱的一面,说明阿里云数据库的更新数据已自动同步到华为云的数据库上

    至此,华为云上的备份网站和备份数据库可对外提供正常业务。

     

    5.7 设置网站为在多云平台的双活集群状态

    关键思路:

    通过域名解析系统,分别将域名解析到主站点(阿里云)和备站点(华为云),可设置流量分发比例为全部在阿里云上,或者50%在阿里云上,50%在华为云上。

    组网图如下:

    前置条件:已购买了域名,并完成了实名认证。

    阿里云域名购买入口:https://wanwang.aliyun.com/
    华为云域名购买入口:https://www.huaweicloud.com/product/domain.html

    本文在实验前已完成域名认证和备案。

    步骤1:购买阿里云解析DNS

    1、购买阿里云解析DNS服务
    通过云解析DNS将网站访问流量按比例分流到两个云平台,核心功能是云解析的“网站监控”、“监控频率”和“最低TTL值”功能。本实验需在购买页面选择“网站监控”,将“监控频率”和“最低TTL”选择为最小值,其他选项按照成本最低方式选择。

    步骤2:修改域名服务商的解析地址为阿里云服务器

    目前提供域名购买的平台,在百度上可以查到很多。域名购买和域名解析可以在不同的云平台上进行。登陆购买域名服务上的网站,将域名解析服务器改为阿里云的DNS地址:vip1.alidns.com和vip2alidns.com。修改方法参考

    步骤3:域名解析到阿里云主机和华为云主机

    1、在阿里云域名解析控制台-“域名解析列表”-“解析设置”中,添加2条记录,分别是华为云和阿里云安装wordpress主机的公网IP。根据业界的最佳实践设置TTL时间为1分钟,考虑因素:宕机检测。

    2、在阿里云域名解析控制台-“域名解析列表”-“网站监控”,配置域名监控,自动检测华为云和阿里云主机是否正常。

    3、在阿里云域名解析控制台-“域名解析列表”-“流量管理”中,开通“全局流量管理”。为方便测试,先设置各50%。实际业务可能主站点80%,备站点20%。

    4、【可选操作】如已开通企业认证的账户,可免费使用6个月的全局负载均衡。(具体以阿里云活动为准)

    步骤4:测试域名解析阿里云主机和华为云主机的IP。

    1、在测试电脑(如笔记本)ping 域名,查看解析到哪个IP。每次ping需要先清除测试电脑上的DNS解析缓存。测试命令“ipconfig /flushdns & ping www.域名地址”

    2、由于移动/联通/电信网络缓存了DNS解析信息,在测试电脑(如笔记本)上通过ping命令,不能快速看到域名是否在两边切换。

    3、使用第三方多地域多IP检测工具(http://ping.chinaz.com/),验证域名自动解析到华为云和阿里云的IP上。测试结果如下:流量如上述设置平均分发到阿里云和华为云,TTL切换时间在1分钟以内。即单边云平台主机宕机后,1分钟内将原平台承担的业务切换到另一个云平台上。

    至此,阿里云和华为云共同搭建了一个跨地域、跨云平台的集群双活网站。

     

    5.8 配置华为云随流量激增进行自动扩容主机的低成本框架

    关键思路:

    1. 备站点华为云默认只开通1台主机,成本最低。流量激增后再扩容集群内主机数量。
    2. 配置云主机“负载均衡”,访问流量在集群内部均衡压力。
    3. 配置云主机“弹性伸缩”,当访问流量激增时,判断CPU利用率、内存利用率、带宽使用率等参数,自动扩容主机个数。当访问流量下降后,自动释放云主机

    组网图如下:

     

    第1阶段:配置负载均衡

    步骤1、配置华为云内主机集群负载均衡。

    1、华为云控制台-“服务列表”-“网络”-“弹性负载均衡”-“购买增强型负载均衡”,选择“负载均衡器”和网站主机在同一个子网内,并新申请一个公网IP,带宽根据实际需要选择“按带宽计费”或“按流量计费”。生产环境建议选择“按带宽计费”,个人学习选择“按流量计费”。

    2、配置监听器,即监控集群内多台主机,哪些协议和哪些端口的访问量进行业务分流。
    点击负载均衡实例-“添加监听器”,监听访问网站的80端口,并且选择“加权最小连接”的分配策略,将业务分发给最空闲主机。

    3、将网站主机纳入监听列表,监听网站80端口。

    4、使用阿里云拷贝至华为云的镜像,再开通一台主机。
    5、参考上述方法,将新主机添加到负载均衡器的监控对象中。
    6、在阿里云解析控制台,新增一条记录,将域名解析到华为云负载均衡器的公网IP,并把原来解析到华为云和阿里云主机的记录暂停。
    操作方法:阿里云解析DNS控制台-域名解析-域名解析列表。

    步骤2:测试负载均衡基本功能

    测试思路:
    1、在华为云上负载均衡实例内监控2台网站主机,通过访问域名,确认流量分发到2台主机上了。
    2、为观察方便,2台主机的二级域名分别显示不同的图片。实现方式是通过php代码判断如果是主机1,就显示图片2,否在显示图片2。

    测试准备:
    1、准备两张jpg格式的图片,分别命名host1.jpg和host2.jpg
    2、网站主机为centos系统,前面已经安装过php运行环境。编写一个test.php测试网页,根据主机内网地址不同来显示不同的图片。轻量级的PHP代码调试工具参考:http://www.runoob.com/try/runcode.php?filename=demo_intro&type=php
    本次测试代码片段如下:需要借助文本编辑工具notepad++,将test.php的编码格式由UTF_8转换为ANSI编码。

    <!DOCTYPE html>
    <html>
    <body>
    
    <?php
    /* 代码逻辑:初始运行网站显示图片1,负载均衡或弹性伸缩的其他主机显示图片2 */
        $host1 = "192.168.10.243";  /* 华为云初始主机的内网ip,请根据实际情况填写 */
        if (0 == strcmp($_SERVER['SERVER_ADDR'],$host1))
        {
            echo "当前运行wordpress的主机内网IP:".$_SERVER['SERVER_ADDR']."<br>"; 
            echo '<img src="host1.jpg" width="512" height="256">';
        }
        else
        {
            echo "当前运行wordpress的主机内网IP:".$_SERVER['SERVER_ADDR']."<br>";
            echo '<img src="host2.jpg" width="512" height="256">';
        }
    ?>
    
    </body>
    </html>

    3、通过xftp(附链接地址)工具将host1.jpg、host2.jpg、test.php分别上传到2台网站主机的目录“/var/www/html/”下面。然后用xshell(附链接地址)工具登陆2台主机的命令行,执行命令,给test.php开通可执行权限和检查是否有乱码,如有乱码使用vim命令进行编辑修改或者通过工具MobaXterm将文件编码转换为unix类型。vim命令参考。

    chmod +x test.php
    cat /var/www/html/test.php

    4、临时将华为云主机的所有公网弹性IP从云主机上解除绑定。测试电脑(笔记本)上ping 域名,当前域名流量全部发送到华为云负载均衡器上。
    操作方法:华为云网络控制台-弹性公网IP-解除绑定。

    4、打开浏览器,分别测试域名 http://xxx.xxx.xxx.xxx/test.php,并执行刷新操作,发现每次刷新显示不同的图片,确保流量已经均分到2台服务器上。

    5、清理测试环境,恢复生产环境。
    (a)将华为云负载均衡监控的第2台主机移除监控,即只监控初始主机即可,并根据需要是否删除来节省费用。
    (b)恢复阿里云解析,将域名解析到阿里云主机和华为云负载均衡器,删除对华为云主机的解析。

    至此,华为云负载均衡器,成功将网站访问流量分发到华为集群内不同的主机。

     

    第2阶段:配置集群可自动增加和较少主机

    原理:通过华为云弹性伸缩器,检测CPU利用率最大值大于50%时,自动增加主机数量。CPU平均利用率小于50%时,自动减少主机梳理。

    前置操作:压力测试网站,验证测试方法可以将华为云主机的CPU利用率超过50%。

    网站压测工具选型:

    工具

    描述

    选型结果

    选型依据

    Jmeter

    Apache JMeter是Apache组织开发的基于Java的压力测试工具含Windows界面。

    放弃

    1. 笔记本上跑Jemeter可以将阿里云1C1G主机的CPU跑满,华为1C1G的CPU只跑到了5%。
    2. 放到华为内的Windows服务器(16C32G)上,由于办公室/家庭带宽小,访问Windows服务器很卡,不方便操作。 倾向于选择linux类型的主机进行压测。

    阿里云PTS

    阿里云的网页测试工具,服务方式提供。

    放弃

    收费高,在阿里云和华为云之间走公网测试,网络成为瓶颈。

    华为云APTS

    阿里云的网页测试工具,服务方式提供。

    放弃

    服务本身免费,需要手工创建集群,适合超高压测场景,不适合本次快速测试需求。

    AB

    apache自带网页压测工具

    选择

    Linxu版和Windows版,免费,操作简单,适合快速测试。

     

     

     

     

     

     

     

     

     

     

     

     

    测试原理:

    1. 通过个人笔记本跑AB工具压测网站,无法将华为云CPU跑到5%以上。原因是笔记计算能力有限以及网络带宽有限。
    2. 将AB工具放在华为云内网的linux服务器上,当线程数超过1000时,AB工具会被操作系统误认为是DDos流量攻击的工具,进行限流,CPU利用率压不上去。
    3. 解决办法在华为云的网站基础主机中,放置一个php脚本网页,网页中添加一个5万次乘除运算的循环代码,AB脚本每调用一次该PHP脚本网页,云主机的CPU利用率就会飙升。然后在个人笔记本或华为云内网的临时测试主机上访问PHP脚本网页,模拟访问网站。
    4. 检查是否会随着CPU利用率增加,华为云自动增加主机。

    测试工具模拟压测单台主机:

    步骤1:下载并配置AB工具
    windows版:详情见链接1。win+x,选择“命令提示符(管理员)”来执行AB命令,否在会提示无管理员权限。
    Linux版:前述步骤搭建Apache环境时,已包括AB工具。在命令行执行ab即可。

    步骤2:编写施压脚本,将如下代码另外为test2.php文件,需要借助文本编辑工具notepad++,将test2.php的编码格式由UTF_8转换为ANSI编码

    <!DOCTYPE html>
    <html>
    <body>
    <?php
        /* 循环做乘法和除法,加大CPU利用率 */
        for($i=1; $i<=50000; $i++)
        {
            $ret=98765432123456789 * 1357924680 / 123456789;
            echo $ret."<br>";        
        }
    ?>
    </body>
    </html>

    步骤3:将test2.php拷贝到云主机的/var/www/html路径下面,登陆云主机命令行,给测试网页添加可执行权限。
    >cd /var/www/html
    >chmod +x test2.php

    cd /var/www/html
    chmod +x test2.php

    步骤4:在华为云主机上执行ab命令,分别对云主机和负载均衡器的内网地址进行压测,观察是否能够将主机的CPU利用率跑满100%。备注:下面IP地址根据实际情况更换成公网地址或内网地址均可。

    ab -n 100000 -c 100 139.159.134.129/test2.php

    提醒:关于伸缩配置、伸缩组、伸缩实例的之间的关系,请参考3.8章节“弹性伸缩介绍”。

    ====下面开始为华为云服务器配置如何根据CPU利用率飙升而自动增加主机====

    步骤1:配置弹性伸缩器

    1、创建弹性伸缩组
    登陆华为云控制台-列表服务-弹性伸缩-创建伸缩组。按照如下截图填写对应参数,其他默认参数。最多扩展到3台主机,期望实例数和最小实例数设置为0台。

    2、下一步,创建弹性伸缩配置,按照如下截图填写对应参数,其他默认参数。

    确认配置正确,提交。

    3、将云主机加入到伸缩组中,进行监控其CPU和内存利用率等参数。

    4、设置网站的基础运行主机“实例保护”,不会被自动释放,保证华为云至少有一台主机运行网站备份站点。

    5、添加自动增加主机的“伸缩策略”。每隔5分钟检查一次云主机的CPU利用率,连续2次出现CPU利用率最大值大于80%,自动增加1台主机,直到增长到预设的最大主机数量。

    6、添加自动释放主机的“伸缩策略”。每隔5分钟检查一次云主机的CPU利用率,连续2次出现CPU利用率的平均值小于50%,自动释放1台主机,直到预设的主机最小数量。

    至此,弹性伸缩配置完成。

    步骤2:网站压力测试,检验弹性伸缩功能,是否会随着流量压力自动增加和释放云主机。

    1、检查配置是否ok
    (a)临时调整DNS解析,将域名解析到华为云,便于测试华为云在大压力是否自动增加主机。

    (b)从个人笔记本访问域名www.chenxiaochao.top/test.php成功,证明域名解析、网络负载均衡器、网站主机全部正常。

    2、购买临时压测的主机
    为保证压测过程,网络不会成为瓶颈,我们华为云主机所在的同一内网中,临时开通一台通用型8C16G的云主机,操作为centos6.8,用于压测网站。登陆压测主机安装Apache HTTP服务。

    yum -y install httpd 
    yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql
    service httpd start
    chkconfig httpd on
    ab -n 100000 -c 100 www.chenxiaochao.top/test2.php

    3、对网站域名进行施压。根据前置的CPU利用率判断,自动增加了2台云主机

    根据前面预设显示的脚本,为便于验证效果,基础主机显示图片1,自动增加的2台主机显示图片2,结果符合预期。

    4、停止压测,观察到自动增加的2台主机,先后被自动释放掉,节省成本。
    自动移除第一台主机如下。

    自动移除第二台主机如下。

    CPU利用率和主机个数呈现正比例关系。

    从测试主机CPU利用率的升高和下降曲线,触发了云主机自动增加2台,又自动释放主机2台,符合预期。
    至此,借助华为云搭建一个最低成本的跨云平台跨地域的容灾双活系统完成。

    本章小结:

    经过上述步骤,阿里云和华为云已成一个双活架构,阿里云作为已运行的生产环境保持配置不变,华为云通过四项核心服务,分别是镜像服务IMS、VPN网络、数据复制服务DRS、弹性伸缩服务AS,实现低成本又高度灵活的容灾和备份效果。该架构同样适合华为云与自建数据中心、IDC托管、亚马逊云、微软云、腾讯云等云平台搭建容灾系统。

     

    总结与展望

    本文根据工作需要和个人兴趣,分别研究了阿里云和华为云平台的云主机、镜像、mysql数据库迁移、域名、DNS域名解析系统、VPN专线、负载均衡、弹性伸缩,构建了一个具备跨云平台跨地域的网站容灾架构。

    业务系统的高可靠设计和建设,是一个企业IT系统伴随着业务侧不断提出新要求的背景下,从简单到复杂,不断完善的过程。整个过程涉及到信息化管理团队的技术储备、软件开发团队对云架构的认知和接受,以及高层领导对于建设容灾系统的决心。作为技术人员,其核心价值在于系统级故障发生前做预防性检查和防范,故障发生时能够快速恢复业务,故障后能够给出解决办法并落地,避免后续重犯错误。

     

    路难走,亦远行,与君共勉。

                                                                                                                                        本文初稿于2018年中秋节完成。

     

    展开全文
  • DOCPROPERTY "Product&Project Name" DOCPROPERTY DocumentName PAGE i DOCPROPERTY ProprietaryDeclaration 华为专有保密信息 版权所有 ? 华为技术有限公司 文档版本 DOCPROPERTY DocumentVersion 01 ( ...
  • 数据库容灾
  •  基于健康档案的区域卫生信息平台,是指以区域内居民健康档案信息的采集、存储、分析、共享信息服务为基础,连接区域内各类医疗卫生机构及各类业务应用系统,实现互联互通、信息共享联动协同工作的区域卫生数据...
  • 本文根据朱祥磊老师在〖5月6日DBAplus社群济南数据库技术沙龙〗现场演讲...为什么要讲双活数据中心?从应用系统系统保护来说,分这么几个角度: 首先做容灾,第一个要考虑的是主备,上图左侧是最早出现的主备...
  • 第三部分 用户需求需求分析信息系统现状经过近几年的信息化建设,揭阳市人民医院的信息化取得了重要的突破长足的进步,在医院管理医疗服务方面发挥了良好作用,信息系统成为我院医疗业务发展中不可缺少的基础...
  • 在6月上旬举行的云栖大会上海峰会...HDR-BD采用业界领先的数据双向实时复制技术,可以实现Hadoop集群双活和准0 RPO容灾,为大数据灾备制定了全新的标准。 常见Hadoop灾备技术的挑战 当前比较常见的Hadoop集群灾备...
  • 当前 市场上常见的 容灾 模式可分为同城容灾、异地容灾双活 数据中心、 两地 三中心几种。 1、 同城 容灾 同城 容灾 是在同城或相近区域内 ( ≤ 200K M )建立两个数据中心 : 一个为数据中心,负责日常生产运行 ...
  • EMC vplex容灾 双活中心

    2017-11-16 12:26:00
    XXX市社保 EMC建议方案 一、总体架构图...2 二、项目建设规划...3 1.本地存储双活...4 ...5.备份数据容灾和恢复...6 三、未来建设规划...7 1.“双活数据中心”...7 2.“两地三中心”.8 四、产品配置清单......
  • 在6月上旬举行的云栖大会上海峰会上,阿里云发布了国内首个大数据集群双...HDR-BD采用业界领先的数据双向实时复制技术,可以实现Hadoop集群双活和准0 RPO容灾,为大数据灾备制定了全新的标准。 常见Hadoop灾备技术的...
  • 我们都知道,容灾系统是指在相隔较远的异地,建立两套或多套功能相同的 IT 系统,互相之间可以进行健康状态监视功能切换,当一处系统因意外(如停电、UPS 故障、空调故障、火灾、地震等)停止工作时,整个应用系统...
  • 广西新宇建设项目管理有限公司受柳州市第一职业技术学校委托,根据《×××政府采购法》及其实施条例、《政府...一、采购项目名称:中心机房双活虚拟引擎容灾备份系统二、采购项目编号:LZG16-601三、采购内容、数...
  • 作者:人月神话,新浪博客同名简介:多年SOA规划建设,私有云PaaS平台架构涉及经验,长期从事一线项目实践今天谈下多数据中心异地容灾备份方面的内容。在前面一篇文章里面我详细谈到过一个软件业务系统的高可用性...
  • 链路、复制、双活数据中心、Server-SAN、数据一致性、业务容灾
  • 本文接续(上)篇。(下)篇主要聊一聊双活的风险、数据一致性、业务容灾

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 130
精华内容 52
关键字:

双活和容灾