指南:在 WSL2 上安装 Ubuntu 22.04
对于 Windows 用户,必须在 WSL2 上专门设置 Ubuntu 22.04。
警告
确保在 WSL2 上安装 Ubuntu 22.04。不幸的是,Ubuntu 20.04 与 WSL2 不兼容。
有关如何安装 WSL 和运行 Ubuntu 22.04 的详细说明,请按照下面链接的教程进行操作:
安装后,可以通过运行以下命令来验证 WSL2 Ubuntu 版本:
lsb_release -a
请确认您已安装版本 22.04。
Docker
若要确保安装成功,请按照以下步骤安装和配置 Docker:
- 通过访问以下链接,将 Docker Desktop 与 WSL2 后端一起安装:安装带有 WSL2 后端的 Docker DesktopInstall Docker Desktop with WSL2 backend.
- 安装后,请确保将 Docker 添加到其自己的用户组中。
英伟达
为了充分利用网格上的GPU,我们需要同时安装NVIDIA驱动程序和NVIDIA的CUDA工具包。
NVIDIA 驱动程序安装指南
要使用 NVIDIA 驱动程序,请从 NVIDIA 官方网站下载并安装相应的驱动程序:NVIDIA 驱动程序下载.
若要验证驱动程序是否已正确安装,请打开终端并运行以下命令:
nvidia-smi
如果驱动程序安装正确,则应看到有关 GPU 的详细信息,类似于以下示例输出:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.54 Driver Version: 526.56 CUDA Version: 12.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... On | 00000000:01:00.0 Off | N/A |
| N/A 43C P5 9W / N/A | 0MiB / 4096MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
这些命令将帮助您生成必要的配置文件并验证 CDI 支持。
安装 NVIDIA 容器工具包
要安装NVIDIA 容器工具包 (nvidia-ctk
),运行以下命令:
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list \
&& \
sudo apt-get update
然后我们可以安装 NVIDIA Container Toolkit 软件包:
sudo apt-get install -y nvidia-container-toolkit
配置 NVIDIA 容器工具包
要将 NVIDIA 容器工具包配置为在 WSL2 上本机运行 Podman v4(因为 WSL2 不支持 Docker 中的 Podman),请按照 CDI 配置说明进行操作。您可以在以下位置找到这些说明https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/cdi-support.html.
完成配置后,运行以下命令:
sudo nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml
nvidia-ctk cdi list
Podman
Nosana 节点连接到 Podman,并在其中运行您的容器。在 WSL2 上,需要本机安装 Podman >v4.1:
echo "deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/unstable/xUbuntu_22.04/ /" | sudo tee /etc/apt/sources.list.d/devel:kubic:libcontainers:unstable.list
curl -fsSL https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/unstable/xUbuntu_22.04/Release.key | sudo gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/devel_kubic_libcontainers_unstable.gpg > /dev/null
sudo apt update
sudo apt install podman
检查您是否安装了 Podman 版本 4,以及您是否支持 GPU:
podman --version
podman run --rm --device nvidia.com/gpu=all --security-opt=label=disable ubuntu nvidia-smi -L
如果这不起作用,请确保您安装了 NVIDIA 驱动程序和 nvidia-ctk安装和配置
如果在运行命令时看到,请按照此处的步骤解决问题Error: container create failed (no logs from conmon)...
Nosana 测试网格脚本
只需在命令行中执行一个命令,即可在计算机上轻松设置Nosana节点。只需运行以下命令:
bash <(wget -qO- https://nosana.io/register.sh)
请注意,此脚本具有某些要求,并且专门设计为无需 sudo 权限即可运行。使用 sudo 权限从 Internet 运行任何脚本时,务必谨慎行事。即使在这种情况下,也建议在系统上执行脚本之前彻底检查脚本。您可以在此处查看脚本:https://nosana.io/register.sh
该脚本将执行一系列测试,以验证指南中概述的前面步骤是否成功完成。
您将看到节点的信息以下列格式显示。
_ _
| \ | | ___ ___ __ _ _ __ __ _
| \| |/ _ \/ __|/ _` | '_ \ / _` |
| |\ | (_) \__ \ (_| | | | | (_| |
|_| \_|\___/|___/\__,_|_| |_|\__,_|
Reading keypair from ~/.nosana/nosana_key.json
Network: mainnet
Wallet: <NODE_ADDRESS>
SOL balance: 0E-9 SOL
NOS balance: 0 NOS
Provider: podman
测试网格注册说明
运行脚本时,它会询问一些信息:电子邮件、Discord 和 Twitter/X 句柄(可选)。在填写信息并同意条款和条件后,将开始基准测试。在此基准测试中,我们将检查节点的硬件。
如果基准测试成功,您应该会看到以下输出:
Benchmark finished
================================
Thank you for registering for Nosana Node.
We'll review your registration and you will get an email from us if you are selected.
祝贺!🎉 您已完成注册。如果您被选中参加测试网格,您将收到一封电子邮件,其中包含更多信息。
警告
要查找节点的 Solana 密钥,请导航到 。必须备份此文件以确保其安全性。~/.nosana/nosana_key.json
高级(可选)
运行 Podman API
此命令可用于在端口 8080 上启动 Podman 服务,以便我们的 Nosana 节点可以访问它。
在最后一步中,脚本也已经完成了此操作,因此此步骤是可选的:register.sh
podman system service --time 0 tcp:0.0.0.0:8080&
要验证 Podman 的正常运行,请使用:
curl http://localhost:8080/v4.5.0/libpod/info
使用自定义参数启动 Nosana 节点
您可以手动启动 Nosana 节点来修改某些参数:
- 如果 Podman 服务在其他地方运行,请使用该参数将其定向到该服务。
--podman
- 如果您希望使用自己的密钥,请将 solana 密钥映射到 Docker 容器中。
--volume
/root/.nosana/nosana_key.json
docker run \
--pull=always \
--network host \
--interactive \
--volume ~/.config/solana/id.json:/root/.nosana/nosana_key.json \
nosana/nosana-node \
--podman http://$(ip addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}'):8080 \
join-test-grid
解决
如果您有任何疑问或收到错误消息,请查看我们的故障排除指南或加入我们的不和寻求帮助。