更新时间:2024-02-21 GMT+08:00

基于CCE集群

Hyperledger Fabric增强版实例支持在CCE集群上部署。本页面介绍如何部署基于CCE集群的Hyperledger Fabric增强版。

  • 基于CCE集群部署:实例和区块链数据均存储在华为云上,当您没有可用的自有硬件资源时,可购买华为云资源并采用此方式部署。
    • BCS实例需要独占CCE集群,部署BCS实例前请确保CCE集群未被使用。
    • 首次使用BCS服务时,请先登录CCE控制台确认已同意授权。更多建议请参考创建CCE集群的准备工作
    • 使用Hyperledger Fabric增强版的区块链实例之前,支持提前创建CCE集群,然后在部署区块链实例时可以选择已创建的CCE集群。或者在部署区块链实例时,选择自定义创建新的CCE集群,或者选择快速创建使用系统默认规格。
    • 基于CCE集群部署区块链实例时,为了保障实例正常运行,建议您对集群进行安全加固,比如:禁止root账号远程登录、关闭安全组22端口、删除嗅探/开发/调试/编译工具、设置系统会话超时时间(不允许为不超时)、限制容器访问openstack的管理IP地址169.254.169.254等关键场景(限制访问169.254.169.254地址后,可能导致AOM服务无法检测到集群是否安装ICAgent,但不影响监控数据的采集和上报)。更多其他安全加固建议请参考节点安全配置
    • 若您选择基于新建集群部署实例,BCS服务将自动为您限制容器访问openstack的管理IP地址169.254.169.254,并删除集群内虚机的安全组22端口。若您基于已有集群部署服务,为避免对您已有业务产生影响,BCS服务将不会进行安全加固。但建议您参考节点安全配置,根据您的实际需求进行安全加固。

前提条件

如果您使用华为云账号创建的IAM用户进行操作,IAM用户需要具备足够的权限才能操作并订购区块链实例。具体操作请参见:权限管理

您可以通过先创建用户组并授权再将用户加入到用户组的方式,使用户具有用户组中的权限。

创建区块链实例

完成环境准备工作后,可按照如下步骤购买区块链实例。

