1、前言
本文主要在于介绍:通过系统的实时容灾功能模块,针对用户云计算中关键业务系统的主备容灾方案原理。
涉及到的技术能力、运维能力要求偏高,遂本文尽量将容灾原理讲解清楚。需要用到的云计算能力包括:计算机操作系统(Linux/Windows)、计算机网络、计算机硬件、应用系统运行框架(B/S、C/S)、数据库应用、灾备技术等。
在本文中,将会多次出现:“数据库”、“操作系统”、“业务系统”等关键字,阅读时不需要先了解具体是哪个数据库,或是哪个具体的版本的操作系统,一切从原理理解出发即可。
本文章按照结构依次划分为:
①主备容灾能达到的效果;
②用于描述业务系统容灾原理的模拟环境介绍;
③业务系统主备容灾原理介绍;
④容灾方案扩展补充。
2、主备容灾能达到的效果
对于关键的业务系统,企业是不允许它长时间处于中断状态的,但数据丢失风险、业务中断风险原因众多,我们无法预知计算机出现故障时间,也无法得知会不会出现故障。因此对于关键的业务系统最好的办法就是做好灾备建设。
本文要讲解的主备容灾原理,可以将关键业务系统的灾备指标RTO、RPO都做到约等于0。简单理解就是,如果主机上的关键业务系统因计划外原因中断了,那么本文分享的容灾方案,可以在非常短的时间内,启用备机上的关键业务系统,代替主机提供业务服务。
3、模拟环境介绍
现有一款采用C/S架构的关键业务系统安装部署于主机上,该业务系统后端用到了一个结构化数据库用于存放业务数据,并且数据库也同时安装在该主机上。该主机有两块磁盘,第一块磁盘用于运行操作系统,第二块磁盘用于运行业务系统以及数据库。
同时我们预先配置好了一台备机,这台备机的磁盘大小和软件环境要和主机一致。我们这里可以采用一个简单且可靠的配置备机的方法:先对主机进行整机备份,再将主机的整机备份数据恢复至备机上即可。
用于搭建主备容灾方案的系统我们也提前搭建好了。
以上提到的三台计算机,业务系统主机、容灾备机、云祺容灾备份系统都是处于同一个网络下的,当然也可以处于不同网络,区别在于处于不同的网络对于网络技术能力要求较高。
该模拟环境逻辑拓扑图如下:
4、业务系统主备容灾原理介绍
因为在当前模拟环境中,业务系统的服务和数据库服务,都是安装部署在主机的数据盘上的,备机和主机是同样的提前配置好的,也就是说,要做到主备容灾,我们只需要将业务主机的数据盘和容灾备机上的数据库做到实时镜像同步就可以了。
实际上我们系统也是这样做的,通过备份系统就可以利用网络,在主机数据盘和备机数据盘之间建立一条实时同步的通道,主机上有数据变化时,数据都会通过这条通道同步到备机上的数据盘中,时刻让主机的数据盘和备机的数据库处于完全一致状态。如下图:
当然了在镜像同步的情况下,主机如果遇到灾难,需要备机拉起业务的时候,需要我们人工操作吗?在配置完整的情况下,是不需要我们人工进行操作的,全程由备份系统负责监测业务主机是否中断或故障,当监测到主机故障后,备份系统就会通知备机,拉起容灾备机上的业务和数据库来代替主机对外提供服务,并且主机的IP地址会漂移到备机上,也就是说灾难发生后,用户在访问业务系统的时候也是不需要更换访问地址的。几分钟的中断时间,可以说避免了业务系统长时间中断所带来的各种连带风险和直接、间接的经济损失。如下图:
5、容灾方案扩展补充
方案主要依赖于卷级实时同步,此种同步方式兼容性是非常广泛的,本文中提到的,将业务系统和数据库都放置在一台主机上是应用系统部署非常简单的一种方案。在实际的生产环境中,常见的部署方案一般是存算分离的部署方式,也就是将无状态的后端服务放置于一台主机中,数据库服务放置于一台主机中。这样的话对于无状态的后端服务,其实用一个Nginx服务也能做到主备容灾的效果,还能做到负载均衡。但数据库由于数据量大,采用负载均衡、集群等方式容灾时,成是非常高昂的,所以对于本无状态的前后端服务,仅针对数据库采取云祺主备机容灾方案,也是具有非常可行性的。
各个云计算环境都有些许不同的地方,大致原理都如本文所说,搭建主备容灾方案时,也会有不同的地方,非常感谢您的阅读。