目前是 LikeCoin Chain 验证人 Yoitsu 背后的家伙,以及 CDC/CFC 划水组成员(笑)。偶尔会变身成狐狸。( @foobarz )
Yoitsu 2022年6月9日下线事件报告
本次事件详情
以下时间均为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频道上宣布了这一事件,并开始重新创建一个新节点。
从这次事件中得知
- 仅备份节点运营商的私钥是不够的,我们也应该备份节点自己的私钥。
后续行动
- 我写了一篇关于Matters的文章向委托人宣布: https://matters.news/@kenookamihoro/294363-续-备份-like-coin-验证人节点的二三事-bafyreiaoo63h4txf2tw2aepdyzr5gkui4djacvn7pcxvjyoux7f2g4n2n4
- 我重建了一个新的验证器节点( https://dao.like.co/validators/likevaloper1r4sv5ea8mhd7q2cp566sh5zvkwg8xf3xwgw6uw )并更改了旧节点的信息以警告当前委托人。
- 我联系了 CDC 并尝试将社区代表团重新委托到我的新节点,通过他们回复我这是不可能的,因为他们最近不到 21 天就重新委托给了我的验证者。
建议
- 可能有很多关于状态同步的失败报告。可能有必要测试这种机制,即使它不会经常用于同步。
- 或者我们可以扩展文档以涵盖如何为更多节点启用状态同步以提高此功能的稳健性。
喜欢我的文章吗?
别忘了给点支持与赞赏,让我知道创作的路上有你陪伴。
狼与马特市的幻想物语
(没错这个围炉目前就是来蹭热度的,所有的文章都不会上锁。当然汝要是真的想支持咱的话订阅也 OK)
发布评论…