Skip to content

Commit

Permalink
add deploy log (#1618)
Browse files Browse the repository at this point in the history
  • Loading branch information
bxq2011hust committed Feb 2, 2023
1 parent e8b3535 commit 5411464
Showing 1 changed file with 23 additions and 2 deletions.
25 changes: 23 additions & 2 deletions 3.x/zh_CN/docs/manual/operation_and_maintenance.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,20 @@

标签:``运维``

## 日志说明
## 部署

联盟链是由多个节点组成的分布式网络和分布式系统,节点地理位置率属于某个分区,归属关系率属于某个机构。联盟链的部署需要考虑机构、分区、节点等多个因素。下面是一些部署的基本原则:

||目的|内容
|:--|:--|:--
|1|共识有容错空间|节点数满足N=3F+1,链至少需要4个节点
|2|分区容错|每个分区共识节点数量不应超过F
|3|机构内避免单点故障|每个机构至少有2个节点
|4|节省资源、增加效率|机构内的部分节点为观察节点
|5|机构权重调整|根据各方认同的权重,调整机构内节点数量与共识节点权重

## 日志说明

FISCO BCOS提供了规范的日志输出格式,可以根据日志进行系统运行状态的分析、问题定位、监控统计等。

```bash
Expand All @@ -19,13 +32,15 @@ info|2022-11-21 20:00:35.479505|[SCHEDULER][blk-1]BlockExecutive prepare: fillBl
日志输出级别设定在config.ini文件配置,在测试环境中,建议设置为trace或debug级别,可以输出所有级别的日志,便于分析定位问题。在生产环境时,建议设置为info级别,减少日志输出量(trace和debug日志量较大),避免日志磁盘占用过多。

## 监控告警

FISCO BCOS的监控包括区块链监控和系统监控两部分。

【区块链监控】FISCO BCOS提供自身系统的监控工具monitor.sh,可以对节点存活、共识状态、账本情况等进行监控。monitor.sh工具可以将输出内容对接到机构自身的运维监控系统中去,使得区块链的监控可以接入机构运维监控平台。

【系统监控】除了监控FISCO BCOS节点自身,还需要从系统环境角度监控相关指标。建议运维要对节点运行的CPU、内存、带宽占用以及磁盘占用进行监控,及时发现系统环境异常。FISCO BCOS3.0 可以监控区块链是否正常工作,包括监控共识、同步是否异常、监控磁盘空间,也提供简单的接入用户告警系统的方式,可查看[light_monitor.sh监控工具](../develop/light_monitor.md)

## 数据备份与恢复

FISCO BCOS支持两种数据备份方式,可以根据需要选择合适的方式。
【方式一】:停止节点,将节点的data目录整体打包压缩并备份到其他位置,待需要的时候从备份数据解压缩,恢复节点。这种方式相当于快照一个账本状态的数据,以便后续从这个状态进行恢复,具体操作可参考[节点监控配置](https://fisco-bcos-doc.readthedocs.io/zh_CN/latest/docs/tutorial/air/build_chain.html?highlight=%E7%9B%91%E6%8E%A7#id4)

Expand All @@ -34,6 +49,7 @@ FISCO BCOS支持两种数据备份方式,可以根据需要选择合适的方
方式一的优点是无需部署新的服务和操作,运维简单,缺点是备份的是某个历史状态,从这个状态恢复的数据不是最新数据,恢复之后需要从其他节点同步账本更新的数据。方法二则与方法一相反,需要部署服务,运维成本更高,但是可以随时恢复到最新账本状态。

## 扩容方法

FISCO BCOS扩容主要考虑两个方面,节点数量的扩容和数量盘的扩容。

【节点数量扩容】:FISCO BCOS支持动态增加和剔除节点,以及可改变节点的身份状态(共识、观察、游离)。剔除和更改状态直接通过控制台命令就可以完成。新增节点需要通过以下几个步骤:
Expand All @@ -50,6 +66,7 @@ FISCO BCOS扩容主要考虑两个方面,节点数量的扩容和数量盘的
【数据盘扩容】:数据盘扩容包括Air链数据盘扩容与Max链数据盘扩容。

Air链数据盘扩容: FISCO BCOS默认采用rocksdb的存储引擎(性能比Mysql引擎高),rocksdb数据存储在本地磁盘。如果需要扩容本地磁盘,采用如下步骤:

1. 从控制台剔除该节点,让该节点不参与共识,也不参与同步;
2. 停止节点;
3. 挂载新盘;
Expand All @@ -61,16 +78,17 @@ Air链数据盘扩容: FISCO BCOS默认采用rocksdb的存储引擎(性能
Max链数据盘扩容:Max节点在生产环境建议使用TIKV的集群版,TiKV集群版作为节点的后端可以轻松简单的实现扩容缩容。具体的扩容缩容请参考[TIKV扩容](../tutorial/max/max_builder.md)

## 升级方法

FISCO BCOS可以友好地支持节点、合约兼容升级。

【节点升级】:FISCO BCOS采用compatibility_version来控制区块链兼容版本,在建链须决定compatibility_version,后续升级节点时,此项配置不可更改。例如建链时compatibility_version为3.1.0,后续节点升级到3.2.0、3.3.0之后,compatibility_version配置必须保持为3.1.0。节点升级步骤如下:

1. 停止节点;
2. 备份老版本节点的fisco-bcos二进制可执行程序,用新版本替换;
3. 重启节点;
4. 检查共识、同步情况,确保节点运行正常。
合约升级可参考文档[智能合约的升级](https://fisco-bcos-doc.readthedocs.io/zh_CN/latest/docs/develop/contract_life_cycle.html#id5)


## 密钥管理

FISCO BCOS涉及链、机构、节点、SDK的私钥和证书管理,如果采用自签证书(FISCO BCOS建链默认提供),运维需要将所有这些私钥和证书管理起来,做好备份。具体管理方式,可以采用机构自身的管理系统,也可以采用FISCO BCOS提供的密钥托管服务(需要部署和运维该服务)。涉及的证书与私钥包括:
Expand All @@ -86,18 +104,21 @@ FISCO BCOS涉及链、机构、节点、SDK的私钥和证书管理,如果采

FISCO BCOS为保证系统通信运维安全,会定期更新节点TLS通信密钥,防止攻击者在长时间内通过截获大量的密文来分析出密钥。
而密钥更新分为更新节点所有证书与密钥以及仅节点TLS通信证书两种方式,更新根证书的步骤如下:

1. 备份原 CA 证书与密钥;
2. 基于原 CA 证书的配置与证书签名请求,生成新的 CA 证书和密钥;
3. 备份新 CA 证书与密钥;
4. 节点重启,启用新的CA证书与密钥进行通信。

仅更新节点TLS通信证书步骤如下:

1. 备份原节点TLS通信证书与密钥
2. 基于CA证书的配置与证书签名请求,生成新的节点TLS通信证书;
3. 备份新节点TLS通信证书和密钥
4. 节点通信重启,启用新的CA证书与密钥进行通信。

若证书泄露,那么证书使用越久,则损失越大。 因此对证书的使用,应设置有效期,当证书超过有效期或停止使用后,对证书进行销毁,具体销毁流程如下:

1. 检查节点通信证书有效期,若证书过期,则将证书归档后销毁,若是密钥停止使用,用户亦可在证书归档后主动销毁证书;
2. 更新节点TLS通信密钥,产生新的通信证书;
3. 将新证书进行备份,重启节点,启用新证书。
Expand Down

0 comments on commit 5411464

Please sign in to comment.