准备工作
系统
本实验使用系统为Ubuntu-20.04,以此嵌套两台CentOS7,并在其中使用docker来搭建环境
开发部署工具build_chain.sh脚本
本实验已提前准备好build.sh脚本,如需获取可前往 [GitHub][GitHub]下载master-2.0分支最新版本预编译可执行程序进行相关环境的搭建
其他
本实验提前准备好了CentOS7虚拟机文件(centos7.qcow2)、yum源(rpms.rar)、docker镜像仓库(docker_images.tar.g)以及国密区块链环境脚本(tassl.tar.gz)
Fisco-BCOS基础环境部署
一、部署Ubuntu基础环境
1、KVM
安装命令,安装完成后重启Ubuntu
1
| sudo apt-get install -y qemu-kvm qemu bridge-utils virt-manager virt-viewer
|
安装命令
1
| sudo apt-get install -y net-tools
|
3、配置网桥
1
| sudo ifconfig virbr0 [IP]
|
4、设置root口令
5、openssh
安装
1
| sudo apt-get install -y openssh*
|
编辑配置文件
1 2 3 4 5 6 7
| sudo vim /etc/ssh/sshd_config ………………省略部分输出信息……………… 34 PermitrootLogin prohibit-passwd #去掉井号,允许root登录,但是禁止root用密码登录 ………………省略部分输出信息……………… 58 PasswordAuthentication yes #去掉井号允许root登录
|
重启
1
| sudo systemctl restart sshd
|
二、安装配置两台centos7系统虚拟机
1、运行KVM
2、新建虚拟机
3、导入镜像,浏览事先准备好的镜像的存放路径,并选择镜像
4、配置虚拟机参数
5、第二台虚拟机配置
将实现准备好的qcow2镜像文件复制,然后与配置第一台虚拟机操作一致
三、部署centos基础环境
1、修改两台centos虚拟机的主机名一台为chain-a,一台为chain-b
2、分别给chain-a与chain-b配置网卡信息,并重启网络
3、在Ubuntu安装rar,解压事先准备好的yum源rpms.rar
1 2
| sudo apt-get install rar -y sudo rar x rpms.rar
|
4、将rpms文件夹传输到chain-a的root下
1
| scp -r rpms root@10.10.1.200:/root/
|
5、配置yum源
以下命令在chain-a执行
1 2
| rm -rf /etc/yum.repos.d/* vi local.repo #将rpms写入新的repo文件,配置yum源
|
1
| yum repolist #查看当前可用yum源
|
6、在chain-a使用vsftpd来配置chain-b的yum源
chain-a下执行
1 2 3 4 5 6
| yum install -y vsftpd #安装vsftpd systemctl restart vsftpd #重启 systemctl enable vsftpd #开机自启 firewall-cmd --add-service=ftp --zone=public --permanent #防火墙放行ftp服务 firewall-cmd --reload #防火墙重载 cp -r rpms /var/ftp/pub/ #将rpms放在ftp目录下
|
chain-b下执行
1 2
| rm -rf /etc/yum.repos.d/* vi ftp.repo #配置yum源
|
1
| yum repolist #查看当前可用yum源
|
7、在chain-a、chain-b上安装openssl、openssh
以下命令皆在chain-a、chain-b下执行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| yum install -y openssl* #安装openssl yum remove -y NetworkManager #为了防止冲突等意外情况,卸载NetworkManager yum install -y openssh* #安装openssh vi /etc/ssh/sshd_config #修改ssh配置文件 ………………省略部分输出信息……………… PasswordAuthentication yes #允许root登录 ………………省略部分输出信息……………… UseDNS no 禁止使用DNS ………………省略部分输出信息……………… systemctl restart sshd systemctl enable sshd ssh-keygen #生成密钥 cd .ssh #切换到密钥目录 ssh-copy-id -i id_rsa.pub [本机IP] #拷贝密钥到本机 ssh-copy-id -i id_rsa.pub [对方IP] #拷贝密钥到对方
|
测试连通性
Fisco-BCOS部署与启动
一、安装doker
以下操作在chain-a、chain-b下执行
1 2 3
| yum install -y docker-ce* systemctl restart docker systemctl enable docker
|
二、部署docker环境以及Fisco-BCOS
1、上传事先准备好的docker_images仓库到chain-a,并在chain-a解压
以下命令在Ubuntu系统执行
1
| scp docker_images.tar.gz root@10.10.1.200:/root/
|
以下命令在chain-a下执行
1 2
| tar -zxf docker_images.tar.gz cd docker_images #切换至解压好的docker_images下
|
2、在chain-a导入registry镜像
以下命令在chain-a下执行
1 2 3
| docker load < docker_registry.tar #导入镜像 docker images #查看本地镜像 docker tag [image ID] registry:latest
|
3、启动registry容器
以下命令在chain-a下执行
1
| docker run -d --name registry -p 5000:5000 --restart=always -v /storage/registry:/tmp/registry registry
|
4、编辑daemon.json
以下命令在chain-a下执行
1 2 3 4 5 6
| vi /etc/docker/daemon.json { "insecure-registries":["fiscoorg:5000"] }
systemctl restart docker #重启docker
|
5、配置/etc/hosts文件
以下命令在chain-a下执行
1 2 3
| vi /etc/hosts ………………省略部分输出信息……………… 10.10.1.200 fiscoorg
|
6、将chain-a下/etc/hosts以及daemon.json传送至chain-b
以下命令在chain-a下执行
1 2
| scp /etc/hosts 10.10.1.201:/etc/ scp /etc/docker/daemon.json 10.10.1.201:/etc/docker/
|
7、导入fiscoorg.tar,并打上标签
以下命令在chain-a下执行
1 2 3
| docker load < fiscoorg.tar docker tag [image ID] fiscoorg:5000/fiscobcos:v2.6.0 docker images #查看本地镜像
|
8、上传fiscobcos镜像
以下命令在chain-a下执行
1
| docker push fiscoorg:5000/fiscobcos:v2.6.0
|
9、配置防火墙,放行端口
以下操作在chain-a、chain-b下执行
1 2 3 4 5
| firewall-cmd --add-port=20200/tcp --zone=public --permanent firewall-cmd --add-port=20201/tcp --zone=public --permanent firewall-cmd --add-port=30300/tcp --zone=public --permanent firewall-cmd --add-port=30301/tcp --zone=public --permanent firewall-cmd --reload
|
10、上传事先准备好的build.sh
以下命令在Ubuntu系统执行
1 2
| scp build.sh root@10.10.1.200:/root/ scp build.sh root@10.10.1.201:/root/
|
11、编写node_list
以下命令在chain-a下执行
1 2 3
| vi /root/node_list 10.10.1.200:2 agency1 1 30300,20200,8545 10.10.1.201:2 agency1 2 30300,20200,8545
|
12、生成fisco-bcos启动文件
以下命令在chain-a下执行
1
| bash build.sh -f node_list
|
13、在chain-b上重启docker,并拉取镜像
1
| docker pull fiscoorg:5000/fiscobcos:v2.6.0
|
14、将chain-a上生成的chain-b的fisco-bcos启动文件传送给chain-b
1
| scp -r /root/nodes/10.10.1.201 root@10.10.1.201:/root/
|
三、Fisco-BCOS启动
1、在启动文件下执行启动脚本
2、查看节点运行情况
1 2
| docker ps #列出容器 docker logs [image ID] #获取容器的日志
|
国密环境
一、准备国密环境
1、将事先准备好的tassl.tar.gz国密环境包传送到chain-a
以下命令在Ubuntu系统执行
1
| scp tassl.tar.gz root@10.10.1.200:/root/
|
2、解压到指定目录
以下命令在chain-a下执行
1 2 3 4
| tar -zxf tassl.tar.gz mkdir .fisco mv tassl .fisco/ ll .fisco/tassl #查看文件夹权限
|
二、国密区块链脚本生成
1、生成脚本
以下命令在chain-a下执行
1
| bash build.sh -f node_list -o guomi_nodes -g
|
2、传送chain-b脚本至chain-b
以下命令在chain-a下执行
1
| scp -r guomi_nodes/10.10.1.201 10.10.1.201:/root/
|
三、启动国密区块链
1、启动脚本
以下操作在chain-a、chain-b下执行
2、查看国密区块链
1 2
| docker ps #列出容器 docker logs [image ID] #获取容器的日志,版本号会显示gm
|