本文主要是介绍多机房灾备实践,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
2017年主导了公司新机房(100多台服务器规模)建设以及机房切换,前期工作主要是招标选供应商,服务器,网络设备等,定下来后就开始进行采购,2017年过年之前设备到位。年后开始规划实施。下面我就分享下机房建设以及迁移的经验。
一. 为何要做多机房
单一机房机房不可用时,业务停止,数据无法访问。不同地域的用户请求响应延时不同,CDN只能解决静态资源访问加速。多机房可以备份用户和系统数据,保证数据安全,一个机房出现故障可以切换到另外机房,提高系统可用性,按用户地域合理分配,访问就近的机房。
二. 理论依据
根据不同行业,以及CAP的三选二原则,支付、交易要求强一致(不允许出现脏数据),属于CA,互联网对强一致性要求不高,对可用性要求较高,一般都采用AP+弱一致性架构,也就是BSAE,BASE理论是eBay的架构师Dan Pritchett在ACM上发表文章提出的,BASE是指基本可用(Basically Available)、软状态(Soft State)、最终一致性(Eventual Consistency),允许窗口期数据不一致。
三 具体实践
1、新机房建设
IDC机房选购
选型、招标、参观机房、评审、商务谈判、合同签署、开通宽带
网络架构设计及评审
服务器/网络设备选购
设备选型、招标、商务谈判、合同签署、设备采购,资产管理
模拟网络架构测试
网络/VPN/标签等规划、双网卡绑定测试、模拟交换机/链路冗余测试、模拟VPN测试、防火墙冗余测试、负载均衡测试、专线网络测试
基础设施部署
IDC开通机柜带宽、设备验货、上架基础设施、部署基础设置应用服务部署
自动装机系统、自动化运维系统、KVM虚拟化、账号管理系统、DNS系统、资产管理、监控系统、nginx、haproxy、keepalived、tomcat、redis、mq、zk、fastdfs、mysql、sqlserver、应用代码
2、切换数据中心方案设计
数据中心测试方案设计
数据中心切换方案设计
部署架构
整体的切换原则是平滑迁移,不停服务。
3、数据中心切换过程
迁移之前,确保新机房代码是最新的,测试人员进行回归测试,DBA部署亦庄到武清的数据库(sqlserver、mysql)、redis同步关系,文件系统,mq等都类似。
第一天凌晨进行第一波流量切换,切山东节点到武清机房,大约5%左右的流量,观察服务状况,没有异常情况,用户可正常下单。
第二天凌晨进行第二波流量切换, 上海、江苏、浙江、四川、河南、河北、福建大约50%左右的流量,继续观察服务状况,没有异常情况,用户可正常下单。
第三天凌晨进行全部切换,包括数据库等,切到武清做主,数据直接写武清的库。运维在DNSPOD上进行,把其他剩余流量切换到武清,切换后,网络工程师观察亦庄是否还有流量进入,因为DNS有缓存,所以需要观察一段时间,待到没有流量进入,开始进行存储层切换:
1、sqlserver,DBA利用手动故障转移,将vip从亦庄机房切换搭武清机房,停掉亦庄的sqlserver,sqlserver切换结束。
2、redis,DBA利用批处理脚本关掉亦庄所有redis主库实例,完成后,主库自动切换到武清,亦庄所有redis实例不提供任何服务, 不会有任何脏数据产生,运维切换DNS,DNS生效后,redis切换结束。
3、mysql,和redis切换方式类似,DBA利用批处理脚本杀掉主库,保证没有脏数据进来,运维切换DNS,生效后,mysql切换结束。
以上全部迁移OK后,所有流量、数据、存储都在新机房了,亦庄机房用于灾备。
四. 经验总结
系统比较多,大大小小的100多个系统,梳理过程中不够谨慎 ,遗漏了一些问题, 操作过程中,亦庄到武清做了很多调整,没有做好调研,整理了很多文档,做了很多工作,有不细致的地方,有些工作需要确认,没有落实到书面上,测试过程中有些不清楚的地方,欠缺沟通,信息不同步,准备工作没有准备好,还有历史遗漏原因。
迁移的过程中,有盲点,有测试不到的地方, 支付, 物流,小服务,全量push无法测试, 迁移后pay不可用, push不可用, dns解析问题导致部分缓存流量还在亦庄, 预案做的不充分,虽然有些问题,不过整体上来说,这次数据中心切换还算比较成功。
五. IDC推荐
网聚无限:
网聚坚持“自建、自销、自运营”的一体化服务模式,保障客户资源自主可控,可根据客户需求进行改电、改机柜、改区域管理,保证带宽和网络出口的快速扩容升级。
总出口带宽高达100G,可进行多种宽带接入,全网互联互通,实现资源的快速伸缩,满足突发访问量需求。保障快手短视频在春节期间访问量和下载量突增时的正常运行。
网聚(商务部机房一期1100个机柜):目前在北京、上海、深圳、广州等城市运营30+个数据中心,可扩容性空间大,更容易承接一些大的、后期突发性增量的企业。
网聚无限拥有经验丰富的运维团队,提供专业的服务支撑,云上通过裸金属云服务实现物理服务器快速交付,云下提供私有云部署快速交付满足私有化交付的要求,并且实现云上云下混合部署,无缝衔接、切换。
专业电力工程团队,时刻保障电力运行,对客户电力使用情况实时监测,重点查看客户电力使用趋势,避免出现任何突发电力问题。
服务客户:快手、携程等。
这篇关于多机房灾备实践的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!