Horo
Horo

目前是 LikeCoin Chain 验证人 Yoitsu 背后的家伙,以及 CDC/CFC 划水组成员(笑)。偶尔会变身成狐狸。( @foobarz )

Yoitsu 2022年6月9日下线事件报告

由于我在此事件中丢失了该节点的私钥,因此我重建了名为 Yoitsu 的验证器节点。

本次事件详情

以下时间均为UTC+8时间。

大约上午 11 点,我注意到我的验证器节点缺少来自 Discord 机器人的许多块。

curl -sS http://localhost:26657/net_info | jq -r '.result.n_peers'返回 0,这意味着我的节点当时无法连接到任何对等方。因此,我计划将虚拟服务器移至其他位置以尝试缓解此问题。

我的验证器节点托管在 Linode 上,它支持将虚拟服务器迁移到不同的数据中心,尽管它不支持将外部安装的块存储一起移动。

为了节省时间,我没有转~/.liked/data目录,并尝试使用 state-sync 来赶块。虽然我每次都遇到“超出内容期限”错误:

 cosmovisor [3370]:12:27PM ERR 错误,来自见证人的光块请求,删除... error="post failed: Post \"https://fotan-node-2.like.co:443/rpc/\" :超出上下文期限”模块=轻主={}

因此我尝试清除旧的 ~/.liked 目录以使用 nnkken 的快照进行捕获,而我只取出 ~/.liked/keyring-file 目录。所以我在 ~/.liked/config 中丢失了验证器节点的私钥。

在我的节点状态上将 sync_info.catch_up 设置为 false 之后。我注意到我的节点中没有投票权,BigDipper 仍然显示我的节点缺少块。所以我检查了日志:

 Jun 09 10:11:12 localhost cosmovisor[2485]: 10:11AM INF 此节点不是验证者 addr=353558D7C7D69DF83A6C9D37BB8204B38561217C module=consensus pubKey=cEwyDK/M1mJ+fJHXASe……

并且 ~/likedtendermint show-address 返回了一个与我的验证器的操作员地址不同的地址。我意识到我丢失了节点的私钥。所以我在 Discord 的#mainnet-validators频道上宣布了这一事件,并开始重新创建一个新节点。

从这次事件中得知

  • 仅备份节点运营商的私钥是不够的,我们也应该备份节点自己的私钥。

后续行动

建议

  • 可能有很多关于状态同步的失败报告。可能有必要测试这种机制,即使它不会经常用于同步。
  • 或者我们可以扩展文档以涵盖如何为更多节点启用状态同步以提高此功能的稳健性。


CC BY-NC-ND 2.0 版权声明

喜欢我的文章吗?
别忘了给点支持与赞赏,让我知道创作的路上有你陪伴。

狼与马特市的幻想物语

Horo

(没错这个围炉目前就是来蹭热度的,所有的文章都不会上锁。当然汝要是真的想支持咱的话订阅也 OK)

066
加载中…
加载中…

发布评论