利用闲置 vps 进行挖矿

俗话说下雨打孩子,闲着也是闲着。既然这么闲,那么就用服务器的 CPU 资源做点事吧。这次挖的是 XMR。

0 准备展开目录

想要挖矿,首先需要一个电脑,一个对应币种的钱包和一个矿工 + 矿池。

电脑展开目录

这里我使用了我三台目前正在闲置的服务器,其中一台就是目前正在运行网站的服务器,还有两台位于 Vultr 洛杉矶和日本机房。另外一台位于 conoha 的东京机房,暂不参与挖矿。原因是 conoha 对于服务器使用上有很严格的限制,虽然官网没说,但是根据网友反馈,每月使用的流量超过一定数额后会开启限速,而前几天我登陆 conoha 时发现我服务器的下载速度已经被限制到了 60KB/s,因此为了防止挖矿占用大量 CPU 资源而导致被封,因此这台服务器不作为矿工。

目前这三台服务器的情况是:

网页服务器 CPU 使用率:

洛杉矶服务器 CPU 使用率:

日本机房 CPU 使用率:

可见这三台服务器的 CPU 日常都处于歇工状态。因此以挖矿的形式利用起来。虽然 Vultr 和 Bandwagonghost 对于 CPU 使用方面很开放,但是为了保证服务器能够有额外的 CPU 资源处理日常和突发事务,我对三台服务器的挖矿进程做出如下限制:

BandwagonHost 上挖矿进程将只能占用 40% 的 CPU 时间,剩余的 60% 为网页和数据库做准备;Vultr 上的每台服务器将占用 50% 的 CPU 时间,剩余 50% 用作处理网络流量。总的下来日常的服务器 CPU 使用率在 60%~70%,我想这对于服务商来说应该还是可接受的。

钱包展开目录

这里我使用的是 Monero 官方提供的程序。这个在 Monero 官网上就可以找到,使用方法在这里不是重点,重点是收款栏中的钱包地址,这个要用来接受挖矿回报的。另外诸位读者也可以通过如下截图的地址给我发送 XMR 币。

矿工、矿池展开目录

在矿池的选择上,我选择的是 nanopool。它使用起来比较简单,也无须注册什么账号,方便得很。而矿工程序,我选择的是纯 CPU 的 xmr-stak。

1 部署矿工展开目录

下载源码展开目录

截止当前,xmr-stak 的最后更新是 2018 年 4 月 19 日,26a5d65 号提交。直接在网页上下载 zip 格式的压缩包或者直接在服务器上 git clone 都可以。在这里需要注意的是源代码默认会有 2% 的开发者贡献。换言之程序默认将会每 100 分钟为开发者挖 2 分钟的矿作为贡献,如果你想最大化收益的话,请在文件中修改。

编译展开目录

xmr-stak 依赖的编译工具是 Cmake。除非你用的是 LFS(Linux From Scratch,从源码编译可用的 Linux 系统),一般情况下你都可以直接在软件包管理器中很方便的安装它。推荐使用 Debian9.

apt-get install -y libmicrohttpd-dev libssl-dev cmake build-essential libhwloc-dev

xmr-stak 官方提供编译指南,因此我就不多赘述了。值得注意的是我们要在服务器上进行挖矿,而服务器多半是没有 GPU 的,因此 Cmake 时请附加和来关闭对 GPU 的支持。如果你也不想要它内建的 http 服务,你可以通过来关闭。

编译完成后在 build 文件夹下会有 bin 文件夹,该文件夹内的 xmr-stak 就是主程序了,在使用之前需要赋予其运行权限。至此我们就可以开始配置了。

配置展开目录

首次运行 xmr-stak 文件,按照提示进行配置即可。如果想要使用网页监控,那么选取一个 1024 以上的端口作为端口号即可。接着按照提示输入你的矿池地址,nanopool 提供了几个服务器,

对于每个地址,nanopool 都提供两个端口:普通的 14444 和支持 SSL/TLS 加密的 14433。个人推荐的话,14433 更好一些。

