基于区块链技术的容灾备份系统,可以为数据中心的灾备提供更高的可用性。还可以根据需要建立行业性灾备联盟链,通过相互协作打造强大抗灾能力。这是分布式存储的一个主要发展方向。
FileStorm做为一个支持灾备存储的分布式存储平台,灾备节点遍布全球。它提供了一个连接企业数据库生产节点和灾备节点的中间件FileStormDR。系统通过提取本地数据库操作日志,以交易的方式达成节点共识并存储在FileStorm上,既可实现数据库的多节点备份,也可通过执行日志操作恢复数据库到任何时间点。
FileStormDR做为一个连接企业数据库生产节点和灾备存储节点的中间插件,不仅仅适用于FileStorm,还可以适用于多种基于区块链实现的分布式存储平台。
技术原理
1. 在生产中心,客户应用程序对数据库进行操作,操作记录记入数据库日志文件(Binlog、RedoLog等)。
2. 中间件生产节点通过FileStormDR的API接口读取分析生产数据库日志文件中的数据库操作数据,封装成适用于区块链网络的交易数据。
3. 生产节点将交易数据转发给其它的中间件备份节点,同时暂时存储下来准备写入中间件的区块中。
4. 中间件所有节点间对暂时存储的交易数据进行共识,在各个节点上形成一样的区块,即区块上按同样的顺序包含同样的内容,经过共识处理后的各个节点上的交易数据达成了一致。
5. 备份节点参与区块链网络的共识,具有了与其它节点一样的数据。当新的区块生成的时候,备份节点读取记录在区块中的交易数据并发送到灾备中心数据库。
技术特点
FileStorm作为可以支持多种主流数据库的备份,如:Oracle、SQLServer、MySQL、DB2、MangoDB、HBase、SQLite等。
可以在10秒内将生产中心数据传递到灾备中心,并通过日志回放写入灾备数据库,使灾备中心的RPO(Recovery Point Objective)控制在10秒级。
支持生产中心和灾备中心一对一和一对多的部署方式,多灾备中心可以同时备份数据。因采用区块链的底层技术,可确保每个灾备中心的数据同时被确认和写入中间件,保持多副本间的数据强一致性。副本数量对RPO的影响很小,基本可忽略不计。
优势
节点的易扩展性
FileStorm可以便捷的在任意时刻在线添加灾备节点,不影响原有灾备体系。添加的灾备节点自动从其他节点获取原有日志信息,并在本地回放日志,生成新的灾备数据库。
可审计、操作记录不可篡改
FileStorm底层基于区块链技术,完美继承了区块链技术不可篡改的特性,所有对数据库的 DDL 和DML 操作都被详细的记录在中间件中,不可更改和删除。数据可准确追踪、查询,为数据库审计提供了完备的依据。
在线升级和维护
在多灾备中心情况下,FileStorm可以采取轮询的方式在线升级各灾备中心的软硬件,升级过程不会对生产中心和其他灾备中心的业务产生任何影响。
对灾备中心的硬件规格无一致性要求
灾备中心可以根据实际需要配置相应的硬件,这一特点非常适应于基于区块链实现的分布式存储平台。硬件规格不一致对中间件灾备效率产生的影响几乎可忽略不计。用户也可以在灾备中心利用既有旧设备进行部署,集成现有资源,充分利用各种资源避免了资源浪费。
完善的安全机制
为了确保生产中心和灾备中心的数据写入和数据传输的安全性,FileStorm提供对称和非对称的加密算法,用户可以自由选择。
完善的管理工具
FileStorm将提供图形界面的管理和监控工具,是数据备份和恢复变得简单易用。FileStormDR可以开发成一个独立的存储管理系统,可适用于中心化存储和正在走向主流的第二备份存储。
本文的所有数据,来自于如下测试环境:
操作系统
Linux(CentOS , RedHat企业版、Ubuntu 15.04+、SUSE等) windows7+
硬件
CPU: 64-bit x86_64, 4+ cores
Disk: 200GB SSD
RAM: 16+GB
原文链接简书:区块链_献哥