任务1-2:区块链系统部署与运维
围绕食品安全溯源区块链平台部署与运维需求,进行项目相关系统、节点以及管理工具的部署工作。通过监控工具完成对网络、节点服务的监控。最终利用业务需求规范,完成系统日志、网络参数、节点服务等系统结构的维护,具体要求如下:
- 根据参数与端口设置要求,部署区块链系统并验证。
- 根据参数与端口设置要求,部署区块链网络管理平台并验证。
- 基于区块链系统相关管理平台,按照任务指南实施系统运维工作并验证。
- 基于区块链系统相关监管工具,按照任务指南对区块链系统进行监管。
子任务1-2-1: 搭建区块链系统并验证
基于给定服务器环境以及软件(地址"/root/tools"),使用Docker配置单机4节点的区块链系统,具体要求如下:
|-------------|-------|
| P2P起始端口 | 30500 |
| channel起始端口 | 20500 |
| JSONRPC | 8945 |
完成任务如下:
-
完成系统搭建配置。
-
完成单机4节点区块链平台搭建,成功运行区块链系统。
-
使用基于Docker命令查看区块链系统状态。
-
检查区块链系统节点node0连接状态输出。
1-2-1-1:完成系统搭建配置。
运行脚本,指定相应的参数信息
这里有个小坑,下一题让使用docker命令来查看区块链状态,所以这里需要用到docker来部署节点
bash build_chain.sh -l 127.0.0.1:4 -p 30500,20500,8945 -d
1-2-1-2:完成单机4节点区块链平台搭建,成功运行区块链系统。
1-2-1-3:使用基于Docker命令查看区块链系统状态。
docker ps
1-2-1-4:检查区块链系统节点node0连接状态输出
子任务1-2-2:搭建区块链系统管理平台并运维
基于给定服务器环境以及软件(地址"/root/tools"),搭建区块链控制台并开展相关运维工作,具体工作内容如下:
-
配置控制台,管理相关证书并启动。
-
使用控制台查询区块链中区块高度。
-
使用控制台查询区块链中创世区块信息。
-
使用控制台查询区块链中共识状态。
1-2-2-1:配置控制台,管理相关证书并启动。
配置控制台
修改network配置项
因为控制台的通信要与群组的节点进行连接,所以要修改为20500
启动
1-2-2-2:使用控制台查询区块链中区块高度。
1-2-2-3:使用控制台查询区块链中创世区块信息。
1-2-2-4:使用控制台查询区块链中共识状态。
子任务1-2-3:区块链系统权限管理
基于给定服务器环境以及软件(地址"/root/tools"),对区块链进行权限管理,具体工作如下:
-
使用控制台,分别创建Account1、Account2、Account3用户并形成委员会。
-
使用控制台,修改Account1的投票权重为2。
-
使用控制台,将Account2从委员会中剔除,并赋予普通用户权限。
1-2-3-1:使用控制台,分别创建Account1、Account2、Account3用户并形成委员会。
创建Account1,Account2,Account3
切换到Account1用户
使用Account1添加Account1用户为委员
使用Account1添加Account2用户为委员
因为现在有两个委员了,想要再添加第三个,需要两个委员都进行投票
使用Account1添加Account3用户为委员
此时是不成功的,因为还需要Account2进行投票
使用Account2添加Account3用户为委员
验证
1-2-3-2:使用控制台,修改Account1的投票权重为2。
注意我们此时的账户时Account2,要想修改Account1账户的权重,是需要两个委员进行操作(可以包括自己)
使用Account2设置Account1的投票权重
此时是不成功的,还需要另一个委员进行操作
使用Account3设置Account1的投票权重
验证
1-2-3-3:使用控制台,将Account2从委员会中剔除,并赋予普通用户权限。
要想剔除Account委员,也是至少需要两个委员进行来进行操作
我们此时的账户是Account3
使用Account3剔除Account2委员身份
使用Account1剔除Account2委员身份
验证
子任务1-2-4:区块链系统监控
基于搭建完成的区块链系统,编写监控脚本,检测区块链程序的运行情况,最后将执行结果截图保存。具体要求:
-
编写脚本1,每隔1秒检查一次区块链节点进程数量,若为4则打印正常信息,否则打印错误信息。
-
编写脚本2,每隔3秒检查一次区块链节点进程占用的端口数量,若为12则打印正常信息,否则打印错误信息。
1-2-4-1:编写脚本1,每隔1秒检查一次区块链节点进程数量,若为4则打印正常信息,否则打印错误信息。
运行
1-2-4-2:编写脚本2,每隔3秒检查一次区块链节点进程占用的端口数量,若为12则打印正常信息,否则打印错误信息。
我们搭建了四个节点,每个节点都需要p2p_port,channel_port,jsonrpc_port端口,所以一个是12个
检查关于fiscobcos占用的端口号是否为12个。
运行