选好矿池地址后会要求你输入用户名或者钱包地址。nanopool 的格式如下:

钱包地址. 矿工名称 / 电子邮件

因此我的地址写成后应该是:

关于 nicehash 和多矿池就因人而异了。我这里都不使用。进行了第一次配置后,我们就可以进行细节上的微调了。在 xmr-stak 的同级目录下将会出现三个文件:、t 和。这些分别对应 xmr-stak、矿池和 CPU 的设置。在 config 文件中,我将调整为,这样矿工可以后台运行。同时还在 HTTP Authentication 处增加了网页的登陆验证,这样可以防止别人查看你的统计信息。

而 CPU.txt 中可以配置每个逻辑核心 CPU 的使用情况,其中自带英文说明。但是因为我的服务器大多只是单核心的,因此没必要进行设置。

外部限制 CPU 使用率展开目录

如果 xmr-stak 成功连接到矿池,那么他就会立刻开始工作。这时候如果你使用 htop 这类工具看 CPU 使用率,你会发现它占用了全部的 CPU 使用率,这是很容易招致封号的,因此我使用进行 cpu 限制。这个小工具是开源的,你可以从源码编译,也可以轻松的使用软件包管理器进行安装。具体的使用方法是:

cpulimit -e [xmr-stak 所在路径] -l [每核心可使用的 CPU 资源,范围 0-100]

其中要注意的是参数后面是每个核心的,如果你有四核心而想让总体使用 40%,那么你应当设置,这样四核心加起来就是 40% 了。

开机自启动展开目录

服务器嘛,搞不好就会重启。因此将矿工加到开机自启动中是个不错的主意。这里使用了,该文件在不同系统中使用方式和开启方式不同,如无效请检查服务以及文件。自启动配置如下:

[xmr-stak 所在路径] -c [config.txt 所在路径] -C [pools.txt 所在路径] --cpu [cpu.txt 所在路径] &

cpulimit -e [xmr-stak 所在路径] -l 50

随后重启一下查看效果即可。至此,一台矿工的配置就完成了。如果你有多台服务器,在每台服务器上重复上述操作即可。

2 实际效果展开目录

忙活了这儿大半天,是时候看看成效了。如图是我一下午在 nanopool 的成果:

这一下午服务器一直好好的,但是 nanopool 却断断续续的跟我说三个节点掉线了,其中位于 vultr 日本机房的 SKB2 节点甚至都一直没有上过线。该节点目前的情况是:

嗯,迷之低产出。不知道为什么,都是同样的 vultr 套餐,洛杉矶那个就相对好一点了:

而我们这个有着 3 个核心的网页服务器呢,好像更好一些:

而且看样子它还找到了两个块:

然而,目前为止并不能保证实时上线,也不知道问题出在哪里。相比之下,该矿池算力第一的大佬,人家的算力嘛,大概也就是我的两万倍嘛,人家 730 个节点,我 3 个,也没差多少嘛。人家每小时产出约 40USD,我这每个月产出 2USD,也还行嘛。

3 关于掉线的一种猜测展开目录

刚刚正当我要点击发布文章时,突然发现图像里出现了这么个峰值:

我:

然而我又赶紧看了一眼 SKB3 的状态,仍然是 44Hash/s 稳如狗。所以据我猜测三个节点之所以断断续续、SKB2 节点至今仍未上线,我猜测应该是算力不足导致的。图表统计显示节点在线时为 210Hash/s,但是实际远远不够,而为了节省矿池的连接数,矿工程序将计算出来的 hash 暂时储存起来,等到一定数量时再一起发给矿池。因此这样粗略计算,SKB2 节点 4Hash/s,那么其首次上线应该在启动后的 9~27 小时。届时其将向矿池持续以 210Hash/s 发送 10~30 分钟。

所以。。。果然算力还是重点啊。看来是时候买个新路由器,重新打开我那个 56 核的双路 E5 了。不过这些嘛,就是下期的事了。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180430G18H8F00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券