Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

升级节点

使用此过程升级 Stable 节点,同时保留其节点特定的配置和验证器状态。始终从网络历史页面获取版本、二进制文件和激活高度。

开始之前

你需要:

  • 对节点具有 shell 访问权限和管理其服务的权限。
  • 有足够的磁盘空间用于活动数据目录之外的受保护备份。
  • 你的部署的节点主目录、服务名称和已安装的二进制路径。
  • 主网版本历史测试网版本历史中的发布条目。

以下示例使用这些路径。将其更改为与你的部署匹配:

export STABLED_HOME="/var/lib/stabled"
export STABLED_SERVICE="stabled"
export STABLED_BIN="/usr/local/bin/stabled"
export STABLED_ARCH="amd64" # 在 ARM 主机上使用 arm64。
无输出。

1. 检查运行中的节点

在更改节点之前记录当前的构建和同步状态:

"$STABLED_BIN" version --long
curl -fsS http://localhost:26657/status \
  | jq '{catching_up: .result.sync_info.catching_up, latest_block_height: .result.sync_info.latest_block_height}'
<当前构建信息>
{
  "catching_up": false,
  "latest_block_height": "<当前高度>"
}

catching_upfalse 之前不要继续。

2. 备份身份和配置

保持验证器密钥和签名状态私有。将此备份存储在加密存储上,权限仅限于节点操作员。

export STABLED_BACKUP="/var/backups/stabled/pre-upgrade"
sudo install -d -m 0700 "$STABLED_BACKUP"
sudo cp -a "$STABLED_HOME/config" "$STABLED_BACKUP/config"
sudo cp -a "$STABLED_HOME/data/priv_validator_state.json" \
  "$STABLED_BACKUP/priv_validator_state.json"
sudo cp -a "$STABLED_BIN" "$STABLED_BACKUP/stabled"
printf '备份存储在 %s\n' "$STABLED_BACKUP"
备份存储在 /var/backups/stabled/pre-upgrade

3. 下载并检查发布

Stable 主网在区块 36,976,000 激活了 v1.8.0。下载适用于你的主机架构的存档,并在安装前检查报告的构建:

export STABLED_RELEASE="v1.8.0"
export STABLED_ARCHIVE="/tmp/stabled-1.8.0-linux-${STABLED_ARCH}-mainnet.tar.gz"
export STABLED_STAGE="/tmp/stabled-v1.8.0"
 
curl -fL \
  "https://stable-data-dist.s3.us-east-1.amazonaws.com/mainnet/binary/stabled-1.8.0-linux-${STABLED_ARCH}-mainnet.tar.gz" \
  -o "$STABLED_ARCHIVE"
mkdir -p "$STABLED_STAGE"
tar -xzf "$STABLED_ARCHIVE" -C "$STABLED_STAGE"
"$STABLED_STAGE/stabled" version --long
<v1.8.0 的构建信息>

对于其他发布或测试网,从相应的版本历史表中复制确切的二进制 URL。

4. 准备 v1.8.0 配置

v1.8.0 向 config.tomlapp.toml 添加了必需的设置。将主网模板下载到临时目录中:

export STABLED_CONFIG_STAGE="/tmp/stable-v1.8.0-config"
mkdir -p "$STABLED_CONFIG_STAGE"
curl -fL \
  "https://stable-data-dist.s3.us-east-1.amazonaws.com/mainnet/configuration/v1.8.0/partners/config.toml" \
  -o "$STABLED_CONFIG_STAGE/config.toml"
curl -fL \
  "https://stable-data-dist.s3.us-east-1.amazonaws.com/mainnet/configuration/v1.8.0/partners/app.toml" \
  -o "$STABLED_CONFIG_STAGE/app.toml"
printf '配置已暂存到 %s\n' "$STABLED_CONFIG_STAGE"
配置已暂存到 /tmp/stable-v1.8.0-config

从这些模板开始,然后从备份中恢复每个节点特定的值。至少检查:

  • monikerexternal_address
  • 持久对等节点、种子和私有对等节点设置。
  • API、JSON-RPC、gRPC 和指标设置。
  • 组织特定的超时和资源限制。
  • 归档节点的修剪设置。

分发的 app.toml 使用默认修剪。修剪的历史记录无法从本地节点重建。v1.8.0 还强制关闭 inter-block-cache

5. 停止节点并安装文件

对于协调的未来升级,请等到节点在发布的高度停止。v1.8.0 主网高度是历史的,因此可以在安装之前停止较旧的主网节点。

sudo systemctl stop "$STABLED_SERVICE"
systemctl is-active "$STABLED_SERVICE" || true
inactive

安装暂存的二进制文件和完整的配置文件:

sudo install -m 0755 "$STABLED_STAGE/stabled" "$STABLED_BIN"
cp "$STABLED_CONFIG_STAGE/config.toml" "$STABLED_HOME/config/config.toml"
cp "$STABLED_CONFIG_STAGE/app.toml" "$STABLED_HOME/config/app.toml"
printf '已安装 %s\n' "$STABLED_RELEASE"
已安装 v1.8.0

v1.8.0 主网升级不需要状态导出、导入或快照重置。

6. 启动并验证节点

启动服务,验证已安装的构建,并确认节点恢复同步:

sudo systemctl start "$STABLED_SERVICE"
systemctl is-active "$STABLED_SERVICE"
"$STABLED_BIN" version --long
curl -fsS http://localhost:26657/status \
  | jq '{catching_up: .result.sync_info.catching_up, latest_block_height: .result.sync_info.latest_block_height}'
active
<v1.8.0 的构建信息>
{
  "catching_up": false,
  "latest_block_height": "<当前高度>"
}

在将节点恢复正常操作之前,检查服务日志中是否存在重复的崩溃、共识失败或配置解析错误。

使用 Cosmovisor 自动化未来升级

当链上升级处理程序达到其配置的高度时,Cosmovisor 可以切换二进制文件。遵循 Cosmovisor 文档并使用适用治理提案中的升级名称。

除非你的操作策略明确信任配置的来源,否则请禁用自动二进制下载。在激活高度之前暂存并验证发布二进制文件。

仅根据发布特定说明回滚

如果新进程在执行升级块之前失败,请保持服务停止并检查错误。仅当发布说明说明回滚安全时才恢复以前的二进制文件和配置。

如果节点已执行升级块,请与网络操作员协调恢复。恢复可能需要特定于发布的二进制文件或在约定高度的受信任快照。

接下来去哪里