经常买了很多 VPS,然后就不知道干什么。这时候或许可以安装 BOINC。
BOINC 全称 Berkeley Open Infrastructure for Network Computing,即伯克利开放式网络计算平台,是由美国加州大学伯克利分校电脑学系发展出的分布式计算平台,目前已成为世界上主流分布式计算平台之一。希望用户利用空余的算力,帮助进行包括数学、医学、物理和气象学等学科的学术研究。
参与的过程也不复杂,添加完项目以后挂着让程序计算就行了。如果有图形界面,比如在 Windows 下,这些操作是很好办的。而我们的 VPS 通常是 Linux 操作系统的,也不会安装图形界面。这个时候我希望只安装 BOINC 客户端,不用管理器(Manager),然后在 Windows 下(比如我自己的电脑)控制它,该怎么做呢?下面以 Debian 9 为例介绍解决方案。
方便起见,以下操作全部以 root 身份进行。
安装 BOINC 客户端
首先当然是安装 BOINC 客户端。Debian 9 的默认源中已经包含了,所以我们直接从源安装:
apt install boinc-client
这样就安装好了。
但其实呢,我这个人有点喜欢新版本的东西,所以更倾向于从 stretch-backports 源安装。你如果也想这样,得确保已经在系统源列表中添加了这个源。你可以这样添加:
echo "deb http://deb.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/stretch-backports.list
apt update
然后就可以从 stretch-backports 源安装更新的版本啦:
apt -t stretch-backports install boinc-client
配置远程管理
默认是不允许远程连接的,我们需要编辑 cc_config.xml
文件来配置。简便起见,我们修改全局配置文件 /etc/boinc-client/cc_config.xml
。写入:
<cc_config>
<options>
<allow_remote_gui_rpc>1</allow_remote_gui_rpc>
</options>
</cc_config>
默认的配置文件应该已经有些内容,我们需要按照 XML 格式和上述新内容组织起来。不懂也没关系,也可以删除原有的,用上面的内容覆盖这个文件。
然后还得设置远程管理的密码,编辑 /etc/boinc-client/gui_rpc_auth.cfg
文件,内容写密码就行。比如你想要密码是 123456
(不推荐),那内容就这样写就好:
123456
防火墙放行端口
虽然这篇文章本意是写简明教程,但还是忍不住增加这部分内容。你以后要是设置了防火墙,别忘记放行 TCP 31416 端口,这是 BOINC 远程通信的端口。
对于 iptables,可以使用如下命令:
iptables -A INPUT -p tcp -s 0/0 --dport 31416 -j ACCEPT
接下来保存 iptables 配置就行了,否则重启以后会丢失。我使用 iptables-persistent 这个方便的工具,可以从源安装它。之后我们可以这样做:
iptables-save > /etc/iptables/rules.v4
运行和测试
从源安装以后,BOINC 客户端其实已经在运行了,我们先停止:
systemctl stop boinc-client
在 VPS 上继续执行下列指令:
boinc
你就能看到一堆运行信息。用肉眼捕捉一下,如果显示有“Config: GUI RPC allowed from any host”,那么就应该配置成功了。按 Ctrl+C 退出。
我们再启动 BOINC 客户端:
systemctl start boinc-client
应该没什么问题了。默认安装会配置开机自启,不放心也可以执行下列命令设置一下:
systemctl enable boinc-client
我们在 Windows 电脑上安装并运行 BOINC Manager,切换到高级视图(视图-高级视图)。然后点击菜单的文件-选择计算机,在弹出的对话框中填写服务器地址和刚才设定的密码,点击确定就开始连接了。没有问题的话,就能看到首次连接时的项目添加界面了。
有时候能观察到右下角显示正在连接,一会儿又消失了。这可能是防火墙配置,或者网络不畅通等问题。如果是密码错误,大多会弹出提示说密码错误,不过也不一定;并且有时候说密码错误,其实也是网络问题。多试几次就有经验了。
一些注意事项
不是所有 VPS 服务商都允许运行 BOINC 这样的计算项目的。请先阅读 ToS(服务条款)。即便没有禁止,也强烈建议在 BOINC Manager 设置计算参数(选项-计算参数设置)后再开始计算,CPU 使用时间建议设定在 30% 以下。
其他的操作就自己去探索啦。
2019-12-11 P.S.编辑文章,修改为更推荐的 Service 操作(通过 systemctl)。