基于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用户需要具备足够的权限才能操作并订购区块链实例。具体操作请参见:权限管理。
您可以通过先创建用户组并授权再将用户加入到用户组的方式,使用户具有用户组中的权限。
创建区块链实例
完成环境准备工作后,可按照如下步骤购买区块链实例。
现网账号欠费会导致实例网盘被释放,已购买的实例不可用。
- 进入购买Hyperledger Fabric增强版实例页面。
- 根据界面提示,配置区块链基本信息,参数如表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密码为选填项、如果您填写了就以填写值为准、如果您不填写就以资源初始密码的值为准。
-
资源初始密码确认
再次输入资源初始密码进行确认。
-
- 如果您没有开通企业管理服务,将无法看到企业项目选项。
- (可选)单击“快速创建”,系统将按照表2为您快速购买区块链实例。
- 单击“下一步:资源配置”,进行资源配置,参数如表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
- 单击“下一步:区块链配置”,进行区块链配置,参数如表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)。
否
- 单击“下一步:确认订单”。
- 确认配置信息无误后,勾选协议和免责声明,并单击“提交订单”。
请等待数分钟,安装页面提示安装成功,查看实例状态变为“正常”后,表示区块链实例部署完成。
图1 实例状态
后续操作(可选)
已部署的实例,支持查看创建实例、删除实例、升级实例、添加组织、扩容节点、创建通道、节点加入通道等操作记录。左侧操作状态栏会展示已有操作记录的状态,操作状态类型包括:进行中、升级中、删除中、成功和失败(截图仅供参考,请以实际环境为准)。
系统将保留最近三天的操作记录。
- 登录区块链服务管理控制台,单击左侧导航栏中的“实例管理”。
- 单击“操作记录”,查看各个资源的操作记录。
您可以按资源名称关键词搜索操作记录,还可以在资源所在行进行“操作详情”及“删除”操作。
部署BCS的集群节点支持增加反亲和标签,在您需要将应用部署到区块链集群中时作区分隔离,以保证系统正常工作。
- 登录CCE控制台。
- 在“集群管理”页面,单击集群名称进入集群信息页面。
- 选择“节点管理”,在“节点”页签,勾选节点,单击“标签与污点管理”。
- 在弹出的窗口中,在“批量操作”下方单击“新增批量操作”,然后选择“添加/更新”。填写需要增加标签的键为“nodeScope”,值为“userApplication”。
- 单击“确定”。
- 标签添加成功后,再次单击“标签与污点管理”,在“节点数据”下方单击“查看”即可显示已经添加的标签。