Ziel ist es, eine Liste von Tools zu erstellen, die mit Vastai verwendet werden können. Die Tools können kostenlos verwendet, geändert und weitergegeben werden. Wenn Sie dies hilfreich finden und spenden möchten, können Sie Ihre Spenden an die folgenden Wallets senden.
BTC 15qkQSYXP2BvpqJkbj2qsNFb6nd7FyVcou
XMR 897VkA8sG6gh7yvrKrtvWningikPteojfSgGff3JAUs3cu7jxPDjhiAZRdcQSYPE2VGFVHAdirHqRZEpZsWyPiNK6XPQKAg
RVN RSgWs9Co8nQeyPqQAAqHkHhc5ykXyoMDUp
USDT(ETH ERC20) 0xa5955cf9fe7af53bcaa1d2404e2b17a1f28aac4f
Paypal PayPal.Me/cryptolabsZA
Host-Installationsanleitung für riesig
Selbstverifizierungstest
Speedtest-cli-Fix für riesig
Analytics-Dashboard
Überwachen Sie die Temperaturen Ihres Nvidia 3000/4000-Kerns, GPU-Hotspots und VRAM
nvml-Fehler bei der Verwendung von Ubuntu 22 und 24
Entfernen Sie die roten Fehlermeldungen von Pressitent
Speicher ok
OC-Monitor
Stresstests der GPUs auf großem Niveau mit dem Python-Benchmark der RTX3090
Telegram-Vast-Uptime-Bot
Aktualisieren Sie den Preis für die Host-Eintragung automatisch basierend auf den Mining-Gewinn
Hintergrundjob oder Leerlaufjob für große
Einstellen der Lüftergeschwindigkeit, wenn Sie ein Headless-System haben
Entfernen Sie das Paket „unattended-upgrades“.
So aktualisieren Sie einen Host
So verschieben Sie Ihren umfangreichen Docker-Treiber auf ein anderes Laufwerk
Sichern Sie varlibdocker auf einem anderen Computer in Ihrem Netzwerk
Stellen Sie mit VNC eine Verbindung zur laufenden Instanz her, um die Anwendungs-GUI anzuzeigen
Einrichten eines 3D-beschleunigten Desktops im Webbrowser auf Vastai
Nützliche Befehle
So richten Sie eine Docker-Registrierung für die Systeme in Ihrem Netzwerk ein
#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
Sie können den folgenden Test durchführen, um sicherzustellen, dass Ihre neue Maschine in die engere Wahl für den Verifizierungstest kommt. Wenn Sie die Prüfung bestehen, besteht eine hohe Chance, dass Ihre Maschine für die Verifizierung in Frage kommt. Bedenken Sie, dass Ihr Router Loopback zulassen muss, wenn Sie dies von einem Computer aus ausführen, der sich im selben Netzwerk befindet wie der Computer, den Sie testen möchten. Wenn Sie nicht wissen, wie Sie Loopback aktivieren, ist es besser, dies auf einer VM eines Cloud-Anbieters oder mit einer mobilen Verbindung zu Ihrem PC auszuführen.
Das Skript autoverify_machineid.sh
ist Teil einer Suite von Tools, die zur Automatisierung des Testens von Maschinen auf dem Vast.ai-Marktplatz entwickelt wurden. Dieses Skript testet speziell einen einzelnen Computer, um festzustellen, ob er die für die weitere Überprüfung erforderlichen Mindestanforderungen erfüllt.
Bevor Sie mit der Verwendung ./autoverify_machineid.sh
beginnen, stellen Sie sicher, dass Sie über Folgendes verfügen:
Vast.ai-Befehlszeilenschnittstelle (vastcli) : Dieses Tool wird für die Interaktion mit der Vast.ai-Plattform verwendet.
Vast.ai Listing : Die Maschine sollte auf dem riesigen Marktplatz gelistet sein.
Ubuntu-Betriebssystem : Die Skripte sind für die Ausführung unter Ubununt 20.04 oder neuer konzipiert.
vastcli
herunterladen und einrichten :
Laden Sie das Vast.ai-CLI-Tool mit dem folgenden Befehl herunter:
wget https://raw.githubusercontent.com/vast-ai/vast-python/master/vast.py -O riesig chmod +x riesig
Legen Sie Ihren Vast.ai-API-Schlüssel fest:
./vast set api-key 6189d1be9f15ad2dced0ac4e3dfd1f648aeb484d592e83d13aaf50aee2d24c07
Laden Sie autoverify_machineid.sh herunter :
Verwenden Sie wget, um autoverify_machineid.sh auf Ihren lokalen Computer herunterzuladen:
wget https://github.com/jjziets/VastVerification/releases/download/0.4-beta/autoverify_machineid.sh
Skripte ausführbar machen :
Ändern Sie die Berechtigungen der Hauptskripte, um sie ausführbar zu machen:
chmod +x autoverify_machineid.sh
Abhängigkeiten
apt update apt install bc jq
Führen Sie Folgendes aus, um die erforderlichen Pakete zu installieren
./autoverify_machineid.sh
Überprüfen Sie die Maschinenanforderungen :
Das Skript ./autoverify_machineid.sh
soll testen, ob ein einzelner Computer die Mindestanforderungen für die Verifizierung erfüllt. Dies ist nützlich für Hosts, die ihre eigenen Maschinen überprüfen möchten.
Um eine bestimmte Maschine anhand ihrer machine_id
zu testen, verwenden Sie den folgenden Befehl:
./autoverify_machineid.sh
Ersetzen Sie
durch die tatsächliche ID der Maschine, die Sie testen möchten.
So ignorieren Sie die Anforderungsprüfung :
./autoverify_machineid.sh --ignore-requirements
Dieser Befehl führt die Tests für die Maschine aus, unabhängig davon, ob sie die Mindestanforderungen erfüllt.
Fortschritts- und Ergebnisprotokollierung :
Das Skript protokolliert den Fortschritt und die Ergebnisse der Tests.
Erfolgreiche Ergebnisse und Maschinen, die die Anforderungen erfüllen, werden in Pass_testresults.log
protokolliert.
Maschinen, die die Anforderungen nicht erfüllen oder beim Testen auf Fehler stoßen, werden in Error_testresults.log
protokolliert.
Die Protokolle verstehen :
Pass_testresults.log
: Diese Datei enthält Einträge für Maschinen, die alle Tests erfolgreich bestanden haben.
Error_testresults.log
: Diese Datei enthält Einträge für Maschinen, die die Mindestanforderungen nicht erfüllten oder beim Testen Fehler festgestellt haben.
So können Sie das Skript autoverify_machineid.sh
ausführen, um eine Maschine mit machine_id
10921 zu testen:
./autoverify_machineid.sh 10921
Probleme mit dem API-Schlüssel : Stellen Sie mit ./vast set api-key
sicher, dass Ihr API-Schlüssel richtig eingestellt ist.
Berechtigung verweigert : Wenn Sie auf Berechtigungsprobleme stoßen, stellen Sie sicher, dass die Skriptdateien über ausführbare Berechtigungen verfügen ( chmod +x
).
Verbindungsprobleme : Überprüfen Sie Ihre Netzwerkverbindung und stellen Sie sicher, dass die Vast.ai-CLI mit den Vast.ai-Servern kommunizieren kann.
Wenn Sie dieser Anleitung folgen, können Sie das Skript ./autoverify_machineid.sh
verwenden, um einzelne Maschinen auf dem Vast.ai-Marktplatz zu testen. Dieser Prozess trägt dazu bei, dass Maschinen die erforderlichen Spezifikationen für GPU- und Systemleistung erfüllen, sodass sie für eine weitere Überprüfung und Verwendung auf dem Markt in Frage kommen.
Wenn Sie Probleme damit haben, dass Ihr Computer die Upload- und Download-Geschwindigkeit nicht korrekt anzeigt.
Überprüfen Sie zunächst, ob ein Problem vorliegt, indem Sie die Ausführung des Geschwindigkeitstests erzwingen
cd /var/lib/vastai_kaalia ./send_mach_info.py --speedtest
Die Ausgabe sollte so aussehen
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}} ....
Wenn der obige Geschwindigkeitstest nicht funktioniert, können Sie versuchen, einen alternativen, neueren zu installieren. Da die Ausgabe des neueren Geschwindigkeitstests nicht das gleiche Format hat, wird sie von einem Skript übersetzt, damit jeder den neuen Geschwindigkeitstest verwenden kann. Alle Befehle zusammengefasst
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"
oder Schritt für Schritt
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
Dadurch wurde Ihr Geschwindigkeitstest auf die neuere Version aktualisiert und die Ausgabe übersetzt, sodass Vast Demon ihn verwenden kann. Wenn Sie jetzt langsamere Geschwindigkeiten erreichen, befolgen Sie diese Schritte
## 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-Überwachungssysteme senden Warnungen und verfolgen alle Kennzahlen zu Ihrer Ausrüstung sowie Einnahmen und Mieten. https://github.com/jjziets/DCMontoring
Führen Sie das folgende Skript aus, wenn Sie ein Problem mit dem umfangreichen Installationsprogramm auf 22,24 und einem NVML-Fehler haben. Dieses Skript basiert auf Bo26fhmC5M, also gebührt ihm die Anerkennung
sudo wget https://raw.githubusercontent.com/jjziets/vasttools/main/nvml_fix.py sudo python nvml_fix.py
wenn auf Ihrem Computer eine rote Fehlermeldung angezeigt wird, von der Sie bestätigt haben, dass sie behoben wurde. Es könnte hilfreich sein, /var/lib/vastai_kaalia/kaalia.log zu löschen und neu zu starten
sudo rm /var/lib/vastai_kaalia/kaalia.log sudo systemctl restart vastai
Wenn Sie das Analytics-Dashboard nicht einrichten möchten, sondern nur alle Temps auf Ihrer GPU sehen möchten, können Sie das folgende Tool verwenden
sudo wget https://github.com/jjziets/gddr6_temps/raw/master/nvml_direct_access sudo chmod +x nvml_direct_access sudo ./nvml_direct_access
Stellen Sie den OC des RTX 3090 ein. Dazu ist Folgendes erforderlich
Führen Sie auf dem Host den folgenden Befehl aus:
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.
Richten Sie das Überwachungsprogramm ein, das die Speicherkapazität basierend auf dem ausgeführten Programm ändert. Es wurde für RTX3090 entwickelt und zielt derzeit auf Ethminer ab. Es erfordert, dass sowohl set_mem.sh als auch ocmonitor.sh im Stammverzeichnis ausgeführt werden.
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
Um beim Neustart zu laden, verwenden Sie die Crontab unten
sudo (crontab -l; echo "@reboot screen -dmS ocmonitor /home/jzietsman/ocminitor.sh") | crontab - #replace the user with your user
Mining belastet Ihr System nicht so stark wie Python-Arbeitslasten, daher ist dies auch ein guter Test.
Legen Sie zunächst ein Wartungsfenster fest. Sobald keine Clients mehr ausgeführt werden, können Sie den Stresstest durchführen.
https://github.com/jjziets/pytorch-benchmark-volta
Eine vollständige Suite von Stresstests finden Sie im Docker-Image jjziets/vastai-benchmarks:latest im Ordner /app/.
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
#test- oder Bash-Schnittstelle
sudo docker run --shm-size 1G --rm -it --gpus all jjziets/vastai-benchmarks /bin/bash apt update && apt upgrade -y ./benchmark.sh
#Mit Standardeinstellungen ausführen. Ergebnisse werden unter ./output gespeichert.
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
Sie können auch einen GPU-Brenntest durchführen.
sudo docker run --gpus all --rm oguzpastirmaci/gpu-burn
Wenn Sie es für eine GPU ausführen möchten, führen Sie den folgenden Befehl aus und ersetzen Sie das x durch die GPU-Nummer, beginnend bei 0.
sudo docker run --gpus '"device=x"' --rm oguzpastirmaci/gpu-burn
*Basierend auf Leona / Vast.ai-tools
Hierbei handelt es sich um eine Reihe von Skripten zur Überwachung von Maschinenabstürzen. Führen Sie den Client auf Ihrem riesigen Rechner und den Server auf einem entfernten Rechner aus. Sie erhalten Benachrichtigungen auf Telegram, wenn innerhalb des Timeouts (Standard 12 Sekunden) keine Heartbeats gesendet werden. https://github.com/jjziets/Telegram-Vast-Uptime-Bot
basierend auf RTX 3090 120Mhs für eth. Es legt den Preis meiner 2 Hosts fest. es funktioniert mit einer benutzerdefinierten Vast-CLI, die hier zu finden ist: https://github.com/jjziets/vast-python/blob/master/vast.py Der Manager ist hier: https://github.com/jjziets/vasttools/ blob/main/setprice.sh
Dies sollte auf einem VPS und nicht auf einem Host ausgeführt werden. Legen Sie Ihre Vast-API-Schlüssel nicht offen, indem Sie sie auf dem Host verwenden.
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
Der beste Weg, Ihren Leerlaufjob zu verwalten, ist über die umfangreiche CLI. Meines Wissens nach ist der GUI-Set-Job fehlerhaft. Um einen Leerlaufjob einzurichten, befolgen Sie die folgenden Schritte. Sie müssen die umfangreiche CLI herunterladen und die folgenden Befehle ausführen. Die Idee ist, sich als unterbrechbaren Job zu vermieten. Mit der umfangreichen CLI können Sie einen Leerlaufjob für alle GPUs oder eine GPU pro Instanz festlegen. Sie können auch die SSH-Verbindungsmethode oder eine andere Methode festlegen. Gehen Sie zu https://cloud.vast.ai/cli/ und installieren Sie Ihre CLI-Variante.
Richten Sie Ihren Kontoschlüssel ein, damit Sie die umfangreiche CLI nutzen können. Sie erhalten diesen Schlüssel von Ihrer Kontoseite.
./vast set api-key API_KEY
Sie können mein SetIdleJob.py-Skript verwenden, um Ihren Leerlaufjob basierend auf dem auf Ihren Maschinen festgelegten Mindestpreis einzurichten.
wget https://raw.githubusercontent.com/jjziets/vasttools/main/SetIdleJob.py
Hier ist ein Beispiel dafür, wie ich Nicehash abbaue
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'
Oder den vollständigen Befehl, wenn Sie die Standardeinstellungen nicht verwenden möchten
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
Beheben Sie Fehler bei Ihrem bash -c-Befehl, indem Sie die Protokolle auf der Instanzseite verwenden
Alternativ können Sie sich mit dem folgenden Befehl anmelden, sich dann anmelden und laden, was Sie ausführen möchten. Stellen Sie sicher, dass Sie Ihren Prozess zu onstart.sh hinzufügen, damit Sie zunächst Ihre Maschine mit der Maschinen-ID finden können
./vast search offers "machine_id=14109 verified=any gpu_frac=1 " # gpu_frac=1 will give you the instance with all the gpus.
oder
./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
Sobald Sie die offe_id haben. In diesem Fall erhalten Sie bei der Suche mit dem Schalter -i eine unterbrechbare Instanz-ID
Nehmen wir an, Sie möchten mit Lolminer abbauen
./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
Die Instanz wird zum Preis 0,2 gestartet.
./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
Hier ist ein Repo mit zwei Programmen und einigen Skripten, mit denen Sie Ihre Fans verwalten können: 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 -"
Wenn Ihr System aktualisiert wird, während Large läuft oder noch schlimmer, wenn ein Kunde Sie mietet, werden Sie möglicherweise de-verifiziert oder gesperrt. Es wird empfohlen, die Aktualisierung nur vorzunehmen, wenn das System nicht mehr vermietet und nicht mehr gelistet ist. Am besten legen Sie ein Enddatum für Ihren Eintrag fest und führen zu diesem Zeitpunkt Aktualisierungen und Upgrades durch. Um unbeaufsichtigte Upgrades zu stoppen, führen Sie die folgenden Befehle aus.
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
Wenn das System im Leerlauf ist und aus der Liste genommen wurde, führen Sie die folgenden Befehle aus. Riesige Dämonen- und Docker-Dienste werden gestoppt. Es ist auch eine gute Idee, Nvidia-Treiber auf diese Weise zu aktualisieren. Wenn Sie dies nicht tun und die Upgrades ein Paket verlangsamen, kann es sein, dass Ihnen die Verifizierung entzogen wird oder Sie sogar von der Plattform ausgeschlossen werden.
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'
Diese Anleitung veranschaulicht, wie Sie Vastai-Docker-Daten von einem vorhandenen Laufwerk sichern und auf ein neues Laufwerk übertragen. in diesem Fall ein Raid-Treiber /dev/md0
Es sind keine Kunden aktiv und Sie sind nicht auf dem riesigen Markt gelistet.
Docker-Daten sind auf dem aktuellen Laufwerk vorhanden.
Erforderliche Tools installieren :
sudo apt install pv pixz
Stoppen und deaktivieren Sie relevante Dienste :
sudo systemctl stop vastai docker.socket docker sudo systemctl disable vastai docker.socket docker
Sichern Sie das Docker-Verzeichnis : Erstellen Sie eine komprimierte Sicherung des Verzeichnisses /var/lib/docker
. Stellen Sie sicher, dass auf dem Betriebssystemlaufwerk genügend Speicherplatz für diese Sicherung vorhanden ist. Oder verschieben Sie die Daten auf einen Sicherungsserver. siehe 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
Hinweis: pixz
nutzt mehrere Kerne für eine schnellere Komprimierung.
Hängen Sie das Docker-Verzeichnis aus : Wenn Sie vorhaben, herunterzufahren und ein neues Laufwerk zu installieren:
sudo umount /var/lib/docker
Update /etc/fstab
: Deaktivieren Sie die automatische Bereitstellung des aktuellen Docker-Verzeichnisses beim Start, um Startprobleme zu vermeiden:
sudo nano /etc/fstab
Kommentieren Sie die mit /var/lib/docker
verknüpfte Zeile aus, indem Sie am Anfang der Zeile ein #
hinzufügen.
Partitionieren Sie das neue Laufwerk : (Passen Sie den Gerätenamen basierend auf Ihrem System an. Die Anleitung verwendet /dev/md0
für RAID und /dev/nvme0n1
für NVMe-Laufwerke als Beispiele.)
sudo cfdisk /dev/md0
Formatieren Sie die neue Partition mit XFS :
sudo mkfs.xfs -f /dev/md0p1
Rufen Sie die UUID ab : Sie benötigen die UUID zum Aktualisieren von /etc/fstab
.
sudo xfs_admin -lu /dev/md0p1
Aktualisieren Sie /etc/fstab
mit dem neuen Laufwerk :
sudo nano /etc/fstab
Fügen Sie die folgende Zeile hinzu (ersetzen Sie die UUID durch die von Ihnen abgerufene):
UUID="YOUR_UUID_HERE" /var/lib/docker xfs rw,auto,pquota,discard,nofail 0 0
Mounten Sie die neue Partition :
sudo mount -a
Bestätigen Sie die Montage:
df -h
Stellen Sie sicher, dass /dev/md0p1
(oder der entsprechende Gerätename) in /var/lib/docker
gemountet ist.
Stellen Sie die Docker-Daten wieder her : Navigieren Sie zum Stammverzeichnis:
CD /
Dekomprimieren und wiederherstellen: Stellen Sie sicher, dass der Benutzer auf den entsprechenden Namen geändert wird
sudo cat /home/user/docker.tar.pixz | pv | sudo tar -x -I 'pixz -d -k'
Dienste aktivieren :
sudo systemctl enable vastai docker.socket docker
Neustart :
sudo reboot
Überprüfen Sie, ob das gewünschte Laufwerk in /var/lib/docker
gemountet ist und stellen Sie sicher, dass vastai
betriebsbereit ist.
/var/lib/docker
auf einer anderen Maschine in Ihrem Netzwerk Wenn Sie Ihr Docker-Setup auf einen anderen Computer migrieren möchten, sei es zum Ersetzen des Laufwerks oder zum Einrichten eines RAID, befolgen Sie diese Anleitung. Für dieses Beispiel gehen wir davon aus, dass die IP-Adresse des Backup-Servers 192.168.1.100
lautet.
Root-SSH-Anmeldung vorübergehend aktivieren : Es ist wichtig, eine unterbrechungsfreie SSH-Kommunikation während des Backup-Vorgangs sicherzustellen, insbesondere bei der Übertragung großer Dateien wie komprimierter Docker-Daten. A. Öffnen Sie die SSH-Konfiguration:
sudo nano /etc/ssh/sshd_config
B. Suchen und ändern Sie die Zeile:
PermitRootLogin no
Zu:
PermitRootLogin yes
C. Laden Sie die SSH-Konfiguration neu:
sudo systemctl restart sshd
Generieren Sie einen SSH-Schlüssel und übertragen Sie ihn auf den Backup-Server : a. Erstellen Sie den SSH-Schlüssel:
sudo ssh-keygen
B. Kopieren Sie den SSH-Schlüssel auf den Backup-Server:
sudo ssh-copy-id -i ~/.ssh/id_rsa [email protected]
Deaktivieren Sie die Root-Passwortauthentifizierung : Stellen Sie sicher, dass nur der SSH-Schlüssel für die Root-Anmeldung verwendet werden kann, um die Sicherheit zu erhöhen. A. Ändern Sie die SSH-Konfiguration:
sudo nano /etc/ssh/sshd_config
B. Ändern Sie die Zeile in:
PermitRootLogin-Verbotspasswort
C. Laden Sie die SSH-Konfiguration neu:
sudo systemctl restart sshd
Vorbereitung für die Sicherung : Stellen Sie vor der Sicherung sicher, dass relevante Dienste angehalten sind:
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
Sicherungsverfahren : Dieses Verfahren komprimiert das Verzeichnis /var/lib/docker
und überträgt es an den Sicherungsserver. A. Wechseln Sie zum Root-Benutzer und installieren Sie die erforderlichen Tools:
sudo su apt install pixz apt install pv
Es könnte eine gute Idee sein, den Sicherungsbefehl in tmux oder screen auszuführen, damit der Vorgang abgeschlossen wird, wenn Sie die SSH-Verbindung verlieren. B. Führen Sie die Sicherung durch:
tar -c -I 'pixz -k -0' -f - /var/lib/docker | pv | ssh [email protected] "cat > /mnt/backup/machine/docker.tar.pixz"
Wiederherstellen des Backups : Stellen Sie sicher, dass Ihr neues Laufwerk unter /var/lib/docker
gemountet ist. A. Wechseln Sie zum Root-Benutzer:
sudo su
B. Aus dem Backup wiederherstellen:
cd / ssh [email protected] "cat /mnt/backup/machine/docker.tar.pixz" | pv | sudo tar -x -I 'pixz -d -k'
Dienste reaktivieren :
sudo systemctl enable vastai sudo systemctl enable docker.socket sudo systemctl enable docker sudo reboot
Nach dem Neustart : Stellen Sie sicher, dass Ihr Ziellaufwerk unter /var/lib/docker
gemountet ist und dass vastai
betriebsbereit ist.
Verwenden einer Instanz mit offenen Ports. Wenn die Farbtiefe der Anzeige 16 und nicht 16 Bit beträgt, versuchen Sie es mit einem anderen VNC-Viewer. TightVNC hat bei mir unter Windows funktioniert
Sagen Sie zuerst Large, dass ein Port zugewiesen werden soll. Verwenden Sie -p 8081:8081 und aktivieren Sie den Direktbefehl.
Finden Sie einen Host mit offenen Ports und mieten Sie ihn dann. Am besten auf Anfrage. Gehen Sie zur Seite „Client-Instanzen“ und warten Sie auf die Schaltfläche „Verbinden“.
Verwenden Sie SSH, um eine Verbindung zu den Instanzen herzustellen.
Führen Sie die folgenden Befehle aus. Der zweite Teil kann in onstart.sh platziert werden, um beim Neustart ausgeführt zu werden
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
Um eine Verbindung herzustellen, verwenden Sie die IP des Hosts und den bereitgestellten Port. In diesem Fall ist es 400010
Dann viel Spaß mit dem Desktop. Leider ist dies nicht hardwarebeschleunigt. Daher funktionieren keine Spiele
Wir werden ghcr.io/ehfd/nvidia-glx-desktop:latest verwenden
Verwenden Sie diese Umgebungsparameter
-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
Suchen Sie ein System mit offenen Ports
Wenn Sie mit dem Laden fertig sind, klicken Sie auf „Öffnen“.
Benutzername ist Benutzer und Passwort ist das, was Sie in diesem Fall auf mypasswd festgelegt haben
Drücken Sie Start
3D-beschleunigte Desktop-Umgebung in einem Webbrowser
Dadurch wird die Anzahl der Pull-Anfragen von Ihrer öffentlichen IP reduziert. Docker ist für die unanonyme Anmeldung auf 100 Pulls pro 6 Stunden beschränkt und kann die Startzeit Ihrer Anmietungen verkürzen. Dieses Handbuch enthält Anweisungen zum Einrichten eines Docker-Registrierungsservers mit Docker Compose sowie zum Konfigurieren von Docker-Clients für die Verwendung dieser Registrierung. Voraussetzungen Docker und Docker Compose sind auf dem Server installiert, der über viel schnellen Speicher in Ihrem lokalen LAN verfügt. Docker ist auf allen Client-Rechnern installiert.
Einrichten des Docker-Registrierungsservers: Installieren Sie docker-compose, falls Sie dies noch nicht getan haben.
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
Erstellen Sie eine Datei „docker-compose.yml“: Erstellen Sie auf Ihrem Server eine Datei mit dem Namen „docker-compose.yml“ mit folgendem Inhalt:
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:
Diese Konfiguration richtet einen Docker-Registrierungsserver ein, der auf Port 5000 ausgeführt wird, und verwendet ein Volume namens „Data“ zur Speicherung. Starten Sie die Docker-Registrierung:
Führen Sie den folgenden Befehl in dem Verzeichnis aus, in dem sich Ihre docker-compose.yml-Datei befindet:
sudo docker-compose up -d
Dieser Befehl wird angezeigt