华为双活数据中心解决方案——构建数据碉堡
一、 华为双活数据中心解决方案是什么?
正如1000个人眼里有1000个哈姆莱特一样,每个人对“数据中心双活”的理解都不太一致。今天大V就给大家讲讲华为双活解决方案,说清楚了大家点个赞;如果没说清楚大家通过回复一起探讨,共同进步。
为了解释清楚双活,得先弄清楚什么是活着。还好这个问题比“人为什么要活着”要容易解答一些,“双”和“活”二个字用到数据容灾那就是“二个可以同时提供业务的数据中心”。
而“华为双活数据中心解决方案”就是指“两个数据中心互为镜像,都处于运行状态,可以同时承担相同业务,当一个数据中心故障时,业务自动切换到另一个数据中心,数据零丢失,业务零中断。”
二、 华为双活数据中心解决方案是怎么实现的?
2.1 双活数据I/O处理机制:
“华为双活数据中心解决方案”实现两台存储设备双活的核心就是高效的锁分配机制和高效的数据双写机制。在业务运行中,数据变更可通过双写和DCL来完成同步,进而保证两个数据中心的数据一致性。
锁分配机制:具备双活特性的两台存储系统,能够同时处理主机的I/O请求,为了防止不同的主机同时访问同一存储地址,而发生访问冲突,需要设计锁分配机制来避免访问冲突,只有获取锁分配机制允许的存储系统才能写入数据。没有获取锁分配机制允许的存储系统需要等待上一个写I/O完成,待锁分配机制释放之后才能重新获取锁分配机制允许。
数据双写机制:双写可以使得应用服务器的I/O请求同时下发到本端Cache和远端Cache,从而保证本端Cache与远端Cache的变更数据一致性。在一个数据中心故障时,采用DCL(Data Change Log)可以记录业务运行中数据中心的数据变更。待故障恢复后,同时跟踪变更数据同步到该数据中心的存储设备中,以防止变更的数据在同步过程中出现遗漏。
1. 主机下发写I/O到HyperMetro。
2. 系统记录LOG。
3. 执行双写:HyperMetro同时将该写I/O写入本端Cache和远端Cache。
4. 本端Cache和远端Cache向HyperMetro返回写I/O结果。
5. 双写结果处理:等待两端Cache的写处理结果都返回,才向主机返回写I/O结果。
6. 判断双写是否成功。
Ø 如果都写成功:清除LOG。
Ø 如果有一端失败:LOG转换成DCL,记录本端LUN和远端LUN的差异数据。
【说明】
如果有一端失败,双活暂停,两个数据中心的存储系统分别向仲裁服务器发起仲裁请求,仲裁获胜的一方继续提供服务,仲裁失败方停止服务。根据存储系统记录的DCL,进行后台数据同步,待本端LUN和远端LUN的数据一致时,双活业务恢复。
2.2 双活数据仲裁机制
当两个数据中心之间的链路故障时,两个数据中心之间无法实时同步,此时只能由其中一个数据中心继续提供服务。为了保证二个数据中心的数据一致性,双活通过仲裁机制决定数据中心的服务优先级。双活提供了两种仲裁模式:
Ø 静态优先级模式:应用在无第三站点仲裁服务器的场景。
静态优先级模式:
二个数据中心的其中一个为优先站点,另一个为非优先站点。
Ø 当发生存储系统间链路故障,或者非优先站点故障时,优先站点上的LUN继续为主机提供服务,非优先站点的LUN停止为主机提供服务。
Ø 当优先站点故障时,非优先站点不能自动接管双活业务,双活业务停止。此时需要人工强制启动非优先站点为主机提供服务。
仲裁服务器模式:
当出现任一数据中心整体故障或中间链路故障时,两个数据中心的存储系统分别向仲裁服务器发起仲裁请求,仲裁获胜的一方继续提供服务,仲裁失败方停止服务,优先站点具有仲裁优先权。
三、 总结:
华为双活数据中心解决方案为客户提供100km内的华为双活数据中心解决方案,解决了传统灾备中心不能承载业务和业务无法自动切换的问题。
华为双活数据中心解决方案的两个数据中心都处于运行状态,可以同时承担相同业务,两个数据中心互为备份,当一个数据中心故障时,业务自动切换到另一个数据中心,确保业务系统发生设备故障、甚至单个数据中心故障时数据自动切换。提高数据中心的整体服务能力和系统资源利用率的同时,并提供最高级别的业务连续性保障,实现实现数据零丢失,业务零中断。
发表评论