本文作者:ZKLink 原创作品,转载请注明出处
在你删除扇区之前请确保已经采取了必要的抢救措施,例如遇到存储故障,网络故障,调度故障等等,都要经过一系列的调试,故障诊断 ,最后再考虑删除扇区,谨慎删除扇区,别忘了,该命令有个选项--really-do-it
这几种状态因为还没有质押,可通过下面的命令直接删除。所有precommit阶段完成之前的扇区,都可以通过此方法删除。
$ lotus-miner sectors remove --really-do-it
lotus-miner sealing abort
如果以上两个命令无法删除,可以执行下面的步骤
lotus-worker tasks disable [command options] [UNS|C2|PC2|PC1|AP]
禁用所有任务,等worker执行完当前任务,就没有任何封装任务了,本操作执行完再通过
lotus-worker tasks enable [command options] [UNS|C2|PC2|PC1|AP]
恢复任务),在该worker的LOTUS_WORKER_PATH的unsealed和seald目录下,分别创建对应扇区ID的空扇区文件,假设扇区的ID为100 ,那分别在unsealed和seald目录下执行:
touch s-t0xxxxxx-100# 其中t0xxxxxx是矿工ID
lotus-miner sealing abort
lotus-miner sectors remove
注意删除任何precommit已经完成的扇区将导致prcommit阶段的抵押罚没,参考文档PreCommitting a Sector: A Miner publishes a Sector’s SealedCID, through miner.PreCommitSector of miner.PreCommitSectorBatch, and makes a deposit. The Sector is now registered to the Miner, and the Miner must ProveCommit the Sector or lose their deposit.
lotus-miner sectors remove
建议把错误扇区恢复成出错之前的状态,重新做出错的这个步骤
例:扇区commitfailed.此时precommit已经完成,重置扇区状态至commit1
删除扇区一定要先链上删除再本地删除,这样能最大程度的减少损失,请记住执行顺序,这个相当重要
删除扇区一定要先链上删除再本地删除,这样能最大程度的减少损失,请记住执行顺序,这个相当重要
lotus-miner sectors terminate --really-do-it
这一步的主要作用为清除链上数据,最大限度减少处罚
lotus-miner sectors remove --really-do-it
这一步的主要作用为清除存储
很多人会直接执行:lotus-miner sectors remove --really-do-it ,这是错误的。然后找不到扇区编号,也无法terminate. 这样的情况,可以通过
lotus-miner sectors list --fast --states Remomved
查看到扇区编号,这个时侯再执行
lotus-miner sectors terminate --really-do-it
来源:金色财经