现网账号欠费会导致实例网盘被释放,已购买的实例不可用。

  1. 进入购买Hyperledger Fabric增强版实例页面

  2. 根据界面提示,配置区块链基本信息,参数如表1所示。

    表1 基本信息配置

    参数

    描述

    示例

    计费模式

    区块链实例管理收费模式,支持按需计费。

    -

    区域

    区块链基础设施所在的区域,建议选择与业务应用系统相同的地域。

    使用默认区域

    企业项目

    请选择已创建的企业项目,将区块链服务BCS添加至企业项目中。

    说明:
    • 如果您没有开通企业管理服务,将无法看到企业项目选项。

      开通方法请参见如何开通企业项目

    • 如果您使用已有CCE集群部署区块链服务BCS,建议您将区块链服务BCS添加至CCE集群的企业项目中,如果区块链服务BCS与部署区块链实例的CCE集群处于不同的企业项目,可能导致使用异常。

    default

    区块链实例名称

    支持中英文字符、数字及中划线,不能以中划线开头,长度为4-24个字符。

    说明:

    目前区块链实例名称不支持修改,只能删除重新创建。

    bcs-wh

    版本类型

    BCS提供基础版和专业版供您选择。

    说明:

    实例部署成功后,不支持变更规格。

    专业版

    区块链类型

    私有链指仅本租户内部使用的区块链实例,联盟链指可邀请其他租户一起组建联盟的区块链实例。

    私有链

    Hyperledger Fabric增强版内核

    区块链实例的版本号。

    区块链版本4.x.x对应社区Hyperledger Fabric v2.2。

    v2.2

    共识策略

    区块链网络中节点之间达成共识需要遵从的规则。

    支持Raft(CFT)、快速拜占庭容错共识算法(FBFT)。

    说明:

    Raft(CFT)共识基础版、专业版默认3个orderer节点。

    快速拜占庭容错共识算法(FBFT)

    资源初始密码

    登录区块链管理界面时的admin账户的密码、云主机的root密码和CouchDB密码。

    登录区块链管理界面时的admin账户的密码、云主机的root密码和CouchDB密码为选填项、如果您填写了就以填写值为准、如果您不填写就以资源初始密码的值为准。

    -

    资源初始密码确认

    再次输入资源初始密码进行确认。

    -

  3. (可选)单击“快速创建”,系统将按照表2为您快速购买区块链实例。

    表2 默认规格

    -

    专业版

    企业版

    购买云服务器个数

    1

    2

    云服务器规格

    4核8GB

    4核8GB

    说明:如果默认规格无法购买,则会默认购买其他较高规格。

    CCE集群是否高可用

    极速文件存储卷(SFS Turbo)节点存储大小

    1000GB

    1000GB

    EIP(弹性公网IP)

    类型:全动态BGP;带宽: 5 Mbit/s

  4. 单击“下一步:资源配置”,进行资源配置,参数如表3所示。

    表3 资源配置

    参数

    描述

    示例

    环境资源

    根据实际需求选择“创建默认环境”或“自定义环境”。

    自定义环境

    集群

    用于部署区块链实例。可以使用已有集群或者创建新CCE集群。

    说明:
    • 使用已有集群支持CCE 1.19及以下版本。
    • Fabric1.4版本实例仅支持CCE 1.15及以下版本集群。
    • 根据链代码开发语言的不同,实例化后的容器占用内存量并不相同。对于单个peer节点,单个Go语言链代码容器占用运行内存约10MB,单个Java语言链代码容器占用约110MB。例如需要实例化100个Java语言链代码,建议CCE节点规格为16核32GB。

    创建新CCE集群

    可用区

    选择云主机所在的可用区。

    可用区1

    云主机规格

    选择CCE集群中云主机的规格。

    4核/8GB

    云主机个数

    根据实际需求输入云主机个数。

    详细请参考规格信息

    2

    高可用

    若您对系统可靠性要求比较高,可购买高可用云主机。

    虚拟私有云

    支持创建虚拟私有云、系统自动创建VPC和选择已有虚拟私有云。

    系统自动创建VPC

    所在子网

    通过子网提供与其他网络隔离的、可以独享的网络资源,以提高网络安全。

    系统自动创建子网

    云主机登录方式

    支持密码、密钥对两种方式。

    密码

    root密码

    登录云主机时的root用户密码。

    如果填写该项,则以填写值为准,如果不填写,则以资源初始密码为准。

    -

    确认密码

    再次输入登录云主机时的root用户密码进行确认。

    -

    是否使用CCE集群节点弹性IP

    • 选择“是”,则将集群中绑定的弹性IP地址作为区块链网络访问地址,如果集群没有弹性IP,请先给集群绑定弹性IP后,再购买区块链实例;
    • 选择“否”,则将使用集群内部地址作为区块链网络访问地址,应用需要和集群内部网络互通才能正常工作。

    是否开启数据备份

    对区块链实例的管理数据和账本数据进行备份,默认为开启状态。

    • 选择“是”,则会在对象存储服务(OBS)和云备份服务(CBR)中生成对应的备份数据,请不要对这些备份数据进行任何操作。
    • 选择“否”,则不开启数据备份。
      

    弹性IP计费方式

    计费方式选择的是“按需计费”,弹性IP计费方式可以选择为“按带宽计费”或者“按流量计费”。

    按带宽计费

    弹性IP带宽

    根据实际需求,选择弹性IP带宽。

    5 Mbit/s

  5. 单击“下一步:区块链配置”,进行区块链配置,参数如表4所示。

    表4 区块链配置

    参数

    描述

    示例

    区块链配置

    根据实际需求选择“系统默认配置”或“自定义配置”。

    自定义配置

    区块链管理初始密码

    输入登录区块链管理界面的admin账户的密码进行确认。

    如果填写该项,则以填写值为准,如果不填写,则以资源初始密码为准。

    -

    区块链管理确认密码

    再次输入登录区块链管理界面的admin账户的密码进行确认。

    -

    存储卷类型

    极速文件存储卷:低时延、高IOPS的文件存储服务。

    极速文件存储卷

    节点组织存储容量 (GB)

    用于存储共享分布式账本,共识数据和中间结果等。

    500GB

    账本数据存储方式

    支持文件数据库(GoLevelDB)和NoSQL(CouchDB)存储方式。

    • 文件数据库(GoLevelDB):使用Fabric原生存储方式,交易历史数据保存在区块链中,状态数据保存在LevelDB中。
    • NoSQL(CouchDB):使用Fabric原生支持的存储方式CouchDB存储交易数据和状态数据。CouchDB数据库是一个独立的文档集合,每一个文档维护其自己独立的数据和自包含的schema。

    文件数据库(GoLevelDB)

    peer节点组织

    为区块链实例添加peer节点组织。

    • 若使用已有集群,自定义节点组织名称和节点数量,网络存储下方提示系统自动创建极速文件存储卷。
    • 若使用创建新CCE集群,只需自定义节点组织名称和节点数量。

    organization,节点数量为2。

    通道配置

    通道主要用于实现联盟链中业务的隔离。通道内包含业务的参与方(联盟内的部分或全部组织)作为通道成员。每个通道可视为一条子链,并且对应一套分布式账本。

    默认创建名为“channel”的实例通道,并将刚才创建的示例节点组织添加进此通道。

    共识节点数量

    区块链网络中参与交易共识的节点数量。

    当共识策略是Raft(CFT)时,共识节点数量为3。

    3

    安全机制

    保证数据安全的加密算法,支持ECDSA和国密算法。

    ECDSA

    区块生成配置

    产生的区块配置可支持区块产生时间,区块交易数量和区块容量,其中任何一个条件满足,区块就会产生,可根据交易频率和业务量灵活配置。

    请根据实际选择“是”“否”

    • 是:自定义设置以下参数:区块产生时间、区块交易数量和区块容量。
    • 否:无需设置参数,区块产生时间默认为2秒、区块交易数量默认为500个和区块容量默为2MB。

    添加RESTful API支持

    若您需要使用RESTful方式进行链代码调用,则选择“是”。

    说明:

    该功能为公测特性(Beta)。

  6. 单击“下一步:确认订单”。
  7. 确认配置信息无误后,勾选协议和免责声明,并单击“提交订单”。

    请等待数分钟,安装页面提示安装成功,查看实例状态变为“正常”后,表示区块链实例部署完成。

    图1 实例状态

