一种区块链服务容灾备份容器化部署方法技术

技术编号:24333825 阅读:47 留言:0更新日期:2020-05-29 21:10
本发明专利技术公开了一种区块链服务容灾备份容器化部署方法。包括如下步骤:搭建两套kubernetes集群环境,并分别部署ingress‑controller;两集群中的区块链BaaS服务的数据库主从复制保持一致性;部署NAS网络存储服务;通过其中一个集群的BaaS服务调用kubernetes client部署一条区块链,定义每一个区块链节点对应一个service、一个pod;将每一个区块链节点pod的数据盘通过PVC绑定PV映射到NAS存储上;当一个集群的服务异常时,可以迅速在另一个集群中恢复区块链服务。本发明专利技术实现了区块链BaaS服务在kubernetes上部署管理运维区块链,解决了当一个集群环境受到意外灾害导致BaaS不能提供服务和部署在kubernetes上的有状态区块链节点数据丢失的问题,有效的提高了区块链服务的容灾能力。

A container deployment method for disaster recovery backup of blockchain services

【技术实现步骤摘要】
一种区块链服务容灾备份容器化部署方法
本专利技术涉及区块链技术、容器技术,尤其涉及一种基于kubernetes部署的区块链服务异地容灾备份及服务迁移的方法。
技术介绍
区块链是一种新型去中心化分布式账本技术,能安全地存储数字货币交易或其他数据,特点是存储在区块链上的信息不可伪造和篡改,区块链共识算法驱动区块链上的每个节点都参与到交易的验证过程中,保证区块链上交易都是经过确认可信的,区块链上每个节点都维护一个公共的账本,用于存储区块链网络上所有用户的余额和智能合约数据,任何一个节点对自己所维护的账本的修改都将不被其他节点所承认,从而保证公共账本不可被伪造和篡改。容器是轻量级的操作系统级虚拟化,可以让我们在一个资源隔离的进程中运行应用及其依赖项。运行应用程序所必需的组件都将打包成一个镜像并可以复用。执行镜像时,它运行在一个隔离环境中,并且不会共享宿主机的内存、CPU以及磁盘,这就保证了容器内进程不能监控容器外的任何进程。区块链技术是当下很热门的新兴技术,由于区块链的去中心化和不可篡改的特性,往往在传统的部署模式中,当一个环境的区块链服务出现异常需要迁移到另一个环境提供服务时,区块链环境的迁移会导致共识节点的一些配置参数需要改变才能正常运行。
技术实现思路
本专利技术的目的是针对现有区块链服务难以迁移备份的痛点,提供一种基于kubernetes部署的区块链服务异地容灾备份及服务迁移的方法,可以帮助区块链服务方便快捷的备份容灾及服务迁移。本专利技术的目的是通过以下技术方案来实现:一种区块链服务容灾备份容器化部署方法,包括如下步骤:1)搭建A(主)、B(备)两套kubernetes集群环境;2)分别在A、B两环境中部署ingress-controller,两集群中的应用可以通过ingress互相暴露IP端口进行通信;3)分别在A、B两集群中部署区块链BaaS服务组件,其中A、B两集群中BaaS的数据库存储相关服务通过ingresstcp四层代理建立主从复制关系,保证区块链BaaS服务的数据库数据一致性;4)部署NAS网络存储服务;5)通过A集群的区块链BaaS服务调用kubernetesclient部署一条区块链,定义每一个区块链节点对应一个service,对应一个pod,BaaS数据库记录每一个节点对应的service及相关数据;6)将每一个区块链节点pod的数据盘通过PVC绑定PV映射到4)中部署的NAS存储上,BaaS服务数据库记录相关卷挂载信息;7)B集群感知A集群区块链服务状态异常不能向外提供服务时,在B集群中的BaaS服务可以发起区块链迁移功能,B集群将通过两集群公共的数据库中的区块链节点数据信息,在B集群中重建区块链,并挂载区块链节点数据到公共的NAS持久存储服务,使得区块链账本数据不丢失。进一步的,所述的步骤1)中,A、B两kubernetes集群可以是隔离的两个集群环境,可以是位于不同地点不同机房的两个集群环境。进一步的,所述的步骤2)中A、B两kubernetes集群可以通过代理互相暴露相关服务进行通信。进一步的,所述的步骤3)分别在A、B两集群中部署区块链BaaS服务,其中A、B两集群中BaaS的数据库存储相关服务通过ingresstcp四层代理建立主从复制关系,保证两集群中的区块链BaaS平台中的区块链及区块链节点运维数据一致性。进一步的,步骤4)中两集群都是用同一个NAS持久化存储,其中A集群中部署的区块链节点的持久化数据,在B集群中也能够访问到。进一步的,所述步骤5)中BaaS服务在kubernetes上部署的区块链每一个节点对应一个service、一个pod资源,资源对应数据都将记录在区块链BaaS服务的数据库中,区块链节点之间是通过servicename来相互访问通信的。进一步地,所述步骤6)中区块链节点的数据挂载在NAS文件系统中,A、B两集群都可以访问。本专利技术的有益效果是:本专利技术将区块链服务平台及组件分别在两套kubernetes集群环境中容器化部署,两集群中的区块链BaaS服务的数据库主从复制保持一致性,通过区块链服务平台在一个集群中部署的区块链节点持久化数据外挂在分布式文件系统中,当一个集群的服务异常时,可以迅速在另一个集群中恢复区块链服务。对于传统的云服务器及物理服务器部署,采用此部署方式部署将减少服务对环境硬件及操作系统的依赖性,集群在异地机房部署将具备抗断电、断网等事故导致区块链服务异常,具有异地多活,容灾备份的特性。附图说明图1是两kubernetes集群区块链服务架构图。具体实施方式下面根据附图和具体实施例详细描述本专利技术,本专利技术的目的和效果将变得更加明显。如图1所示,本专利技术提出的一种区块链服务容灾备份容器化部署方法方法,包括:1)搭建A(主)、B(备)两套kubernetes集群环境;2)分别在A、B两环境中部署ingress-controller,两集群中的应用可以通过ingress互相暴露IP端口进行通信;3)分别在A、B两集群中部署区块链BaaS服务组件,其中A、B两集群中BaaS的数据库存储相关服务通过ingresstcp四层代理建立主从复制关系,保证区块链BaaS服务的数据库数据一致性;4)部署NAS网络存储服务;5)通过A集群的区块链BaaS服务调用kubernetesclient部署一条区块链,定义每一个区块链节点对应一个service、一个pod,BaaS数据库记录每一个节点对应的service及相关数据;6)将每一个区块链节点pod的数据盘通过PVC绑定PV映射到4)中部署的NAS存储上,BaaS服务数据库记录相关卷挂载信息;7)B集群感知A集群区块链服务状态异常不能向外提供服务时,在B集群中的BaaS服务可以发起区块链迁移功能,B集群将通过两集群公共的数据库中的区块链节点数据信息,在B集群中重建区块链,并挂载区块链节点数据到公共的NAS持久存储服务,使得区块链账本数据不丢失;进一步的,所述的步骤1)中,A、B两kubernetes集群可以是隔离的两个集群环境,可以是位于不同地点不同机房的两个集群环境。进一步的,所述的步骤2)中A、B两kubernetes集群可以通过代理互相暴露相关服务进行通信。进一步的,所述的步骤3)分别在A、B两集群中部署区块链BaaS服务,其中A、B两集群中BaaS的数据库存储相关服务通过ingresstcp四层代理建立主从复制关系,保证两集群中的区块链BaaS平台中的区块链及区块链节点运维数据一致性。进一步的,步骤4)中两集群都是用同一个NAS持久化存储,其中A集群中部署的区块链节点的持久化数据,在B集群中也能够访问到。进一步的,所述步骤5)中BaaS服务在kubernetes上部署的区块链每一个节点对应一个service、一个pod资源,资源对应数据都将记录在区块链BaaS本文档来自技高网...

