Ubuntu高级CLI农业集群篇教程

你需要在运行一个官方开放式node

使用的程序是官方的farm程序链接

首先解释一下一共需要的5个组件

核心通信 NATS.io

(所有流量都需要从这里走,这个组件可以安装在网络中任何一台机器里,nats有多种安装方法,本教程使用默认二进制安装)

部署控制器(Controller)

优先级最高,控制器是农业集群的核心,需要第一个运行,它连接到节点并管理农场的连接、断开以及缓存同步进度

subspace-farmer cluster --nats-server nats://natsIP地址:4222 \
    controller \
        --base-path /path/to/controller-dir \
        --node-rpc-url ws://<节点IP>:<节点端口>

部署缓存(Cache)

(缓存组件可以运行在任意数量的设备上,但通常至少需要一个。缓存用于存储同步数据,以提高效率,你平时单开的时候,缓存会均匀的存储在你的每个地块中,这就是单开你改一下地块数量就会重新缓存,而集群只需要一个指定位置存储一份完整的缓存)

subspace-farmer cluster --nats-server nats://natsIP地址:4222 \
    cache \
        path=/path/to/指定目录,size=200GB

部署农民(Farmer)

(农民很好理解了)

subspace-farmer cluster --nats-server nats://natsIP地址:4222 \
    farmer \
        --reward-address <奖励地址> \
        path=/path/to/farm,size=SIZE

部署绘图器(Plotter)

(用来P图的机器运行这个)

subspace-farmer cluster --nats-server nats://natsIP地址:4222 \
    plotter

本次教程一共使用4台机器

  • 192.168.15.245显卡端
  • 192.168.15.254存储端
  • 192.168.15.250存储端
  • 192.168.15.253存储端
  • 其中显卡端运行除农民以外的所有组件,而node运行在192.168.15.254的存储端上面
  • 本教程使用的所有后台程序都是screen,Ubuntu有很多可以在后台运行的程序

如果你想一台电脑同时运行多个组件 请拉到最下面部分查看

首先显卡端下载安装nats

# 下载 NATS 服务器(请根据你的系统架构选择合适的版本)
wget https://github.com/nats-io/nats-server/releases/download/v2.10.2/nats-server-v2.10.2-linux-amd64.tar.gz

# 解压下载的文件
tar -xvzf nats-server-v2.10.2-linux-amd64.tar.gz

# 进入解压后的目录
cd nats-server-v2.10.2-linux-amd64

进入目录后创建一个nats.config文件里面内容是max_payload = 2MB

echo "max_payload = 2MB" > nats.config

这时候使用screen或者其他ubutnu后台运行工具

screen -R nate

后台窗口开启后运行命令启动nats

./nats-server -c ./nats.config

如图


nats服务器应该已经成功运行

第二部是部署控制器

在命令里面指定nats服务器地址和端口,4222是nats的默认端口,后面的ws是连接你的节点要用的,就是高级CL里面的那个节点,需要开所有人连接

./farm cluster --nats-server nats://127.0.0.1:4222     controller         --base-path /home/hq/kzq         --node-rpc-url ws://192.168.15.254:9944
# 我这里可以使用127.0.0.1是因为我的nats服务器和这个组件在同一台服务器上


如图就是启动成功

第三步是部署缓存

screen -R hc
#创建后台窗口
./farm cluster --nats-server nats://127.0.0.1:4222 \
    cache \
        path=/home/user/hc,size=50GB
#设置好连接nats和缓存空间和你允许的大小,因为我这几个组件都是同一台所有可以使用127.0.0.1

如图

第四步就是 部署农民 在另外3台存储机操作
nats需要连接到第一台的显卡机
奖励地址写你自己的

screen -R farm

./farm cluster --nats-server nats://192.168.1.245:4222 \
    farmer \
        --reward-address stAAXSJS1c9Erx2hdJjzZqcaZTxwpvJ79mTyaGDwkngPGGpFG \
        path=/nvme0n1,size= 1.6T \
        path=/nvme1n1,size= 1.6T \
        path=/nvme2n1,size= 1.6T \
        path=/nvme3n1,size= 1.6T \

如图:


按照这个在其他固态农民机器上运行这个即可

最后一步 运行显卡P盘机 绘图仪

screen -R hty

./farm cluster --nats-server nats://127.0.0.1:4222 \
    plotter

运行成功后这是绘图仪界面

这是农民的界面


总步骤

多组件同时运行

如果在某台电脑 同一个程序 同时运行控制器和缓存 使用如下命令

./farm cluster --nats-server nats://192.168.15.245:4222 \
    controller \
        --base-path /home/hq/kzq \
        --node-rpc-url ws://192.168.15.254:9944 \
    -- \
    cache \
        path=/home/hq/cache,size=200GB

  • --nats-server nats://192.168.15.245:4222 指定了 NATS.io 服务器的地址。
  • controller 部分配置了控制器组件,包括:
  • --base-path:控制器的工作目录。
  • --node-rpc-url:连接节点的 RPC URL。
  • -- 用来分隔不同的组件配置。
  • cache 部分配置了缓存组件,包括:
  • path=/home/hq/cache,size=200GB:缓存文件的存储路径和大小。

如果还需要其他组件一起运行,请参考

比如我想在硬盘机上同时运行farm和绘图仪等等,最大限度压榨机器性能,绘图仪可以同时运行多个

签名的奖励哈希在绘图仪查看

绘图进度在farm组件查看

绘图仪理论上你可以每台都运行一个,也许速度会更快,可以自己实验尝试一下

说一下缓存,集群的缓存是所有盘共用一个缓存,普通模式的缓存是每个盘默认预留百分1的缓存,盘多的用户,用普通模式可能损耗比较大,如果有考虑集群后期换成默认的需要注意一下这个问题

2 Likes