后续操作(可选)

已部署的实例,支持查看创建实例、删除实例、升级实例、添加组织、扩容节点、创建通道、节点加入通道等操作记录。左侧操作状态栏会展示已有操作记录的状态,操作状态类型包括:进行中、升级中、删除中、成功和失败(截图仅供参考,请以实际环境为准)。

图2 操作记录

系统将保留最近三天的操作记录。

  1. 登录区块链服务管理控制台,单击左侧导航栏中的“实例管理”。
  2. 单击“操作记录”,查看各个资源的操作记录。

    您可以按资源名称关键词搜索操作记录,还可以在资源所在行进行“操作详情”及“删除”操作。

部署BCS的集群节点支持增加反亲和标签,在您需要将应用部署到区块链集群中时作区分隔离,以保证系统正常工作。

  1. 登录CCE控制台。
  2. 在“集群管理”页面,单击集群名称进入集群信息页面。
  3. 选择“节点管理”,在“节点”页签,勾选节点,单击“标签与污点管理”。
  4. 在弹出的窗口中,在“批量操作”下方单击“新增批量操作”,然后选择“添加/更新”。填写需要增加标签的键为“nodeScope”,值为“userApplication”。

  5. 单击“确定”。
  6. 标签添加成功后,再次单击“标签与污点管理”,在“节点数据”下方单击“查看”即可显示已经添加的标签。