【技术保护点】
1.一种区块链服务容灾备份容器化部署方法,其特征在于,包括如下步骤:/n1)搭建A(主)、B(备)两套kubernetes集群环境;/n2)分别在A、B两环境中部署ingress-controller,两集群通过ingress互相暴露服务;/n3)分别在A、B两集群中部署区块链BaaS服务,其中A、B两集群中BaaS的数据库存储相关服务通过ingress tcp四层代理建立主从复制关系;/n4)部署NAS网络存储服务;/n5)通过A集群的BaaS服务调用kubernetes client部署一条区块链,定义每一个区块链节点对应一个service、一个pod,BaaS数据库记录每一个节点对应的service及相关数据;/n6)将每一个区块链节点pod的数据盘通过PVC绑定PV映射到4)中部署的NAS存储上,BaaS服务数据库记录相关卷挂载信息;/n7)B集群感知A集群状态异常不能向外提供服务时,在B集群中的BaaS服务可以发起区块链迁移功能,把A kubernetes中的区块链迁移到B kubernetes。/n

【技术特征摘要】
1.一种区块链服务容灾备份容器化部署方法,其特征在于,包括如下步骤:
1)搭建A(主)、B(备)两套kubernetes集群环境;
2)分别在A、B两环境中部署ingress-controller,两集群通过ingress互相暴露服务;
3)分别在A、B两集群中部署区块链BaaS服务,其中A、B两集群中BaaS的数据库存储相关服务通过ingresstcp四层代理建立主从复制关系;
4)部署NAS网络存储服务;
5)通过A集群的BaaS服务调用kubernetesclient部署一条区块链,定义每一个区块链节点对应一个service、一个pod,BaaS数据库记录每一个节点对应的service及相关数据;
6)将每一个区块链节点pod的数据盘通过PVC绑定PV映射到4)中部署的NAS存储上,BaaS服务数据库记录相关卷挂载信息;
7)B集群感知A集群状态异常不能向外提供服务时,在B集群中的BaaS服务可以发起区块链迁移功能,把Akubernetes中的区块链迁移到Bkubernetes。


2.如权利要求1所述的一种区块链服务容灾备份容器化部署方法,其特征在于,步骤1)中A、B两kubernetes集群可以是隔离的两个集群环境,可以是位于不同地点不同机房的两个集群环境。


3.如权利要求1所述的一种区块链服务容灾备份容器化部署方法,其特征在于,步骤2...

【专利技术属性】
技术研发人员:邱炜伟李伟匡立中尹可挺易达
申请(专利权)人:杭州趣链科技有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1