本文介绍如何使用 GammaOS 在 5 分钟内快速部署 Lotus 挖矿集群。文章末尾有部署的视频教程。

GammaOS 介绍

GammaOS 是星际鑫航团队专门针对 Filecoin 挖矿开发的一套挖矿管理系统。

当前的最新版是 v2.0,下面简单介绍一下其功能:

  • 矿机运维:集成了矿机硬件的信息收集,监控,管理功能。 包括 CPU,内存,磁盘,网络,GPU 等的资源使用状态,已使用资源,还剩余多少资源等实时统计。并且可以对资源的占用设置阈值, 超出阈值会自动短信预警。
  • 远程调度:内置自主研发的基于 FAAS 远程执行引擎,能够安全的批量调度矿机执行 FAAS 服务。
  • Lotus 挖矿集群部署:即使你对 Lotus 只是刚入门的新手,也能利用 GammaOS 在 3-5 分钟搭建起一个标准的 Lotus 挖矿集群。

要使用 GammaOS 管理,你的矿机首先要安装 Gamma SDK, 安装极其简单,网速不是太差的话,20 秒之内就可以搞定(后面会有安装教程)。 另外官方有提供批量安装工具,只需要提供机器的 ssh 连接信息,100 台机器半个小时就可以装完。

另外 Gamma SDK 是用 C 语言编写的,极其节省资源,别看实现了这么多功能,但是整个程序只占用了 2M 多内存,对矿机的性能几乎没有影响。

Note: 由于之前注册人数比较多,GammaOS 目前已经关闭注册功能了,想要体验的同学只能联系客服人员添加账号。

安装 GammaOS

首先到 https://gamma.xjxh.pro/admin/login 登录。

点击 SDK 下载,选中你要下载的文件,右键 复制链接地址,打开终端执行:

wget {link_url} -O gamma.tar.gz
tar -xzf gamma.tar.gz
sudo ./install.sh

部署 Lotus 集群

(1)启动 Lotus daemon

双击 lotus 应用,打开应用窗口,点击 点击一键安装,然后在弹出的窗口选择你需要安装的节点,点击确定,就 OK 了。

等安装成功之后点击 启动 按钮,Lotus daemon 就启动了,具体步骤如下图所示。

启动成功之后,会显示当前 Lotus 守护进程的 pid,以及该进程占用的 CPU 资源,内存资源等。

安装完成之后 gamma 会自动帮你在节点上创建环境变量,设置 repodir, LOTUS_PATH 之类的,并在 /usr/local/bin 目录下创建一个 gamma_lotus 脚本,用来替换 lotus 命令。比如查看当前 lotus 版本:

root@lotus# gamma_lotus version
0.2.7+git0fa362cc.dirty+api0.1.6
lotus version 0.2.7+git0fa362cc.dirty

(2)创建并初始化矿工

这一步由于需要跳转到 Lotus 的 faucet 网站去创建 Miner,所以该操作没有集成到 Gamma OS,需要手动操作。

首先创建一个 BLS 钱包:

gamma_lotus wallet new bls

然后到 https://faucet.testnet.filecoin.io/miner.html 去创建 Miner

在创建完 Miner 之后你需要按照步骤(1)的方式去安装 lotus-storage-miner 应用。

安装好之后先别启动,先初始化矿工,方法跟官方教程一样,只是把 lotus-storage-miner 命令换成 gamma_lotus-storage-miner

例如:

gamma_lotus-storage-miner init --actor=t0xxx -owner=t3qtzwoexxxxx

(3)启动矿工

打开 lotus-storage-miner 应用,点击 启动 应用即可。

(4)启动 worker

Note: 这里需要注意的是,因为 `worker` 需要自动去 `Miner` 节点下载 `api` 和 `token` 文件。 所以你需要等待 `lotus-storage-miner` 应用启动完成,生成 api 文件之后再去安装 `worker`。

处于安全考虑,GammaOS 暂时没有允许节点直接相互通信,所以我们还要在 Miner 节点搭建一个 Web 应用,以便 worker 可以 下载到 tokenapi 文件。

先安装 Nginx:

sudo apt-get install nginx

新建 /etc/nginx/sites-enabled/lotus,复制下面的内容:

# Lotus miner api
#
server {
        listen 8001;
        root /gamma/lotus-storage-miner/data;

        server_name _;

}

重启 Nginx 服务:

sudo service nginx reload

然后同样参考步骤(1)的方式,选择你所需要的节点,批量安装 lotus-seal-worker 应用,然后在批量启动就 OK 了。

至此,整个集群搭建完毕。

你可能会觉得其实步骤也不少,没有节省太多的时间。这是因为是初次搭建,需要配置的环境比较多。 但是即使这样也比按照官方的文档去搭建省事很多,尤其是你需要部署很多 worker 节点的时候。 但是当你面临 Lotus 挖矿软件进行升级的时候,GammaOS 的优势就体现出来了。你只需要在 GammaOS 后台把 lotuslotus-storage-miner lotus-seal-worker 这三个应用卸载,然后重新安装,然后再启动就行了,只需要点几下鼠标的事情。

而使用常规的部署方法,你不得不去连接每台服务器去下载新版本的软件,然后手动去停止,启动… 如果有上百个节点的话,你可以自己脑补一下工作量有多大。而且 GammaOS 收集了所有节点的挖矿数据, 以及 Lotus daemonMinerworker 应用运行的日志,包括 errorinfo。比如密封失败,出块失败,传输错误等, 将来做日志分析,就比较容易找出集群的配置的问题,挖矿收益率的影响因素,方便你调整配置和投入,提高投入出产比。

这里顺便解释一下,我这里说的 5 分钟完成部署,并不包括等待区块同步的时间以及创建矿工,下载参数的时间。

最后贴上部署的视频教程:

https://v.youku.com/v_show/id_XNDU2MDY4MDgzNg==.html