Alaya网络升级至0.16.2版本 | 内含升级操作手册

原创 PlatON

Alaya网络升级至0.16.2版本 | 内含升级操作手册

近日,PlatON元网络Alaya升级至0.16.2版本,本次升级是核心开发团队针对近期验证节点反馈的节点问题的修复版本。修复因使用全局的随机数对象在并发情况下的数据不一致问题。

以下为版本升级操作手册:

版本信息

ChainID: 201018

Version: 0.16.2

Git Commit: 430aecb60a61a10613835f4f014f0ecb5a72af5c

二进制下载:

https://download.alaya.network/alaya/platon/0.16.2/alaya

1. 升级步骤说明

若Alaya节点是0.16.1版本,请跳到第3点直接进行更新操作。

$ alaya version
Version: 0.16.1-unstable
Git Commit: 76b3b19b70d6c9a7f0dcc3119471613e3c84dc24

2. 升级注意事项

这是节点从0.16.0升级到0.16.1会出现的注意事项;若是节点没有升级到0.16.1,直接选择从0.16.0升级到0.16.2,也要注意以下事项。

2.1 CPU、内存和磁盘问题

升级过程中部分历史数据会做迁移至Freezer数据库,CPU会有所增加,数据迁移完成恢复正常;升级重启后,少数会有内存增加的情况,数据迁移完成后恢复正常;升级后存储也会有部分提升(例如从30700000块高升级后存储空间将增加约11G)。详细查看Github releases

  • 升级内存8G内存的节点在升级重启的过程中小概率会出现内存增加,导致OOM,为了避免这种情况,建议使用swap分区,若有条件也可以选择将机器物理内存升级到16GB。

增加swap分区

wget https://download.alaya.network/alaya/scripts/alaya_swap.sh
chmod +x alaya_swap.sh
./alaya_swap.sh 

注意:

1. 文档提供的alaya_swap.sh 脚本做以下处理:当swap分区不存在,则创建8G的swap分区;当swap分区小于7G,会增加swap分区到8G;当swap分区大于7G,则不创建swap分区。

2. 若不升级主机内存进行节点升级,将出现OOM的情况,导致机器无法连接上。在此情况下,重启主机机器可恢复启动进程。

  • 扩容磁盘升级过程中,磁盘容量有所增加约11G,若磁盘可用容量不足,建议扩容磁盘容量。

2.2 不兼容性问题

本次节点升级后,不能使用0.16.0的版本和升级后的数据进行启动,建议升级前,先下载官方提供的备份数据,存放在节点主机上,若节点升级后不能启动,需要使用0.16.0的版本和数据来启动节点。

  • fast模式备份数据,数据大小是17G的,块高是33280041,当节点启动失败,使用该数据替换data/platon目录
wget https://download.alaya.network/alaya/nodedata/0.16.0-fast-data.tar.gz
tar -xf 0.16.0-fast-data.tar.gz

3. 更新指南(先更新,暂不重启)

以下步骤以Ubuntu18.04系统为例,更新操作分为两种方式:直接使用二进制、源码编译,选其中一种方式更新即可;请严格按照以下步骤操作升级,如有需要帮助请联系客服。

  • 直接用二进制
# 备份二进制
$ [[ -x /usr/bin/alaya ]] && sudo mv /usr/bin/alaya /usr/bin/alaya_`alaya version | grep '^Version:' | awk -F "[ ,:,-]" '{print $3}'`
# 下载最新的二进制文件
$ wget https://download.alaya.network/alaya/platon/0.16.2/alaya
# 使用新的alaya版本
$ chmod +x alaya
$ sudo mv alaya /usr/bin/alaya
# 查看版本
$ alaya version
Version: 0.16.2-unstable
Git Commit: 430aecb60a61a10613835f4f014f0ecb5a72af5c
  • 源码编译(针对之前已成功编译过的环境,全新编译请参考官网)
# 备份二进制
$ [[ -x /usr/bin/alaya ]] && sudo mv /usr/bin/alaya /usr/bin/alaya_`alaya version | grep '^Version:' | awk -F "[ ,:,-]" '{print $3}'`
# 编译二进制
$ git clone https://github.com/AlayaNetwork/Alaya-Go.git --recursive
cd Alaya-Go 
$ git fetch --all
$ git checkout -b alaya-0.16.2 430aecb60a61a10613835f4f014f0ecb5a72af5c
# 安装依赖和编译,如果出现missing go.sum entry for module,使用go mod tidy移除未使用和添加缺失的依赖
$ go mod download && make all
# 使用新的alaya版本
$ chmod +x build/bin/alaya
$ sudo mv build/bin/alaya /usr/bin/alaya
# 查看版本
$ alaya version
Version: 0.16.2-unstable
Git Commit: 430aecb60a61a10613835f4f014f0ecb5a72af5c

4. 择机重启进程

如果当前节点质押过,首先通过区块链浏览器查看节点是否已经被选为验证人(共识中) 如果已经当选,请等待节点退出验证人(共识中转为活跃中)后再进行重启进程操作。

以下命令仅做参考,根据各自的管理方式,重启Alaya进程

nohup alaya --identity alaya-node --datadir ./data --port 16789  --rpcport 6789 --rpcapi "db,platon,net,web3,admin,personal" --rpc --nodekey ./data/nodekey --cbft.blskey ./data/blskey --verbosity 1 --rpcaddr 127.0.0.1 --syncmode "fast" > ./data/platon.log 2>&1 &

5. 版本声明

当版本声明后,可在浏览器查看节点版本

alaya_mtool declare_version --keystore $ALAYA_MTOOLDIR/keystore/staking.json --config $ALAYA_MTOOLDIR/validator/validator_config.json
  • 未质押过的节点,跳过本步骤。
  • 没定义$ALAYA_MTOOLDIR的,需要根据实际部署情况补全绝对路径。

6. 反馈

Alaya升级失败的,可通过以下渠道反馈。

  1. 微信 Colinan
  2. Telegram 验证节点群
  3. 邮箱 validator@platon.network

本文转载自https://mp.weixin.qq.com/s/v3sgln3NRVboZVRx5IZ-hA

(0)
PlatONWorld-M6的头像PlatONWorld-M6管理员
上一篇 7 12 月, 2021 09:59
下一篇 8 12 月, 2021 10:08

相关推荐

发表回复

登录后才能评论