【教程】升级新版Solo脚本方法及注意事项

:zap:说明:本文是针对使用旧版solo脚本挖矿的机器升级脚本到最新版的方法,如果您是全新机器安装,请参照官方WIKI进行操作:Installing Phala Mining Tools - Phala Network Wiki


1.新版脚本目录说明

点击图片可以放大观看,了解了脚本的结构和作用才能更好地为我所用嘛~

2.旧版脚本升级注意事项

  • 升级前准备工作
sudo phala stop     # 停止所有容器

cd ~                # 切换到根目录

sudo mv solo-mining-scripts-main/ old_phala_scripts/      # 将旧版本目录改名为old_phala_scripts
# 再看下根目录下有没有 main.zip main.zip.1之类的压缩包,先去删除掉。

sudo cp -r /var/khala-pruntime-data /var/khala-pruntime-data-backup      # 对pruntime数据文件进行备份
  • 下载脚本并安装
# 下载solo脚本
wget https://github.com/Phala-Network/solo-mining-scripts/archive/refs/heads/main.zip

# 如果github无法访问可以使用下面的连接
wget https://github.suugee.workers.dev/https://github.com/Phala-Network/solo-mining-scripts/archive/refs/heads/main.zip

unzip main.zip          # 解压压缩包

cd ~/solo-mining-scripts-main/  # 进入脚本目录

sudo ./phala.sh install     # 执行脚本安装

后面根据提示终端上的提示输入之前的参数即可。

#没有修改过node数据位置的话直接Enter确定即可,如果你修改过node数据位置,这里就写实际位置。

Enter your Khala DATA PATH(Default:/var/khala):

3.常用phala命令

sudo phala start       # 启动phala全部容器
sudo phala stop       # 停止phala全部容器

sudo phala logs node      # 查看node日志
sudo phala logs pruntime      # 查看pruntime日志
sudo phala logs pherry      # 查看pherry日志

sudo phala config show      # 显示配置参数
sudo phala update script      # 更新脚本

sudo phala start node      # 启动node容器
sudo phala start pruntime      # 启动pruntime容器
sudo phala start pherry      # 启动pherry容器

sudo phala stop node      # 停止node容器
sudo phala stop pruntime      # 停止pruntime容器
sudo phala stop pherry      # 停止pherry容器

4.常用docker命令:

除了phala脚本内置的命令,您还可以通过docker命令进行维护:
sudo docker ps -a       # 查看容器状态
sudo docker images      # 查看镜像列表和镜像日期
sudo docker restart phala-node  # 重启node容器
sudo docker restart phala-pruntime  # 重启pruntime容器
sudo docker restart phala-pherry  # 重启pherry容器
sudo docker logs -f phala-node -n 10 # 查看node日志
sudo docker logs -f phala-pruntime -n 10 # 查看pruntime日志
sudo docker logs -f phala-pherry -n 10 # 查看pherry日志

Node分离用户需要对node机和worker机修改 ~/solo-mining-scripts-main/temp/docker-compose.yml.template 在此不做详细介绍。


  • 此次脚本升级不是强制性的,使用旧脚本依然可以正常在双子星升级后挖矿;
  • 升级不需要停机,由于 pRuntime 持久化已经在前几个版本上线。若已经更新持久化版本pruntime这次升级脚本不需要重新同步节点、pRuntime及 pherry
  • 老脚本用户执行phala命令均会触发老的升级机制,会导致脚本崩溃。若不希望升级可以修改/opt/phala/scripts/phala.sh 第187行删除 check_version 。
  • 如果因使用老脚本误操作导致无法找到phala命令,可以直接按照新脚本升级方法升级。升级后会自动恢复。
  • 如果自行修改了老脚本进行使用(比如修改了节点分离、修改了数据路径等),需重新修改新脚本才可以使用

部分矿工升级新脚本后,到这一步容易出现下图问题:

问题原因:

为了统一文件夹规范,新脚本想把你/var/khala-dev-node/var/khala-pruntime-data 都移动到/var/khala目录下去,如果之前硬盘扩容使用的不是LVM,而是额外挂载的硬盘到 khala-dev-node ,那么怎么可能移动得过去呢?

解决方案:

1.卸载原先/var/khala-dev-node的硬盘挂载
2.在/var/目录下创建khala文件夹,然后把硬盘重新挂载/var/khala/khala-dev-node目录下,配置好应该是这样的:

  • /var/khala/
    • /khala-dev-node
      • /chains
      • /polkadot

3.然后再去执行./phala.sh install


如果你想将node中的khala数据和polkadot数据分别存放在固态硬盘和机械盘上,可以参考以下步骤:

第一步,停止node容器
第二步,卸载机械硬盘挂载
第三步,创建/var/khala/node-data/目录,并在该目录下创建polkadot目录
第四步,将机械硬盘挂载到其他目录
第五步,将机械硬盘里的chains移动到/var/khala/node-data/目录下
第六步,将机械硬盘内polkadot目录内的chains移动到机械硬盘根目录。
第七步,将机械硬盘重新挂载到/var/khala/node-data/polkadot目录上。
第八步,启动node。

这样无需修改其他配置即可将node数据分开到固态和机械上了,你搞懂了波?:smirk: