目的是建立一个可与 Vastai 一起使用的工具列表。这些工具可以免费使用、修改和分发。如果您觉得这有帮助并且愿意捐款,您可以将捐款发送到以下钱包。
比特币 15qkQSYXP2BvpqJkbj2qsNFb6nd7FyVcou
XMR 897VkA8sG6gh7yvrKrtvWningikPteojfSgGff3JAUs3cu7jxPDjhiAZRdcQSYPE2VGFVHAdirHqRZEpZsWyPiNK6XPQKAg
RVN RSgWS9Co8nQeyPqQAAqHkHhc5ykXyoMDUp
USDT(ETH ERC20) 0xa5955cf9fe7af53bcaa1d2404e2b17a1f28aac4f
贝宝 PayPal.Me/cryptolabsZA
广大主机安装指南
自我验证测试
Speedtest-cli 修复了大量
分析仪表板
监控您的 Nvidia 3000/4000 核心、GPU 热点和 VRAM 温度
使用 ubuntu-22-and-24 时出现 nvml 错误
删除 Pressitent 红色错误消息
内存奥
超频监视器
使用 RTX3090 的 Python 基准测试对 GPU 进行压力测试
Telegram-Vast-Uptime-Bot
根据挖矿利润自动更新主机挂牌价格
大量的后台工作或闲置工作
如果您有无头系统,请设置风扇速度
删除无人值守升级包
如何更新主机
如何将庞大的 docker 驱动程序移动到另一个驱动器
将 varlibdocker 备份到网络上的另一台计算机
使用 VNC 连接到正在运行的实例以查看应用程序 GUI
在vastai上的网络浏览器中设置3D加速桌面
有用的命令
如何为网络上的系统设置 docker 注册表
#Start with a clean install of ubuntu 22.04.x HWE Kernal server. Just add openssh. sudo apt update && sudo apt upgrade -y && sudo apt dist-upgrade -y && sudo apt install update-manager-core -y #if you did not install HWE kernal do the following sudo apt install --install-recommends linux-generic-hwe-22.04 -y sudo reboot #install the drivers. sudo apt install build-essential -y sudo add-apt-repository ppa:graphics-drivers/ppa -y sudo apt update # to search for available NVIDIA drivers: use this command sudo apt search nvidia-driver | grep nvidia-driver | sort -r sudo apt install nvidia-driver-560 -y # assuming the latest is 560 #Remove unattended-upgrades Package so that the dirver don't upgrade when you have clients sudo apt purge --auto-remove unattended-upgrades -y sudo systemctl disable apt-daily-upgrade.timer sudo systemctl mask apt-daily-upgrade.service sudo systemctl disable apt-daily.timer sudo systemctl mask apt-daily.service # This is needed to remove xserver and genome if you started with ubunut desktop. clients can't run a desktop gui in an continer wothout if you have a xserver. bash -c 'sudo apt-get update; sudo apt-get -y upgrade; sudo apt-get install -y libgtk-3-0; sudo apt-get install -y xinit; sudo apt-get install -y xserver-xorg-core; sudo apt-get remove -y gnome-shell; sudo update-grub; sudo nvidia-xconfig -a --cool-bits=28 --allow-empty-initial-configuration --enable-all-gpus' #if Ubuntu is installed to a SSD and you plan to have the vast client data stored on a nvme follow the below instructions. #WARRNING IF YOUR OS IS ON /dev/nvme0n1 IT WILL BE WIPED. CHECK TWICE change this device to the intended device name that you pan to use. # this is one command that will create the xfs partion and write it to the disk /dev/nvme0n1. echo -e "nnnnnnnwn" | sudo cfdisk /dev/nvme0n1 && sudo mkfs.xfs /dev/nvme0n1p1 sudo mkdir /var/lib/docker #I added discard so that the ssd is trimeds by ubunut and nofail if there is some problem with the drive the system will still boot. sudo bash -c 'uuid=$(sudo xfs_admin -lu /dev/nvme0n1p1 | sed -n "2p" | awk "{print $NF}"); echo "UUID=$uuid /var/lib/docker/ xfs rw,auto,pquota,discard,nofail 0 0" >> /etc/fstab' sudo mount -a # check that /dev/nvme0n1p1 is mounted to /var/lib/docker/ df -h #this will enable Persistence mode on reboot so that the gpus can go to idle power when not used sudo bash -c '(crontab -l; echo "@reboot nvidia-smi -pm 1" ) | crontab -' #run the install command for vast sudo apt install python3 -y sudo wget https://console.vast.ai/install -O install; sudo python3 install YourKey; history -d $((HISTCMD-1)); GRUB_CMDLINE_LINUX="amd_iommu=on nvidia_drm.modeset=0 systemd.unified_cgroup_hierarchy=false" #only run this command if you plan to support VM's on your machines. read vast guide to understand more https://vast.ai/docs/hosting/vms sudo bash -c 'sed -i "/^GRUB_CMDLINE_LINUX=""/s/""/"amd_iommu=on nvidia_drm.modeset=0"/" /etc/default/grub && update-grub' update-grub #if you get nvml error then run this sudo wget https://raw.githubusercontent.com/jjziets/vasttools/main/nvml_fix.py sudo python3 nvml_fix.py sudo reboot #follow the Configure Networking instructions as per https://console.vast.ai/host/setup #test the ports with running sudo nc -l -p port on the host machine and use https://portchecker.co to verify sudo bash -c 'echo "40000-40019" > /var/lib/vastai_kaalia/host_port_range' sudo reboot #After reboot, check that the drive is mounted to /var/lib/docker and that your systems show up on the vast dashboard. df -h # look for /var/lib/docker mount sudo systemctl status vastai sudo systemctl status docker
您可以运行以下测试,以确保您的新机器将出现在验证测试的候选名单中。如果通过,您的机器很有可能符合验证资格。如果您从与要测试的计算机位于同一网络的计算机上运行此命令,则您的路由器不需要允许环回。如果您不知道如何启用环回,最好在云提供商提供的虚拟机上运行它,或者通过移动连接到您的电脑。
autoverify_machineid.sh
脚本是一套工具的一部分,旨在自动测试 Vast.ai 市场上的机器。该脚本专门测试一台机器,以确定它是否满足进一步验证所需的最低要求。
在开始使用./autoverify_machineid.sh
之前,请确保您具备以下条件:
Vast.ai 命令行界面(vastcli) :该工具用于与 Vast.ai 平台交互。
Vast.ai 上市:该机器应该在广阔的市场上上市。
Ubuntu 操作系统:脚本设计为在 Ubuunt 20.04 或更高版本上运行。
下载并设置vastcli
:
使用以下命令下载 Vast.ai CLI 工具:
wget https://raw.githubusercontent.com/vast-ai/vast-python/master/vast.py -O 巨大 chmod +x 巨大
设置您的 Vast.ai API 密钥:
./vast set api-key 6189d1be9f15ad2dced0ac4e3dfd1f648aeb484d592e83d13aaf50aee2d24c07
下载 autoverify_machineid.sh :
使用 wget 将 autoverify_machineid.sh 下载到本地计算机:
wget https://github.com/jjziets/VastVerification/releases/download/0.4-beta/autoverify_machineid.sh
使脚本可执行:
更改主脚本的权限以使它们可执行:
chmod +x autoverify_machineid.sh
依赖关系
apt update apt install bc jq
运行以下命令来安装所需的包
./autoverify_machineid.sh
检查机器要求:
./autoverify_machineid.sh
脚本旨在测试单台机器是否满足验证的最低要求。这对于想要验证自己机器的主机很有用。
要通过machine_id
测试特定机器,请使用以下命令:
./autoverify_machineid.sh <机器 ID>
将
替换为您要测试的机器的实际 ID。
忽略要求检查:
./autoverify_machineid.sh --ignore-requirements
此命令运行机器的测试,无论它是否满足最低要求。
进度和结果记录:
该脚本记录测试的进度和结果。
成功的结果和通过要求的机器将记录在Pass_testresults.log
中。
不满足要求或测试过程中遇到错误的机器将记录在Error_testresults.log
中。
了解日志:
Pass_testresults.log
:此文件包含成功通过所有测试的计算机的条目。
Error_testresults.log
:此文件包含未能满足最低要求或在测试期间遇到错误的计算机的条目。
以下是运行autoverify_machineid.sh
脚本来测试machine_id
10921 的计算机的方法:
./autoverify_machineid.sh 10921
API 密钥问题:确保使用./vast set api-key
正确设置您的 API 密钥。
权限被拒绝:如果遇到权限问题,请确保脚本文件具有可执行权限 ( chmod +x
)。
连接问题:验证您的网络连接并确保 Vast.ai CLI 可以与 Vast.ai 服务器通信。
通过遵循本指南,您将能够使用./autoverify_machineid.sh
脚本来测试 Vast.ai 市场上的各个计算机。此过程有助于确保机器满足 GPU 和系统性能所需的规格,使其成为市场上进一步验证和使用的候选者。
如果您的计算机出现问题,无法正确显示其上传和下载速度。
首先通过强制运行速度测试来检查是否存在问题
cd /var/lib/vastai_kaalia ./send_mach_info.py --speedtest
输出应该是这样的
2024-10-03 08:50:04.587469 os version running df checking errors nvidia-smi 560035003 /usr/bin/fio checking speedtest /usr/bin/speedtest speedtest running speedtest on random server id 19897 {"type":"result","timestamp":"2024-10-03T08:50:24Z","ping":{"jitter":0.243,"latency":21.723,"low":21.526,"high":22.047},"download":{"bandwidth":116386091,"bytes":1010581968,"elapsed":8806,"latency":{"iqm":22.562,"low":20.999,"high":296.975,"jitter":3.976}},"upload":{"bandwidth":116439919,"bytes":980885877,"elapsed":8508,"latency":{"iqm":36.457,"low":6.852,"high":349.495,"jitter":34.704}},"packetLoss":0,"isp":"Vox Telecom","interface":{"internalIp":"192.168.1.101","name":"bond0","macAddr":"F2:6A:67:0C:85:8B","isVpn":false,"externalIp":"41.193.204.66"},"server":{"id":19897,"host":"speedtest.wibernet.co.za","port":8080,"name":"Wibernet","location":"Cape Town","country":"South Africa","ip":"102.165.64.110"},"result":{"id":"18bb02e4-466d-43dd-b1fc-3f106319a9f6","url":"https://www.speedtest.net/result/c/18bb02e4-466d-43dd-b1fc-3f106319a9f6","persisted":true}} ....
如果上述速度测试不起作用,您可以尝试安装替代的更新版本。由于较新的速度测试输出不具有相同的格式,脚本将对其进行翻译,以便广大用户可以使用新的速度测试。所有命令组合起来
bash -c "sudo apt-get install curl -y && sudo curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash && sudo apt-get install speedtest -y && sudo apt install python3 -y && cd /var/lib/vastai_kaalia/latest && sudo mv speedtest-cli speedtest-cli.old && sudo wget -O speedtest-cli https://raw.githubusercontent.com/jjziets/vasttools/main/speedtest-cli.py && sudo chmod +x speedtest-cli"
或一步一步
sudo apt-get install curl sudo curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash sudo apt-get install speedtest -y sudo apt install python3 -y cd /var/lib/vastai_kaalia/latest sudo mv speedtest-cli speedtest-cli.old sudo wget -O speedtest-cli https://raw.githubusercontent.com/jjziets/vasttools/main/speedtest-cli.py sudo chmod +x speedtest-cli
这将您的速度测试更新为较新的测试并翻译了输出,以便 Vast Demon 可以使用它。如果您现在速度较慢,请按照此操作
## If migrating from prior bintray install instructions please first... # sudo rm /etc/apt/sources.list.d/speedtest.list # sudo apt-get update # sudo apt-get remove speedtest -y ## Other non-official binaries will conflict with Speedtest CLI # Example how to remove using apt-get # sudo apt-get remove speedtest-cli sudo apt-get install curl curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash sudo apt-get install speedtest
Prometheus Grafana 监控系统,发送警报并跟踪有关您设备的所有指标,还跟踪收入和租金。 https://github.com/jjziets/DCMontoring
如果您在 22,24 上遇到大量安装程序的问题并且出现 nvml 错误,请运行下面的脚本,此脚本基于 Bo26fhmC5M,因此请归功于他
sudo wget https://raw.githubusercontent.com/jjziets/vasttools/main/nvml_fix.py sudo python nvml_fix.py
如果您的计算机上出现红色错误消息,并且您已确认已解决该错误消息。删除 /var/lib/vastai_kaalia/kaalia.log 并重新启动可能会有所帮助
sudo rm /var/lib/vastai_kaalia/kaalia.log sudo systemctl restart vastai
如果您不想设置分析仪表板而只想查看 GPU 上的所有临时数据,则可以使用以下工具
sudo wget https://github.com/jjziets/gddr6_temps/raw/master/nvml_direct_access sudo chmod +x nvml_direct_access sudo ./nvml_direct_access
设置RTX 3090的OC需要以下内容
在主机上运行以下命令:
sudo apt-get install libgtk-3-0 && sudo apt-get install xinit && sudo apt-get install xserver-xorg-core && sudo update-grub && sudo nvidia-xconfig -a --cool-bits=28 --allow-empty-initial-configuration --enable-all-gpus wget https://raw.githubusercontent.com/jjziets/vasttools/main/set_mem.sh sudo chmod +x set_mem.sh sudo ./set_mem.sh 2000 # this will set the memory OC to +1000mhs on all the gpus. You can use 3000 on some gpu's which will give 1500mhs OC.
设置监控程序,该程序将根据正在运行的程序更改内存 oc。它是为 RTX3090 设计的,现阶段的目标是 ethminer。它需要 set_mem.sh 和 ocmonitor.sh 在根目录中运行。
wget https://raw.githubusercontent.com/jjziets/vasttools/main/ocminitor.sh sudo chmod +x ocminitor.sh sudo ./ocminitor.sh # I suggest running this in tmux or screen so that when you close the ssh connetion. It looks for ethminer and if it finds it it will set the oc based on your choice. you can also set powerlimits with nvidia-smi -pl 350
要在重新启动时加载,请使用下面的 crontab
sudo (crontab -l; echo "@reboot screen -dmS ocmonitor /home/jzietsman/ocminitor.sh") | crontab - #replace the user with your user
挖矿不会像 Python 工作负载那样对系统造成压力,因此这也是一个很好的运行测试。
首先,设置一个维护窗口,然后一旦没有客户端运行,就可以进行压力测试。
https://github.com/jjziets/pytorch-benchmark-volta
可以在文件夹 /app/ 中找到全套压力测试 docker image jjziets/vastai-benchmarks:latest
stress-ng - CPU stress stress-ng - Drive stress stress-ng - Memory stress sysbench - Memory latency and speed benchmark dd - Drive speed benchmark Hashcat - Benchmark bandwithTest - GPU bandwith benchmark pytorch - Pytorch DL benchmark
#测试或bash界面
sudo docker run --shm-size 1G --rm -it --gpus all jjziets/vastai-benchmarks /bin/bash apt update && apt upgrade -y ./benchmark.sh
#使用默认设置运行结果保存到./output。
sudo docker run -v ${PWD}/output:/app/output --shm-size 1G --rm -it --gpus all jjziets/vastai-benchmarks Run with params SLEEP_TIME/BENCH_TIME sudo docker run -v ${PWD}/output:/app/output --shm-size 1G --rm -it -e SLEEP_TIME=2 -e BENCH_TIME=2 --gpus all jjziets/vastai-benchmarks
您还可以进行 GPU 烧录测试。
sudo docker run --gpus all --rm oguzpastirmaci/gpu-burn
如果您想为一个 GPU 运行它,请运行以下命令,将 x 替换为从 0 开始的 GPU 编号。
sudo docker run --gpus '"device=x"' --rm oguzpastirmaci/gpu-burn
*基于 leona/vast.ai-tools
这是一组用于监控机器崩溃的脚本。在大型计算机上运行客户端,在远程计算机上运行服务器。如果在超时(默认 12 秒)内没有发送心跳,您会在 Telegram 上收到通知。 https://github.com/jjziets/Telegram-Vast-Uptime-Bot
基于 RTX 3090 120Mhs 的 eth。它设定了我的 2 台主机的价格。它与自定义 Vast-cli 一起使用,可以在这里找到 https://github.com/jjziets/vast-python/blob/master/vast.py 管理器在这里 https://github.com/jjziets/vasttools/ blob/main/setprice.sh
这应该在 vps 上运行,而不是在主机上运行。不要通过在主机上使用您的 Vast API 密钥来暴露它。
wget https://github.com/jjziets/vast-python/blob/master/vast.py sudo chmod +x vast.py ./vast.py set api-key UseYourVasset wget https://github.com/jjziets/vasttools/blob/main/setprice.sh sudo chmod +x setprice.sh
管理闲置工作的最佳方法是通过庞大的 cli。据我所知,GUI 设置工作已损坏。因此,要设置空闲作业,请按照以下步骤操作。您需要下载大量的 cli 并运行以下命令。这个想法是将自己租为一份可中断的工作。庞大的 cli 允许您为所有 GPU 设置一项空闲作业或为每个实例设置一个 GPU。您还可以设置 SSH 连接方法或任何其他方法。转到 https://cloud.vast.ai/cli/ 并安装您的 cli 风格。
设置您的帐户密钥,以便您可以使用庞大的 cli。您可以从您的帐户页面获取此密钥。
./vast set api-key API_KEY
您可以使用我的 SetIdleJob.py 脚本根据您机器上设置的最低价格来设置您的空闲作业。
wget https://raw.githubusercontent.com/jjziets/vasttools/main/SetIdleJob.py
这是我如何挖掘到nicehash的示例
python3 SetIdleJob.py --args 'env | grep _ >> /etc/environment; echo "starting up"; apt -y update; apt -y install wget; apt -y install libjansson4; apt -y install xz-utils; wget https://github.com/develsoftware/GMinerRelease/releases/download/3.44/gminer_3_44_linux64.tar.xz; tar -xvf gminer_3_44_linux64.tar.xz; while true; do ./miner --algo kawpow --server stratum+tcp://kawpow.auto.nicehash.com:9200 --user 3LNHVWvUEufL1AYcKaohxZK2P58iBHdbVH.${VAST_CONTAINERLABEL:2}; done'
或者如果您不想使用默认值,则使用完整命令
python3 SetIdleJob.py --image nvidia/cuda:12.4.1-runtime-ubuntu22.04 --disk 16 --args 'env | grep _ >> /etc/environment; echo "starting up"; apt -y update; apt -y install wget; apt -y install libjansson4; apt -y install xz-utils; wget https://github.com/develsoftware/GMinerRelease/releases/download/3.44/gminer_3_44_linux64.tar.xz; tar -xvf gminer_3_44_linux64.tar.xz; while true; do ./miner --algo kawpow --server stratum+tcp://kawpow.auto.nicehash.com:9200 --user 3LNHVWvUEufL1AYcKaohxZK2P58iBHdbVH.${VAST_CONTAINERLABEL:2}; done' --api-key b149b011a1481cd852b7a1cf1ccc9248a5182431b23f9410c1537fca063a68b1
使用实例页面上的日志对 bash -c 命令进行故障排除
或者,您可以使用以下命令租用自己,然后登录并加载您想要运行的内容。确保将您的进程添加到 onstart.sh 以租用自己,首先使用机器 ID 找到您的机器
./vast search offers "machine_id=14109 verified=any gpu_frac=1 " # gpu_frac=1 will give you the instance with all the gpus.
或者
./vast search offers -i "machine_id=14109 verified=any min_bid>0.1 num_gpus=1" # it will give you the instance with one GPU
一旦你有了off_id。在这种情况下,使用 -i 开关进行搜索将为您提供可中断的 instance_id
假设您想使用 lolminer 进行挖矿
./vast create instance 9554646 --price 0.2 --image nvidia/cuda:12.0.1-devel-ubuntu20.04 --env '-p 22:22' --onstart-cmd 'bash -c "apt -y update; apt -y install wget; apt -y install libjansson4; apt -y install xz-utils; wget https://github.com/Lolliedieb/lolMiner-releases/releases/download/1.77b/lolMiner_v1.77b_Lin64.tar.gz; tar -xf lolMiner_v1.77b_Lin64.tar.gz -C ./; cd 1.77b; ./lolMiner --algo ETCHASH --pool etc.2miners.com:1010 --user 0xYour_Wallet_Goes_Here.VASTtest"' --ssh --direct --disk 100
它将以 0.2 的价格启动实例。
./vast show instances # will give you the list of instance ./vast change bid 9554646 --price 0.3 # This will change the price to 0.3 for the instance
这是一个包含两个程序和一些脚本的存储库,您可以使用它们来管理您的粉丝 https://github.com/jjziets/GPU_FAN_OC_Manager/tree/main
bash -c "wget https://github.com/jjziets/GPU_FAN_OC_Manager/raw/main/set_fan_curve; chmod +x set_fan_curve; CURRENT_PATH=$(pwd); nohup bash -c "while true; do $CURRENT_PATH/set_fan_curve 65; sleep 1; done" > output.txt & (crontab -l; echo "@reboot screen -dmS gpuManger bash -c 'while true; do $CURRENT_PATH/set_fan_curve 65; sleep 1; done'") | crontab -"
如果您的系统在大型运行时更新,或者更糟糕的是,当客户租用您时,那么您可能会被取消验证或被禁止。建议仅在系统未租用并下架时进行更新。最好是设定列表的结束日期,并在该阶段进行更新和升级。要停止无人值守升级,请运行以下命令。
sudo apt purge --auto-remove unattended-upgrades -y sudo systemctl disable apt-daily-upgrade.timer sudo systemctl mask apt-daily-upgrade.service sudo systemctl disable apt-daily.timer sudo systemctl mask apt-daily.service
当系统空闲并除名时,运行以下命令。大量的 Demon 和 docker 服务被停止。像这样升级 Nvidia 驱动程序也是一个好主意。如果您不这样做,并且升级会破坏软件包,您可能会被取消验证,甚至被禁止使用。
bash -c ' sudo systemctl stop vastai; sudo systemctl stop docker.socket; sudo systemctl stop docker; sudo apt update; sudo apt upgrade -y; sudo systemctl start docker.socket ; sudo systemctl start docker; sudo systemctl start vastai'
本指南说明了如何从现有驱动器备份vastai Docker 数据并将其传输到新驱动器。在本例中为 raid 驱动程序 /dev/md0
没有客户在运行,您也没有从广阔的市场中上市。
Docker 数据存在于当前驱动器上。
安装所需工具:
sudo apt install pv pixz
停止并禁用相关服务:
sudo systemctl stop vastai docker.socket docker sudo systemctl disable vastai docker.socket docker
备份 Docker 目录:创建/var/lib/docker
目录的压缩备份。确保操作系统驱动器上有足够的空间用于此备份。或者将数据移动到备份服务器。请参阅https://github.com/jjziets/vasttools/blob/main/README.md#backup-varlibdocker-to-another-machine-on-your-network
sudo tar -c -I 'pixz -k -1' -f ./docker.tar.pixz /var/lib/docker | pv #you can change ./ to a destination directory
注意: pixz
利用多个核心来实现更快的压缩。
卸载 Docker 目录:如果您打算关闭并安装新驱动器:
sudo umount /var/lib/docker
更新/etc/fstab
:禁用启动时自动挂载当前 Docker 目录以防止启动问题:
sudo nano /etc/fstab
通过在行开头添加#
来注释与/var/lib/docker
关联的行。
对新驱动器进行分区:(根据您的系统调整设备名称。本指南以 RAID 的/dev/md0
和 NVMe 驱动器的/dev/nvme0n1
为例。)
sudo cfdisk /dev/md0
使用 XFS 格式化新分区:
sudo mkfs.xfs -f /dev/md0p1
检索 UUID :您需要 UUID 来更新/etc/fstab
。
sudo xfs_admin -lu /dev/md0p1
使用新驱动器更新/etc/fstab
:
sudo nano /etc/fstab
添加以下行(将 UUID 替换为您检索到的 UUID):
UUID="YOUR_UUID_HERE" /var/lib/docker xfs rw,auto,pquota,discard,nofail 0 0
挂载新分区:
sudo mount -a
确认挂载:
df -h
确保/dev/md0p1
(或适当的设备名称)已安装到/var/lib/docker
。
恢复 Docker 数据:导航到根目录:
光盘 /
解压并恢复:确保将用户更改为相关名称
sudo cat /home/user/docker.tar.pixz | pv | sudo tar -x -I 'pixz -d -k'
启用服务:
sudo systemctl enable vastai docker.socket docker
重新启动:
sudo reboot
检查所需的驱动器是否已安装到/var/lib/docker
并确保vastai
可以运行。
/var/lib/docker
备份到网络上的另一台计算机如果您希望将 Docker 设置迁移到另一台计算机,无论是更换驱动器还是设置 RAID,请遵循本指南。对于此示例,我们假设备份服务器的 IP 地址是192.168.1.100
。
暂时启用 Root SSH 登录:在备份过程中确保 SSH 通信不间断至关重要,尤其是在传输压缩 Docker 数据等大文件时。一个。打开SSH配置:
sudo nano /etc/ssh/sshd_config
b.找到并更改行:
PermitRootLogin no
到:
PermitRootLogin yes
c.重新加载 SSH 配置:
sudo systemctl restart sshd
生成 SSH 密钥并将其传输到备份服务器:创建 SSH 密钥:
sudo ssh-keygen
b.将 SSH 密钥复制到备份服务器:
sudo ssh-copy-id -i ~/.ssh/id_rsa [email protected]
禁用 Root 密码验证:确保只有 SSH 密钥才能用于 root 登录,增强安全性。一个。修改SSH配置:
sudo nano /etc/ssh/sshd_config
b.将行更改为:
PermitRootLogin 禁止密码
c.重新加载 SSH 配置:
sudo systemctl restart sshd
备份准备:备份前,确保相关服务已停止:
sudo systemctl stop docker.socket sudo systemctl stop docker sudo systemctl stop vastai sudo systemctl disable vastai sudo systemctl disable docker.socket sudo systemctl disable docker
备份过程:此过程压缩/var/lib/docker
目录并将其传输到备份服务器。一个。切换到root用户并安装必要的工具:
sudo su apt install pixz apt install pv
在 tmux 或 screen 中运行备份命令可能是个好主意,这样如果您丢失 ssh 连接,该过程就会完成。 b.执行备份:
tar -c -I 'pixz -k -0' -f - /var/lib/docker | pv | ssh [email protected] "cat > /mnt/backup/machine/docker.tar.pixz"
恢复备份:确保您的新驱动器安装在/var/lib/docker
。一个。切换到root用户:
sudo su
b.从备份恢复:
cd / ssh [email protected] "cat /mnt/backup/machine/docker.tar.pixz" | pv | sudo tar -x -I 'pixz -d -k'
重新激活服务:
sudo systemctl enable vastai sudo systemctl enable docker.socket sudo systemctl enable docker sudo reboot
重启后:确保您的目标驱动器已安装到/var/lib/docker
并且vastai
可以运行。
使用具有开放端口的实例如果显示颜色深度为 16 而不是 16 位,请尝试另一个 vnc 查看器。 TightVNC 在 Windows 上为我工作
首先告诉广阔允许分配端口。使用 -p 8081:8081 并勾选直接命令。
找到一个开放端口的主机然后租用它。最好按需提供。转到客户端实例页面并等待连接按钮
使用 ssh 连接到实例。
运行以下命令。第二部分可以放在 onstart.sh 中以在重新启动时运行
bash -c 'apt-get update; apt-get -y upgrade; apt-get install -y x11vnc; apt-get install -y xvfb; apt-get install -y firefox;apt-get install -y xfce4;apt-get install -y xfce4-goodies' export DISPLAY=:20 Xvfb :20 -screen 0 1920x1080x16 & x11vnc -passwd TestVNC -display :20 -N -forever -rfbport 8081 & startxfce4
要连接,请使用主机的 IP 和提供的端口。在本例中为 400010
然后享受桌面。遗憾的是这不是硬件加速的。所以没有游戏可以玩
我们将使用 ghcr.io/ehfd/nvidia-glx-desktop:latest
使用这个环境参数
-e TZ=UTC -e SIZEW=1920 -e SIZEH=1080 -e REFRESH=60 -e DPI=96 -e CDEPTH=24 -e VIDEO_PORT=DFP -e PASSWD=mypasswd -e WEBRTC_ENCODER=nvh264enc -e BASIC_AUTH_PASSWORD=mypasswd -p 8080:8080
找到一个开放端口的系统
加载完成后点击打开
用户名是用户,密码是您在本例中设置的mypasswd
点击开始
Web 浏览器中的 3D 加速桌面环境
这将减少来自您的公共 IP 的拉取请求数量。 Docker 的匿名登录限制为每 6 小时 100 次拉取,它可以加快您的租赁的启动时间。本指南提供有关如何使用 Docker Compose 设置 Docker 注册表服务器以及配置 Docker 客户端以使用此注册表的说明。先决条件 Docker 和 Docker Compose 安装在本地 LAN 上具有大量快速存储的服务器上。 Docker 安装在所有客户端计算机上。
设置 Docker 注册表服务器 如果尚未安装 docker-compose,请安装。
sudo su curl -L "https://github.com/docker/compose/releases/download/v2.24.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose apt-get update && sudo apt-get install -y gettext-base
创建 docker-compose.yml 文件:在服务器上创建一个名为 docker-compose.yml 的文件,其中包含以下内容:
version: '3' services: registry: restart: unless-stopped image: registry:2 ports: - 5000:5000 environment: - REGISTRY_PROXY_REMOTEURL=https://registry-1.docker.io - REGISTRY_STORAGE_DELETE_ENABLED="true" volumes: - data:/var/lib/registry volumes: data:
此配置设置在端口 5000 上运行的 Docker 注册表服务器,并使用名为 data 的卷进行存储。启动 Docker 注册表:
在 docker-compose.yml 文件所在目录中运行以下命令:
sudo docker-compose up -d
该命令将启动