遭遇节点自动重启后长期处于 starting 状态(1个小时以上)

QQ截图20220404114937.png

检查日志

cd $CNODE_HOME/logs
tail -f node0.json

发现正在验证区块

{"host":"cnoder86","pid":"3127081","loc":null,"at":"2022-04-04T03:43:18.66Z","ns":["cardano.node.ChainDB"],"sev":"Info","env":"1.34.1:73f9a","data":{"kind":"TraceImmutableDBEvent.ValidatedChunk","chunkNo":"2171"},"msg":"","thread":"5","app":[]}

在社区资讯过大佬们,答曰是一些 dirty data 造成的。或许是异常的重启或者来自分叉的节点的干扰数据。
无他,是节点的自纠和保护机制

如果赶时间又自信数据没有问题,可以用逃课的办法跳过这个自检:

cd $CNODE_HOME/db
touch clean
systemctl restart cnode

简单的说, 就是在 db 路径下新建一个名为clean的空文件。节点启动的时候检查到有这个文件就会跳过自检。

但以上方法慎用,当你无法保证数据正确完整的时候跳过自检可能导致自己的chain db 进入错误的分叉,下文详述。

-待续-

标签: cardano

添加新评论