# Lotus v1.14.1 版本升级
这是 Lotus 的强制性升级版本,它引入了 Network v15
,代号为 OhSnap
升级。
该网络计划于 UTC 时间 2022-03-01T15:00:00(北京时间 2022-03-01T23:00:00) 升级到 v15。原语云本次版本升级的功能更新请参考 lotus-v1.14.1 更新日志。
提示
阅读本文档之前,我们默认你已经熟悉如何使用原语云搭建集群了,并且仅供旧集群升级 v1.14.1
使用,如果您是第一次使用原语云,或者是从零开始搭建集群的话,请先阅读:【原语云新手快速开始】 文档。
温馨提示:升级的过程你需要尽量避开时空证明的时间段,以免影响时空证明提交。
如果您是从其他技术方案迁移过来的集群,请阅读原语云集群迁移,完成集群的迁移工作即可。
# 准备工作
在升级之前我们需要先做一些准备工作,等准备工作做好之后,最后就只需要安装再启动相关应用就行了。
特别注意:
- 由于本次升级包含了网络升级,更新了 Proving 参数,由于大陆的下载速度有点慢,所以最好提前将更新的 Proving 参数下载到本地,以免影响正常升级。
- 新版程序的 lotus-miner 和 lotus-worker 程序都会在对应的数据目录(
repo dir
)下创建 update 和 update-cache 两个目录,用来存储snap-deal
的扇区数据。如果你 Miner 上的存储设备是只读挂载的话,那么你需手动提前在对应的目录下去创建这个两个目录,否则 Miner 会因为没有权限创建目录而启动失败。
# 下载 lotus-shed 工具
wget http://mirrors.yyyun.pro/lotus/1.15.1/20220506/amd/lotus-shed
chmod +x lotus-shed
# 删除 IPFS_GATEWAY 环境变量,强制使用官方的下载镜像
unset IPFS_GATEWAY
# 升级 32G Proving 参数
FIL_PROOFS_PARAMETER_CACHE=/yuanyu/filecoin-proof-parameters ./lotus-shed fetch-params --proving-params=32GiB
# 升级 64G Proving 参数
FIL_PROOFS_PARAMETER_CACHE=/yuanyu/filecoin-proof-parameters ./lotus-shed fetch-params --proving-params=64GiB
停止自动质押
在停止集群之前,我们需要先停止质押新的扇区,并让集群把当前未做完的扇区任务做完,这样下次启动集群的时候有个干净的调度环境。 你只需要在原语云控制台将
lotus-smart-pledge
应用停止就可以了。如果你没有开启自动质押,那么这一步跳过。停止集群
在集群将所有扇区任务都做完之后就可以开始停止集群了,还是在原语云的控制台操作,依次把所有的
lotus-worker
应用(ap,p1,p2,c2以及网关worker)全部应用停止并卸载掉。由于我们想本次升级尽量不影响我们的爆块和时空证明,所以我们继续保持
lotus
,lotus-miner
和lotus-winpost-miner
处于运行状态, 这里我们不先不停它们。重新添加 lotus 相关应用
进入到 应用中心 先将所有你目前使用到的应用全部从桌面移除,然后再添加到桌面。如果不知道如何从桌面移除应用的话,请参考应用中心文档 移除应用。由于此次升级咱们整个多 Miner 的实现架构变化较大,之前的
lotus-winpost-miner
和lotus-wdpost-miner
应用已经被删除了,新增了lotus-winning-worker
(爆块证明计算 Worker) 和lotus-window-worker
(时空证明计算 Worker) 应用。如果你之前使用了多 Miner 方案,那么你需要把相应的应用添加到桌面。修改应用配置
修改应用配置之前,你需要先把 1.14.1 版本的相关 Lotus 程序下载到你的 Miner 机器。 具体操作步骤请参考新手文档的 3.1 下载 Lotus 软件。
根据您的需求重新配置你各个应用的参数,如软件下载地址,节点 ID 等。如果你已经不记得之前是怎么配置的话,请参考 新手文档。总体原则保持不变,那就是新手建议使用默认配置即可。
# 开始升级
准备工作做好了之后,升级就非常简单了,只需要重新安装和启动各个应用就好了。 请注意,在安装应用之前,请确保各个应用的配置都已经更新。
重装 lotus 和 lotus-miner 应用,这个非常简单,直接在对应应用的界面依次执行停止,卸载,安装,启动操作即可。
注意:
这里有一个细节需要注意的是,1.14.1 版本的 Miner 在启动的时候需要通过 P2P 连接 daemon 节点,这在之前是的版本是没有。所以你在升级完 daemon 之后需要把 daemon 相应的内网 P2P 连接端口开放访问,否则 Miner 启动时候会报错:
ERROR: connecting to full node (libp2p): failed to dial 12D3KooWL71RCyyyyyyyb5rdxxxxxxxxxxxxxxxL9SzhhnfGD2hG: * [/ip6/::1/tcp/42507] dial tcp6 [::1]:42507: connect: connection refused * [/ip4/127.0.0.1/tcp/42507] dial tcp4 127.0.0.1:42507: connect: connection refused * [/ip4/192.168.xx.xx/tcp/42507] dial tcp4 0.0.0.0:42583->192.168.xx.xx:42507: i/o timeout
这时你只需要在 Daemon 节点上打开对应的端口(这里是 42507)就行了:
sudo ufw allow 42507/tcp
Miner 启动之后,确认爆块时间是否正常,Miner 的日志中直接查找
winning PoSt warmup
日志,日志会显示爆块的时间,以及对应证明 Worker 的主机名称和IP地址:grep "winning PoSt warmup" /yuanyu/lotus-winning-worker/log/error.log # 如果成功会有类似下面输出 winning PoSt warmup successful {"worker": "winning-worker-yyyun-1700k", "address": "192.168.2.202:2346", "took": 1.37271456}
爆块的时间在 5 秒以内都算是正常的,如果大于这个值,则建议重启 Miner 试试,如果如果重启多次还是出现爆块时间偏长,建议检查您的 GPU 驱动以及存储读写是否正常。
如果当下没有时空证明正在或者即将运行的话, 可以手动触发时空证明,验证时空证明是否能正常调度和计算。
yy_lotus-miner proving challenge --really-do-it=true 0
安装并启动爆块 Worker 或时空证明 Worker(如果之前没有使用多 Miner 的同学请跳过这个步骤):
提示:
由于之前的
lotus-winpost-miner
和lotus-wndpost-miner
应用现在已经更名为lotus-winning-worker
和lotus-window-worker
了,所以如果你之前有安装过lotus-winpost-miner
或者lotus-wndpost-miner
应用的话,你需要先把/yuanyu
目录下的对应的目录重命名。- lotus-winpost-miner 重命名成 lotus-winning-worker
- lotus-wndpost-miner 重命名成 lotus-window-worker
重命名之后你就可以直接安装并启动
lotus-winning-worker
或者lotus-window-worker
了。如果需要启动证明 Worker,具体配置方法请参考 进阶运维-多 Miner 配置。
依次将所用到的应用全部安装一遍,如 lotus, lotus-miner, lotus-ap-worker, lotus-p1-worker 等(如果不需要则跳过此步骤)。
启动
lotus-smart-pledge
应用,开始自动质押扇区(如果不需要则跳过此步骤)。
至此,恭喜你已经完成了 v1.14.1 版本升级 O(∩_∩)O~