跳到主要内容

1. 区块链软件升级

当需要更新区块链软件到最新版本时,遵循以下步骤可以确保升级过程顺畅,同时最小化对服务的影响。

1.1. 场景

  • 软件版本更新:当有新版本发布,包含功能增强、性能优化或安全修复时。

1.2. 模式

  • 单节点环境:需要先停止服务再进行升级,升级期间服务不可用。
  • 多节点环境:可以逐一升级节点,其余节点继续提供服务,实现无缝升级。

2. 升级步骤

2.1. 下载新版本安装包

  • 申请最新版安装包:通过发送邮件至 support@bubi.cn 获取最新版的 BubiChain 安装包。

2.2. 停止服务

  • 单节点环境:直接停止服务。
  • 多节点环境:逐一停止每个节点的服务。
$ cd /usr/local/bubi
$ ./scripts/bubi stop

2.3. 备份当前服务文件

备份 bubi 和 bubid 可执行文件:在升级前创建备份以防万一。

$ cp /usr/local/bubi/bin/bubi /usr/local/bubi/bin/bubi_bak
$ cp /usr/local/bubi/bin/bubid /usr/local/bubi/bin/bubid_bak

2.4. 解压新版安装包

指定解压目录:选择一个临时目录,如 /tmp,解压新版本的安装包。

$ tar xf bubichain-new.tar.gz -C /tmp

2.5. 替换现有文件

替换旧版本的可执行文件:将新版本的 bubibubid 文件覆盖旧版本。

$ cp -r /tmp/bubichain-new/bin/bubi /usr/local/bubi/bin/
$ cp -r /tmp/bubichain-new/bin/bubid /usr/local/bubi/bin/

2.6. 启动服务

重新启动区块链服务:在每个节点上执行以下命令。

$ cd /usr/local/bubi
$ ./scripts/bubi start

2.7. 验证状态

检查端口状态:确保服务已成功启动并监听所有必要端口。

$ netstat -tpnl | grep bubi

查看区块高度:检查区块高度是否正常递增,验证升级成功。

$ curl localhost:19333/getLedger

关键点总结

  • 在多节点环境中,可以采用滚动升级的方式,一次升级一个节点,以减少服务中断时间。
  • 保留旧版本的备份,以便在升级失败时迅速回滚。
  • 升级后,检查所有服务端口是否正常工作,并验证区块链的运行状态。