# Lotus 快速部署
警告
在开始搭建集群之前,我们强烈建议您先去阅读我们的 Lotus 运维安全声明!!!
在开始搭建集群之前,我们强烈建议您先去阅读我们的 Lotus 运维安全声明!!!
在开始搭建集群之前,我们强烈建议您先去阅读我们的 Lotus 运维安全声明!!!
本教程属于新手教程,向您展示如何使用原语云,快速从零开始搭建 Lotus 集群。注意:这里以单 Miner 集群为例, 多 Miner 集群请阅读进阶教程。
本次集群搭建你可能会用到下面的应用(如果您不知道什么是应用,请您点击 应用中心 ):
lotus lotus-miner lotus-ap-worker lotus-p1-worker lotus-p2-worker lotus-c2-worker# 01-机器初始化
正所谓工欲善其事,必先利其器。在搭建集群之前我们需要对机器进行初始化,包括安装系统,配置网络,配置系统参数等。 同时,我们需要约定一些原则,以便后面协作能够更加顺利。
# 1.1 硬件方案
请参考 原语云 Lotus 集群硬件方案 .
# 1.2 系统安装
- 系统版本:Ubuntu 18.04/20.04 LTS Server ,请不要安装桌面版系统!!!。
- 系统请单独安装在一块 SSD 磁盘,SSD 最小 120GB,安装系统时不需要组 LVM(注意,安装的时候默认选项就是组 LVM,请不要使用默认选项)。
- 所有机器用户名初始都建议使用不同的用户名和密码,便于内网安全。
# 1.3 网络配置
- 所有的机器的内网地址都必须采用静态 IP 的方式,请关闭 dhcp 模式。
- IP 地址的设置必须连续有序,且跟主机名称最好一一对应,比如 p1-worker ip 为 192.168.1.1 ,则 p1-worker2 的 IP 则为 192.168.1.2,而不能是 192.168.1.100 之类的。
- 外网 IP 穿透映射遵循用一个,开一个的原则,不建议每次开一批端口。
# 02-安装 Qark 客户端
提示
安装完 SDK 之后,请确保每台机器的 节点名称
不一样,并按照功能对所有的节点重新命名。
- 节点机器 -> lotus
- Miner -> lotus-miner
- P1P2 算力机 -> p1-worker01, p1-worker02 ...
- C2 证明名机 -> c2-worker01, c2-worker02 ...
- 网关机器 -> gateway01, gateway02 ...
双击桌面
节点管理
.鼠标悬停在
节点名称
这一栏,会出现一个编辑的小图标,点击即可编辑。
# 03-下载 Lotus 软件和参数
在开始搭建集群之前,你可能要先同步一份原语云的最新的 Lotus 相关程序(lotus, lotus-miner, lotus-worker) 到 Miner 节点,供其他节点下载安装。原语云会持续保持跟官方同步,及时合并官方代码。原语代码有版本更新会及时通过原语云的服务号及时推送微信消息, 所以你务必关注原语云的服务号,以免错过版本更新,导致掉算力。
# 3.1 下载 Lotus 软件
请参考 Lotus 软件下载 。
# 3.2 下载证明参数
Miner 以及 C2-Worker 需要做时空证明和复制证明,所以需要下载复制证明参数,为了节省带宽,我们只下载一份到 Miner 节点上,C2 worker 到时候从 Miner 走内网(万兆)下载。
这里我们照样把参数下载到 /var/www/html
目录下,以供其他 Worker 下载。请确保当前目录所在磁盘的可用空间大于 200 GiB,如果你想密封 64GiB 扇区的话,请确保可用磁盘空间大于 500G。
cd /var/www/html
chmod +x ./lotus/1.15.1/20220506/amd/lotus #如果这个文件不存在,说明你上面的下载失败了,需要重新下载
export FIL_PROOFS_PARAMETER_CACHE=/var/www/html/filecoin-proof-parameters
export IPFS_GATEWAY=https://proof-parameters.s3.cn-south-1.jdcloud-oss.com/ipfs/
# 先在当前机器上安装 lotus 运行依赖
apt-get install mesa-opencl-icd ocl-icd-opencl-dev ntpdate libhwloc-dev -y
# 下载 32GiB 扇区参数
./lotus/1.15.1/20220506/amd/lotus fetch-params 32GiB
# 如果你想要密封 64GiB 扇区的话,那么你需要获取 64GiG 扇区参数
./lotus/1.15.1/20220506/amd/lotus fetch-params 64GiB
101 GiB 的参数(如果是 64GiB 的扇区参数是 206GiB),可能要下载几个小时。下载完成之后当前目录下会多一个 filecoin-proof-parameters
目录。
提示
我们在 qark-client
内部实现了一个轻量级且极为安全的 http 服务器,服务器的根目录就在 /var/www/html
,端口为 17181。
也就是说现在你可以通过访问:
http://<miner-ip>:17181/lotus/1.15.1/20220506/amd/lotus
# <miner-ip> 替换为你 miner 节点的 IP 地址,如:192.168.100.103
来下载 lotus 软件了,后面在配置 lotus 应用的时候,软件源的地址以及 C2-Worker
下载参数也是通过这个 Http 服务器来下载。
# 04-启动 lotus(daemon)
# 4.1 初始化机器
# 4.2 添加 lotus 应用
双击桌面的
应用中心
图标,进入应用中心主界面.点击
lotus
应用图标下的添加
按钮.添加完成之后桌面上会多出一个
lotus
应用图标(如果没有请刷新页面).
# 4.3 配置 lotus 应用
双击桌面的
lotus
应用,进入应用主界面.点击
应用配置
标签栏,再点击编辑
按钮.修改配置,基本上你直接使用默认的配置就行了,只需要把软件源修改一下:
AMD版本下载地址: 改成你自己的内网下载地址,如:http://192.168.100.103:17181/lotus/1.15.1/20220506/amd/lotus
提示
如果你跑的是 Calibnet 网络,那么这里需要选择 Calibnet 网络 Lotus 下载地址:http://192.168.100.103:17181/lotus_cali/1.15.1/20220506/amd/lotus
如果您使用的是没有 ADX 指令支持的较旧的 AMD 处理器,请使用
BLST_PORTABLE
版本: http://192.168.100.103:17181/lotus/1.15.1/20220506/amd/blst_portable/lotusIntel版本下载地址: 改成你自己的内网下载地址,如:http://192.168.100.103:17181/lotus/1.15.1/20220506/intel/lotus
提示
如果你跑的是 Calibnet 网络,那么这里需要选择 Calibnet 网络 Lotus 下载地址:http://192.168.100.103:17181/lotus_cali/1.15.1/20220506/intel/lotus
如果您使用的是没有 ADX 指令支持的较旧的 INTEL 处理器,请使用
BLST_PORTABLE
版本: http://192.168.100.103:17181/lotus/1.15.1/20220506/intel/blst_portable/lotus
# 4.4 安装 lotus 应用
回到
节点预览
页面,点击点此一键安装
按钮.在节点选择下拉框中选择
自定义节点
.勾选你想要安装应用的节点,如果节点过多你可以搜索节点名称对节点进行筛选,如果你不知道该安装到哪台机器,请参考 lotus 节点机配置 或者联系原语云客服咨询.
点击
安装
按钮.开始安装完成之后
节点预览
界面会多出一条记录,"状态" 这一栏会同步显示安装进度,安装完成之后会显示启动按钮.@Note: 安装完成之后,你的节点上会多一个
yy_lotus
命令,你可以通过在终端yy
一下,再按Tab
键唤出该命令。推荐
建议你在 Miner 节点上也装上 lotus 应用,这样方便你在 Miner 节点也可以执行
yy_lotus
命令。
# 4.5 导入区块快照
目前主网的区块高度比较大,整个历史去快速数据同步下来要几个 TiB 了,所以我们不建议从零开始同步区块,建议你走导入区块快照的形式。
首先你需要下载官方最新的最小节点快照:
wget https://fil-chain-snapshots-fallback.s3.amazonaws.com/mainnet/minimal_finality_stateroots_latest.car -O lotus-chain.car
目前整个快照大小有 30 多 GiB,如果下载比较慢的话,可以试着使用迅雷下载。
导入快照
# usage: yy_lotus daemon --import-snapshot=<snapshot-path> --halt-after-import # e.g yy_lotus daemon --import-snapshot=lotus-chain.car --halt-after-import
导入快照完毕之后,你还需要修改
/yuanyu/lotus/data/config.toml
文件:[API] # 打开注释,并把 127.0.0.1 改成你的 daemon 机器内网 IP 地址 # 注意这个 IP 地址必须要能够跟 miner 节点通信 ListenAddress = "/ip4/127.0.0.1/tcp/1234/http" RemoteListenAddress = "127.0.0.1:1234" [Backup] DisableMetadataLog = false # 如果你要关闭元数据日志,请把这里改成 true
# 4.6 启动 lotus 应用
导入区块,修改好配置文档之后,你就可以直接到 节点预览
操作界面,启动 lotus 应用。
应用有两种启动方式:
-
启动单个节点:直接选择对应的节点,点击状态栏的
启动
图标. -
批量启动节点:选中节点左侧的复选框,然后点击
批量操作
下拉菜单,点击启动
按钮.
如下图所示:
启动成功之后会返回应用的进程ID,同时应用的状态也会变成
运行中
.
# 4.7 检查同步状态
一般 lotus 应用会在 30 秒内启动完毕(完成 API 的启动),此时我们就可以运行 lotus 的相关命令了。
比如查看节点 P2P 连接数:
yy_lotus net peers
如果命令报错:
ERROR: could not get API info: could not get api endpoint: API not running (no endpoint)
则说明 lotus daemon 没有启动起来,此时你可以看日志 /yuanyu/lotus/log/error.log
来排查错误。
接下来我们需要确认 lotus 的同步状态:
yy_lotus sync status
如果返回的 State
的状态是 Complete
则说明是已经同步完成。
如果 State
的状态是 message sync
,则说明正在同步区块,你可以使用 yy_lotus sync wait
检查具体的同步状态。
# 4.8 创建 Owner 钱包
创建钱包.
yy_lotus wallet new bls
备份钱包私钥.
# usage yy_lotus wallet export <address> # e.g yy_lotus wallet export f3xxxx
警告
Owner 钱包是整个集群的核心钥匙,请务必要备份多份,分别存于不同的保险柜中,如果丢失整个集群将无法进行提现/变更等重要操作,相当于失去了集群的控制权。
从你其他钱包中(如交易所)往 owner 地址中充值一笔钱.
# 05-启动 miner
# 5.1 初始化机器
# 5.2 添加 lotus-miner 应用
双击桌面的
应用中心
图标,进入应用中心主界面.点击
lotus-miner
应用图标下的添加
按钮.添加完成之后桌面上会多出一个
lotus-miner
应用图标(如果没有请刷新页面).
# 5.3 配置 lotus-miner
双击桌面的
lotus-miner
应用,进入应用主界面.点击
应用配置
标签栏,再点击编辑
按钮.修改配置,新手你只需修改以下配置项,其他的都使用默认值就行了.
AMD版本下载地址: 改成你自己的内网下载地址,如:http://192.168.100.103:17181/lotus/1.15.1/20220506/amd/lotus-miner
提示
如果你跑的是 Calibnet 网络,那么这里需要选择 Calibnet 网络 Lotus 下载地址:http://192.168.100.103:17181/lotus/1.15.1/20220506/amd/cali/lotus-miner,后面的 Worker 也需要选择 lotus_cali 目录,请切记!!!
**如果你想使用 OpenCL 版本的 lotus-miner 程序,可以使用 http://192.168.100.103:17181/lotus/1.15.1/20220506/amd/opencl/lotus-miner,**下面 worker 的配置也是类似的。
Intel版本下载地址: 改成你自己的内网下载地址,如:http://192.168.100.103:17181/lotus/1.15.1/20220506/intel/lotus-miner
提示
如果你跑的是 Calibnet 网络,那么这里需要选择 Calibnet 网络 Lotus 下载地址:http://192.168.100.103:17181/lotus_cali/1.15.1/20220506/intel/lotus-miner,后面的 Worker 也需要选择 lotus_cali 目录,请切记!!!
daemon机器的api内网ip地址:
$(#daemon_id.stat:network.in_addr@^(192|172|10).speed>9999.0.in_addr)
你需要把
daemon_id
改成你的 lotus 节点的node_id
,如何获取节点 node_id 。当然,如果你嫌麻烦,你也可以直接把上面的表达式改成你 daemon 节点的 IP,如
192.168.1.100
(这个 IP 必须能跟 Miner 通信)。如果你想知道这个配置表达式的配置语法,请先阅读 应用配置参数解析 。
如果你对 Lotus 已经很熟悉了,请参考我们的 Miner 应用进阶配置 .
# 5.4 安装 lotus-miner
回到
节点预览
页面,点击点此一键安装
按钮.在节点选择下拉框中选择
自定义节点
.勾选你想要安装应用的节点,如果节点过多你可以搜索节点名称对节点进行筛选,如果你不知道该安装到哪台机器,请参考 全功能 Miner 配置 或者联系原语云客服咨询.
点击
安装
按钮.开始安装完成之后
节点预览
界面会多出一条记录,"状态" 这一栏会同步显示安装进度,安装完成之后会显示启动按钮.@Note: 安装完成之后,你的节点上会多一个
yy_lotus-miner
命令,你可以通过在终端yy
一下,再按Tab
键唤出该命令。
# 5.5 下载证明参数
我们在 3-2-下载证明参数 步骤中已经把证明参数下载到 Miner 节点的 /var/www/html
目录下了。
现在我们只需要把它拷贝到 /yuanyu
目录下就行了。
cp -r /var/www/html/filecoin-proof-parameters /yuanyu
# 5.6 创建 Miner 账户
初始化并创建 miner.
yy_lotus-miner init --owner=<owner-key> --sector-size=32GiB --create-worker-key=true --no-local-storage=true
- owner 是指你的 owner 钱包地址,如果你没有传入,就会使用默认钱包地址
- create-worker-key=true 会创建一个新的钱包作为质押地址。
提示
整个初始化 Miner 需要提交 2 次消息上链,一次是初始化 worker 地址,一次是创建 Miner 账户。预计需要花费 2-5 分钟左右。
另外,初始化 miner 之后,最好把 miner 的元数据备份一份(
/yuanyu/lotus-miner/data
),后面多 miner 方案需要使用。修改 miner 配置文档,
/yuanyu/lotus-miner/data/config.toml
.[API] # 打开注释,并把 127.0.0.1 改成你 Miner 机器的内网 IP 地址 ListenAddress = "/ip4/127.0.0.1/tcp/2345/http" RemoteListenAddress = "127.0.0.1:2345" [Backup] DisableMetadataLog = false # 如果你要关闭元数据日志,请把这里改成 true
如果你新手,那么其他配置请按照默认的配置跑就行了,如果你有一定的经验,那么你可以去参考我们的 Miner config 进阶配置 。
# 5.7 启动 lotus-miner
注意:
在启动 lotus-miner 之前,请确保你已经把你的 Owner 私钥从 lotus daemon 节点上删除,原语云为了防止你忘记删除 Owner 私钥,在程序上做了特殊处理,一旦发现你导入了 Owner 私钥,启动 lotus-miner 的时候会报错并强制退出:
ERROR: getting full node api: failed to add node with api /ip4/192.168.2.100/tcp/1234/http: you are running a lotus node with your OWNER key online and that's DANGEROUS!!!
Please export env var 'RUN_WITH_OWNER_KEY_ONLINE=true' to continue if you insist on doing this
如果 Worker 和 Owner 私钥用的是同一个,不得不导入,你可以在启动 Miner 的时候导出环境变量:
export RUN_WITH_OWNER_KEY_ONLINE=true
Miner 成功启动之后,强烈建议你立即 更换 Owner 私钥,然后再将 Owner 私钥备份后从 daemon 上删除, 最后重启 Miner。
启动 miner 进程,直接到
节点预览
操作界面,启动 lotus-miner 应用。启动成功之后,你需要确认一下爆块时间是否正常,在主 Miner 的日志中直接查找 winning PoSt warmup 日志,日志会显示爆块的时间,以及对应证明 Worker 的主机名称和IP地址:grep "winning PoSt warmup" /yuanyu/lotus-miner/log/error.log # 如果成功会有类似下面输出 winning PoSt warmup successful {"worker": "winning-worker-yyyun-1700k", "address": "192.168.2.202:2346", "took": 1.37271456}
爆块的时间在 5 秒以内都算是正常的,如果大于这个值,则建议重启 Miner 试试,如果如果重启多次还是出现爆块时间偏长,建议使用下面的脚本手动启动 Miner:
nohup yy_lotus-miner run \ --storage-api=local \ --winning-post=true \ --winning-worker=true \ --window-post=true \ --window-worker=true \ --sealing-mgr=true \ --sector-store=true \ --deals-mgr=false >> /yuanyu/lotus-miner/log/error.log 2>&1 &
接下来,你有 2 种方式去确认 Miner 是否成功启动。
(1) 直接通过客户端命令调用 Miner 的 API,例如查看 Miner API 版本
yy_lotus-miner version
,如果能正常返回版本信息,则说明 Miner 已经启动成功。类似下面这样:yy_lotus-miner version # 输出类似如下信息 Daemon: 1.15.1+mainnet+git.ef69e1c24.dirty+api1.2.0 Local: lotus-miner version 1.15.1+mainnet+git.ef69e1c24.dirty
(2) 查看 Miner 启动日志:
grep "starting up miner" /yuanyu/lotus-miner/log/error.log ## 输出类似如下信息,则表示启动成功,如果什么都没有输出,则说明还没启动成功, ## 这时你需要继续等待,或者去日志里面查看是否有启动失败的错误日志 storageminer storage/miner.go:243 starting up miner f0xxxx, worker addr f3xxxx...
新增存储,由于我们前面的在初始化 Miner 的时候,设置的
--no-local-storage=true
,所以目前 miner 是没有本地存储的, 还需要我们手动为 miner 添加存储。在添加存储之前,我们需要把存储设备挂载好,我们这里假设存储设备是挂载在/data01
目录下:yy_lotus-miner storage attach --init=true --store=true --seal=false --final=true /data01
把质押币充值到质押地址(worker address),我们在初始化 Miner 的时候创建了一个质押地址,我们需要往这个地址充值,以便质押扣款。
# 1. 查看 worker 地址 yy_lotus-miner actor control list --verbose # 输出类似这样 name ID key use balance owner f01147206 f3aaa 102.482307264869989582 FIL worker f01151451 f3bbb other 0 FIL # 2. 复制 worker 地址(这里是 f3bbb),你可以从其他钱包转钱进来,也可以直接把 Miner 的余额划转到 Worker yy_lotus send f3bbb 100
# 5.8 设置时空证明地址
通常,在链比较拥堵的时候,质押消息容易堵塞而无法上链,如果时空证明消息和质押消息用同一个钱包地址提交的话,也容易堵塞而导致提交超时,这样就会掉算力。 所以我们建议为时空证明消息单独设置一个钱包地址。
创建钱包.
yy_lotus wallet new bls
创建完成记得第一时间备份私钥!!!
初始化钱包(往钱包里面充值一笔钱),时空证明的手续费非常便宜,通常充值 2 个FIL 就够用一年的时空证明手续费了.
yy_lotus send f3xxx 2 # f3xxx 替换成你刚刚创建的钱包地址
设置 Post 钱包地址
yy_lotus-miner actor control set --really-do-it=true f3xxx # f3xxx 替换成上面创建的钱包地址
等待消息上链成功之后,验证是否生效.
yy_lotus-miner actor control list --verbose # 输出类似这样 name ID key use balance owner f01147206 f3aaa 0.482307264869989582 FIL worker f01151451 f3bbb other 100 FIL control-0 f0398207 f3xxx post 2 FIL # 有这一行说明设置成功了
# 06-启动 lotus-ap-worker
# 6.1 初始化机器
# 6.2 添加 lotus-ap-worker 应用
双击桌面的
应用中心
图标,进入应用中心主界面.点击
lotus-ap-worker
应用图标下的添加
按钮.添加完成之后桌面上会多出一个
lotus-ap-worker
应用图标(如果没有请刷新页面).
# 6.3 配置 lotus-ap-worker 应用
双击桌面的
lotus-ap-worker
应用,进入应用主界面.点击
应用配置
标签栏,再点击编辑
按钮.修改配置,你只需要修改一下配置项,其他的就直接使用默认值就好了。
AMD版本下载地址: 改成你自己的内网下载地址,如:http://192.168.100.103:17181/lotus/1.15.1/20220506/amd/lotus-worker
Intel版本下载地址: 改成你自己的内网下载地址,如:http://192.168.100.103:17181/lotus/1.15.1/20220506/intel/lotus-worker
worker自身api内网IP地址: 下面表达式会自动帮你选中本机的第一个万兆网卡的 IP.
$(this.stat:network.in_addr@^(192|172|10).speed>9999.0.in_addr)`
miner机器api内网IP地址:
$(#miner_id.stat:network.in_addr@^(192|172|10).speed>9999.0.in_addr)
你需要把
miner_id
改成你的 miner 节点的node_id
,如何获取节点 node_id 。当然,如果你嫌麻烦,你也可以直接把上面的表达式改成你 miner 节点的 IP 地址,请保证这个 IP 必须能跟 Worker 通信。
最大AddPieces并行数: 4,建议使用默认值就可以了.
集群机器名字:
ap-$(this.data:name#replace(-,))
,在 Worker 列表中显示的名字,如果你的节点名称命名规范的话,这里可以直接使用默认值,无需修改。如果深入了解上述表达式的配置语法,请先阅读 应用配置参数解析 。
# 6.4 安装 lotus-ap-worker 应用
推荐您将
lotus-ap-worker
应用安装在C2-Worker
机器上.
回到
节点预览
页面,点击点此一键安装
按钮.在节点选择下拉框中选择
自定义节点
.勾选你想要安装应用的节点,如果节点过多你可以搜索节点名称对节点进行筛选,如果你不知道该安装到哪台机器,请参考 Worker2(证明机) 或者联系原语云客服咨询.
点击
安装
按钮.开始安装完成之后
节点预览
界面会多出一条记录,"状态" 这一栏会同步显示安装进度,安装完成之后会显示启动按钮.@Note: 安装完成之后,你的节点上会多一个
yy_lotus-ap-worker
命令,你可以通过在终端yy
一下,再按Tab
键唤出该命令。
# 6.5 启动 lotus-ap-worker 应用
应用有两种启动方式:
-
启动单个节点:直接选择对应的节点,点击状态栏的
启动
图标. -
批量启动节点:选中节点左侧的复选框,然后点击
批量操作
下拉菜单,点击启动
按钮.
如下图所示:
启动成功之后会返回应用的进程ID,同时应用的状态也会变成
运行中
.
# 6.6 确认 Worker 连接
等待所有的 worker 启动完成之后,在 miner 节点上运行以下命令,查看 worker 列表:
yy_lotus-miner sealing worker list |grep host
确认以下列表中是否有你刚刚启动的 worker,你也可以直接通过 worker-name 过滤结果:
yy_lotus-miner sealing worker list |grep host |grep ap-
# 07-启动 lotus-p1-worker
# 7.1 初始化机器
# 7.2 添加 lotus-p1-worker
双击桌面的
应用中心
图标,进入应用中心主界面.点击
lotus-p1-worker
应用图标下的添加
按钮.添加完成之后桌面上会多出一个
lotus-p1-worker
应用图标(如果没有请刷新页面).
# 7.3 配置 lotus-p1-worker
双击桌面的
lotus-p1-worker
应用,进入应用主界面.点击
应用配置
标签栏,再点击编辑
按钮.修改配置,你只需要修改一下配置项,其他的就直接使用默认值就好了。
AMD版本下载地址: 改成你自己的内网下载地址,如:http://192.168.100.103:17181/lotus/1.15.1/20220506/amd/lotus-worker
Intel版本下载地址: 改成你自己的内网下载地址,如:http://192.168.100.103:17181/lotus/1.15.1/20220506/intel/lotus-worker
worker自身api内网IP地址: 下面表达式会自动帮你选中本机的第一个万兆网卡的 IP.
$(this.stat:network.in_addr@^(192|172|10).speed>9999.0.in_addr)`
miner机器api内网IP地址:
$(#miner_id.stat:network.in_addr@^(192|172|10).speed>9999.0.in_addr)
你需要把
miner_id
改成你的 miner 节点的node_id
,如何获取节点 node_id 。当然,如果你嫌麻烦,你也可以直接把上面的表达式改成你 miner 节点的 IP 地址,请保证这个 IP 必须能跟 Worker 通信。
最大PreCommit1并行数: 根据机器配置灵活调整,1TiB 内存可以并行 12个 PC1, 512G 内存可以并行 6 个 PC1 任务.
集群机器名字:
p1-$(this.data:name#replace(-,))
,在 Worker 列表中显示的名字,如果你的节点名称命名规范的话,这里可以直接使用默认值,无需修改。如果深入了解上述表达式的配置语法,请先阅读 应用配置参数解析 。
# 7.4 安装 lotus-p1-worker
回到
节点预览
页面,点击点此一键安装
按钮.在节点选择下拉框中选择
自定义节点
.勾选你想要安装应用的节点,如果节点过多你可以搜索节点名称对节点进行筛选,如果你不知道该安装到哪台机器,请参考 Worker1(算力机) 或者联系原语云客服咨询.
点击
安装
按钮.开始安装完成之后
节点预览
界面会多出一条记录,"状态" 这一栏会同步显示安装进度,安装完成之后会显示启动按钮.@Note: 安装完成之后,你的节点上会多一个
yy_lotus-p1-worker
命令,你可以通过在终端yy
一下,再按Tab
键唤出该命令。
# 7.5 启动 lotus-p1-worker
应用有两种启动方式:
-
启动单个节点:直接选择对应的节点,点击状态栏的
启动
图标. -
批量启动节点:选中节点左侧的复选框,然后点击
批量操作
下拉菜单,点击启动
按钮.
如下图所示:
启动成功之后会返回应用的进程ID,同时应用的状态也会变成
运行中
.
# 7.6 确认 Worker 连接
等待所有的 worker 启动完成之后,在 miner 节点上运行以下命令,查看 worker 列表:
yy_lotus-miner sealing worker list |grep host
确认以下列表中是否有你刚刚启动的 worker,你也可以直接通过 worker-name 过滤结果:
yy_lotus-miner sealing worker list |grep host |grep p1-
# 08-启动 lotus-p2-worker
# 8.1 初始化机器
提示
lotus-p1-worker
和 lotus-p2-worker
通常都装在同一台物理机上,所以如果你在上面的步骤中已经把机器初始化了,
那么这一步的机器初始化可以直接跳过。
# 8.2 添加 lotus-p2-worker
双击桌面的
应用中心
图标,进入应用中心主界面.点击
lotus-p2-worker
应用图标下的添加
按钮.添加完成之后桌面上会多出一个
lotus-p2-worker
应用图标(如果没有请刷新页面).
# 8.3 配置 lotus-p2-worker
双击桌面的
lotus-p2-worker
应用,进入应用主界面.点击
应用配置
标签栏,再点击编辑
按钮.修改配置,你只需要修改一下配置项,其他的就直接使用默认值就好了。
AMD版本下载地址: 改成你自己的内网下载地址,如:http://192.168.100.103:17181/lotus/1.15.1/20220506/amd/lotus-worker
提示
如果你启动多个 PC2 进程,而且指定共享同一个 GPU 的计算资源的话,请使用 OpenCL 版本的 lotus-worker 程序: http://192.168.100.103:17181/lotus/1.15.1/20220506/amd/opencl/lotus-worker
Intel版本下载地址: 改成你自己的内网下载地址,如:http://192.168.100.103:17181/lotus/1.15.1/20220506/intel/lotus-worker
worker自身api内网IP地址: 下面表达式会自动帮你选中本机的第一个万兆网卡的 IP.
$(this.stat:network.in_addr@^(192|172|10).speed>9999.0.in_addr)`
miner机器api内网IP地址:
$(#miner_id.stat:network.in_addr@^(192|172|10).speed>9999.0.in_addr)
你需要把
miner_id
改成你的 miner 节点的node_id
,如何获取节点 node_id 。当然,如果你嫌麻烦,你也可以直接把上面的表达式改成你 miner 节点的 IP 地址,请保证这个 IP 必须能跟 Worker 通信。
最大PreCommit2并行数: 建议使用默认值 1 个就好了.
集群机器名字:
p2-$(this.data:name#replace(-,))
,在 Worker 列表中显示的名字,如果你的节点名称命名规范的话,这里可以直接使用默认值,无需修改。如果深入了解上述表达式的配置语法,请先阅读 应用配置参数解析 。
# 8.4 安装 lotus-p2-worker
回到
节点预览
页面,点击点此一键安装
按钮.在节点选择下拉框中选择
自定义节点
.勾选你想要安装应用的节点,如果节点过多你可以搜索节点名称对节点进行筛选,如果你不知道该安装到哪台机器,请参考 Worker1(算力机) 或者联系原语云客服咨询.
点击
安装
按钮.开始安装完成之后
节点预览
界面会多出一条记录,"状态" 这一栏会同步显示安装进度,安装完成之后会显示启动按钮.@Note: 安装完成之后,你的节点上会多一个
yy_lotus-p2-worker
命令,你可以通过在终端yy
一下,再按Tab
键唤出该命令。
# 8.5 启动 lotus-p2-worker
应用有两种启动方式:
-
启动单个节点:直接选择对应的节点,点击状态栏的
启动
图标. -
批量启动节点:选中节点左侧的复选框,然后点击
批量操作
下拉菜单,点击启动
按钮.
如下图所示:
启动成功之后会返回应用的进程ID,同时应用的状态也会变成
运行中
.
# 8.6 确认 Worker 连接
等待所有的 worker 启动完成之后,在 miner 节点上运行以下命令,查看 worker 列表:
yy_lotus-miner sealing worker list |grep host
确认以下列表中是否有你刚刚启动的 worker,你也可以直接通过 worker-name 过滤结果:
yy_lotus-miner sealing worker list |grep host |grep p2-
# 09-启动 lotus-c2-worker
# 9.1 初始化机器
提示
lotus-ap-worker
和 lotus-c2-worker
通常都装在同一台物理机上,所以如果你在上面的步骤中已经把机器初始化了,
那么这一步的机器初始化可以直接跳过。
# 9.2 添加 lotus-c2-worker
双击桌面的
应用中心
图标,进入应用中心主界面.点击
lotus-c2-worker
应用图标下的添加
按钮.添加完成之后桌面上会多出一个
lotus-c2-worker
应用图标(如果没有请刷新页面).
# 9.3 配置 lotus-c2-worker
双击桌面的
lotus-c2-worker
应用,进入应用主界面.点击
应用配置
标签栏,再点击编辑
按钮.修改配置,你只需要修改一下配置项,其他的就直接使用默认值就好了。
AMD版本下载地址: 改成你自己的内网下载地址,如:http://192.168.100.103:17181/lotus/1.15.1/20220506/amd/lotus-worker
Intel版本下载地址: 改成你自己的内网下载地址,如:http://192.168.100.103:17181/lotus/1.15.1/20220506/intel/lotus-worker
worker自身api内网IP地址: 下面表达式会自动帮你选中本机的第一个万兆网卡的 IP.
$(this.stat:network.in_addr@^(192|172|10).speed>9999.0.in_addr)`
miner机器api内网IP地址:
$(#miner_id.stat:network.in_addr@^(192|172|10).speed>9999.0.in_addr)
你需要把
miner_id
改成你的 miner 节点的node_id
,如何获取节点 node_id 。 当然,如果你嫌麻烦,你也可以直接把上面的表达式改成你 miner 节点的 IP 地址,请保证这个 IP 必须能跟 Worker 通信。IPFS_GATEWAY 环境变量: 从官网下载参数超级慢,这个参数是用来加速复制证明参数下载的,由于我们之前已经把参数下载到 Miner 机器上了,因此这里我们配置成从 Miner 节点直接下载就行了。
# 默认值 http://127.0.0.1:17181/api/lotus/proof/parameters/get/ # 你只需要把 127.0.0.1 改成你的 Miner 节点的万兆口的 IP 地址即可,例如: http://172.17.1.155:17181/api/lotus/proof/parameters/get/
最大 Commit 并行数: 默认值 1,建议修改成机器 GPU 的数量,比如你有 3 个 GPU,那么这里你就修改为 3.
集群机器名字:
c2-$(this.data:name#replace(-,))
,在 Worker 列表中显示的名字,如果你的节点名称命名规范的话,这里可以直接使用默认值,无需修改。如果深入了解上述表达式的配置语法,请先阅读 应用配置参数解析 。
# 9.4 安装 lotus-c2-worker
回到
节点预览
页面,点击点此一键安装
按钮.在节点选择下拉框中选择
自定义节点
.勾选你想要安装应用的节点,如果节点过多你可以搜索节点名称对节点进行筛选,如果你不知道该安装到哪台机器,请参考 Worker2(证明机) 或者联系原语云客服咨询.
点击
安装
按钮.开始安装完成之后
节点预览
界面会多出一条记录,"状态" 这一栏会同步显示安装进度,安装完成之后会显示启动按钮.@Note: 安装完成之后,你的节点上会多一个
yy_lotus-c2-worker
命令,你可以通过在终端yy
一下,再按Tab
键唤出该命令。
# 9.5 启动 lotus-c2-worker
应用有两种启动方式:
-
启动单个节点:直接选择对应的节点,点击状态栏的
启动
图标. -
批量启动节点:选中节点左侧的复选框,然后点击
批量操作
下拉菜单,点击启动
按钮.
如下图所示:
启动成功之后会返回应用的进程ID,同时应用的状态也会变成
运行中
.
提示: 由于
lotus-c2-worker
在启动的时候需要下载参数,所以启动的过程会比较慢。如果你同时启动了很多台c2-worker
那么相应的启动时间会更长。
# 9.6 确认 Worker 连接
等待所有的 worker 启动完成之后,在 miner 节点上运行以下命令,查看 worker 列表:
yy_lotus-miner sealing worker list |grep host
确认以下列表中是否有你刚刚启动的 worker,你也可以直接通过 worker-name 过滤结果:
yy_lotus-miner sealing worker list |grep host |grep c2-
# 10-启动自动质押
lotus-smart-pledge
是一款小工具,会自动获取当前和最大的AP/P1/P2/C2的数量,按照指定的频率进行质押,并且可以控制空闲等待时间。智能监控网络实时 Gas 费,当 Gas 高于设置的阈值时自动停止质押。
# 10.1 添加 lotus-smart-pledge
双击桌面的
应用中心
图标,进入应用中心主界面.点击
lotus-smart-pledge
应用图标下的添加
按钮.添加完成之后桌面上会多出一个
lotus-smart-pledge
应用图标(如果没有请刷新页面).
# 10.2 配置 lotus-smart-pledge
双击桌面的
lotus-smart-pledge
应用,进入应用主界面.点击
应用配置
标签栏,再点击编辑
按钮.修改配置,新手使用默认值就行了。如果要改,只需要改一下
质押间隔(s)
这个配置项,你算力机器越多,这个值要设置的越小。具体算法是这样的:
集群每日封装的扇区数量(T)= 所有 PC1 机器每天做的 PC1 任务的总和 PC1=PC1 并行数 PC1_TIME=单个 PC1 任务耗时,约 3.5h T = SUM($PC1 x (24 / $PC1_TIME) V = 86400 / $T
# 10.3 安装 lotus-smart-pledge
回到
节点预览
页面,点击点此一键安装
按钮.在节点选择下拉框中选择
自定义节点
.勾选你想要安装应用的节点,如果节点过多你可以搜索节点名称对节点进行筛选,如果你不知道该安装到哪台机器,请参考 或者联系原语云客服咨询.
点击
安装
按钮.开始安装完成之后
节点预览
界面会多出一条记录,"状态" 这一栏会同步显示安装进度,安装完成之后会显示启动按钮.@Note: 安装完成之后,你的节点上会多一个
yy_lotus-smart-pledge
命令,你可以通过在终端yy
一下,再按Tab
键唤出该命令。
# 10.3 启动 lotus-smart-pledge
点击应用状态栏的 启动
图标,即可启动 lotus-smart-pledge
应用。
# 10.4 确认启动成功
我们查看一下是否有 AP
任务正在运行:
yy_lotus-miner sealing jobs |grep AP
你也可以直接查看运行日志,日志路径为: /yuanyun/lotus-smart-pledge/log/info.log
有类似下面输出,则说明启动成功.
[2021-04-24T13:37:32] +-Try to get the sealing workers stat list ...
[2021-04-24T13:37:32] Worker 31807f8b-35b9-4241-a5cf-1e44f0208b77, Qark 6954189237054079254, host miner
[2021-04-24T13:37:32] 6954189237054079254: {AP:{0 0 0 0}, P1:{0 0 0 0}, P2:{0 0 0 0}, C2:{0 0 0 0}}
[2021-04-24T13:37:32] Worker 32fa17af-0a77-47a3-9c7
[2021-04-24T13:37:32] Worker f02eab50-7717-451a-997f-37cd6289fe89, Qark 6954189273690800406, host p1-worker1
[2021-04-24T13:37:32] 6954189273690800406: {AP:{0 0 0 0}, P1:{0 0 0 12}, P2:{0 0 0 0}, C2:{0 0 0 0}}
[2021-04-24T13:37:32] +-Try to get the cluster workers stat ...
[2021-04-24T13:37:32] Checking gworker(1 workers) 6954189237054079254 ...
[2021-04-24T13:37:32] 6954189237054079254: {AP:{0 0 0 0}, P1:{0 0 0 0}, P2:{0 0 0 0}, C2:{0 0 0 0}}
[2021-04-24T13:37:32] Checking gworker(3 workers) 6954246163020644630 ...
[2021-04-24T13:37:32] 6954189273690800406: {AP:{0 0 0 0}, P1:{0 0 0 12}, P2:{0 0 0 2}, C2:{0 0 0 0}}
[2021-04-24T13:37:32] |-done with map_len=5, list_len=5
[2021-04-24T13:37:32] |-cleared with map_len=0, list_len=0
[2021-04-24T13:37:32] : {AP:{0 0 0 0}, P1:{0 0 0 18}, P2:{0 0 0 4}, C2:{0 0 0 1}}
# 11-集群基础运维
恭喜您,您已经完成了集群的搭建,您现在可以去 lotus 基础运维教程 开启您集群运维之旅了O(∩_∩)O~