L’objectif est de dresser une liste d’outils utilisables avec Vastai. Les outils sont libres d’utilisation, de modification et de distribution. Si vous trouvez cela utile et souhaitez faire un don, vous pouvez envoyer vos dons vers les portefeuilles suivants.
BTC 15qkQSYXP2BvpqJkbj2qsNFb6nd7FyVcou
XMR 897VkA8sG6gh7yvrKrtvWningikPteojfSgGff3JAUs3cu7jxPDjhiAZRdcQSYPE2VGFVHAdirHqRZEpZsWyPiNK6XPQKAg
RVN RSgWs9Co8nQeyPqQAAqHkHhc5ykXyoMDUp
USDT(ETH ERC20) 0xa5955cf9fe7af53bcaa1d2404e2b17a1f28aac4f
Paypal PayPal.Me/cryptolabsZA
Guide d'installation de l'hôte pour de vastes
Test d'auto-vérification
Correctif Speedtest-cli pour vaste
Tableau de bord d'analyse
Surveillez les températures de votre Nvidia 3000/4000 Core, GPU Hotspot et Vram
erreur-nvml-lors-de-l'utilisation-ubuntu-22-et-24
Supprimer les messages d'erreur rouges Pressitent
Mémoire oc
Moniteur OC
Tests de stress des GPU sur un vaste banc d'essai avec Python des RTX3090
Telegram-Vast-Uptime-Bot
Mettre à jour automatiquement le prix de la liste d'hôtes en fonction des bénéfices miniers
Travail en arrière-plan ou travail inactif pour une vaste
Définir la vitesse du ventilateur si vous disposez d'un système sans tête
Supprimer le package de mises à niveau sans surveillance
Comment mettre à jour un hôte
Comment déplacer votre vaste pilote Docker vers un autre lecteur
Sauvegarder varlibdocker sur une autre machine de votre réseau
Connexion à l'instance en cours d'exécution avec VNC pour voir l'interface graphique des applications
Configuration du bureau accéléré 3D dans le navigateur Web sur Vastai
Commandes utiles
Comment configurer un registre Docker pour les systèmes de votre réseau
#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
Vous pouvez exécuter le test suivant pour vous assurer que votre nouvelle machine figurera sur la liste restreinte des tests de vérification. Si vous réussissez, il y a de fortes chances que votre machine soit éligible à la vérification. Ne considérez pas que votre routeur doit autoriser le bouclage si vous l'exécutez à partir d'une machine sur le même réseau que la machine que vous souhaitez tester. Si vous ne savez pas comment activer le bouclage, il sera préférable de l'exécuter sur une VM d'un fournisseur cloud ou avec une connexion mobile à votre PC.
Le script autoverify_machineid.sh
fait partie d'une suite d'outils conçus pour automatiser les tests de machines sur la place de marché Vast.ai. Ce script teste spécifiquement une seule machine pour déterminer si elle répond aux exigences minimales nécessaires à une vérification plus approfondie.
Avant de commencer à utiliser ./autoverify_machineid.sh
, assurez-vous d'avoir les éléments suivants :
Interface de ligne de commande Vast.ai (vastcli) : Cet outil permet d'interagir avec la plateforme Vast.ai.
Vast.ai Listing : La machine doit être répertoriée sur le vaste marché.
Système d'exploitation Ubuntu : les scripts sont conçus pour s'exécuter sur Ubuntu 20.04 ou version ultérieure.
Téléchargez et configurez vastcli
:
Téléchargez l'outil CLI Vast.ai à l'aide de la commande suivante :
wget https://raw.githubusercontent.com/vast-ai/vast-python/master/vast.py -O vaste chmod +x vaste
Définissez votre clé API Vast.ai :
./vaste ensemble de clés API 6189d1be9f15ad2dced0ac4e3dfd1f648aeb484d592e83d13aaf50aee2d24c07
Téléchargez autoverify_machineid.sh :
Utilisez wget pour télécharger autoverify_machineid.sh sur votre ordinateur local :
wget https://github.com/jjziets/VastVerification/releases/download/0.4-beta/autoverify_machineid.sh
Rendre les scripts exécutables :
Modifiez les permissions des scripts principaux pour les rendre exécutables :
chmod +x autoverify_machineid.sh
Dépendances
apt update apt install bc jq
Exécutez ce qui suit pour installer les packages requis
./autoverify_machineid.sh
Vérifiez les exigences de la machine :
Le script ./autoverify_machineid.sh
est conçu pour tester si une seule machine répond aux exigences minimales de vérification. Ceci est utile pour les hôtes qui souhaitent vérifier leurs propres machines.
Pour tester une machine spécifique par son machine_id
, utilisez la commande suivante :
./autoverify_machineid.sh
Remplacez
par l'ID réel de la machine que vous souhaitez tester.
Pour ignorer la vérification des exigences :
./autoverify_machineid.sh --ignore-requirements
Cette commande exécute les tests pour la machine, qu'elle réponde ou non à la configuration minimale requise.
Enregistrement des progrès et des résultats :
Le script enregistre la progression et les résultats des tests.
Les résultats réussis et les machines qui satisfont aux exigences seront enregistrés dans Pass_testresults.log
.
Les machines qui ne répondent pas aux exigences ou rencontrent des erreurs lors des tests seront enregistrées dans Error_testresults.log
.
Comprendre les journaux :
Pass_testresults.log
: ce fichier contient les entrées des machines qui ont réussi tous les tests.
Error_testresults.log
: ce fichier contient des entrées pour les machines qui n'ont pas réussi à répondre aux exigences minimales ou qui ont rencontré des erreurs lors des tests.
Voici comment exécuter le script autoverify_machineid.sh
pour tester une machine avec machine_id
10921 :
./autoverify_machineid.sh 10921
Problèmes de clé API : assurez-vous que votre clé API est correctement définie à l'aide de ./vast set api-key
.
Autorisation refusée : si vous rencontrez des problèmes d'autorisation, assurez-vous que les fichiers de script disposent d'autorisations exécutables ( chmod +x
).
Problèmes de connexion : vérifiez votre connexion réseau et assurez-vous que la CLI Vast.ai peut communiquer avec les serveurs Vast.ai.
En suivant ce guide, vous pourrez utiliser le script ./autoverify_machineid.sh
pour tester des machines individuelles sur le marché Vast.ai. Ce processus permet de garantir que les machines répondent aux spécifications requises en matière de performances GPU et système, ce qui en fait des candidats à une vérification plus approfondie et à une utilisation sur le marché.
Si vous rencontrez des problèmes avec votre machine qui n’affiche pas correctement sa vitesse de téléchargement et de téléchargement.
vérifiez d'abord s'il y a un problème en forçant l'exécution du speedtest
cd /var/lib/vastai_kaalia ./send_mach_info.py --speedtest
la sortie devrait ressembler à ceci
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}} ....
Si le test de vitesse ci-dessus ne fonctionne pas, vous pouvez essayer d’en installer un autre, plus récent. Étant donné que le nouveau résultat du test de vitesse n'a pas le même format, un script le traduira afin que Vastes puisse utiliser le nouveau test de vitesse. Toutes les commandes combinées
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"
ou étape par étape
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
Cela a mis à jour votre test de vitesse vers le plus récent et traduit la sortie afin que Vast Demon puisse l'utiliser. Si vous obtenez maintenant des vitesses plus lentes, suivez ceci
## 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
Les systèmes de surveillance Prometheus Grafana, envoient des alertes et suivent toutes les mesures concernant votre équipement, ainsi que les revenus et les locations. https://github.com/jjziets/DCMontoring
exécutez le script ci-dessous si vous avez un problème avec le vaste programme d'installation sur 22,24 et une erreur nvml, ce script est basé sur Bo26fhmC5M donc le crédit lui revient
sudo wget https://raw.githubusercontent.com/jjziets/vasttools/main/nvml_fix.py sudo python nvml_fix.py
si vous avez un message d'erreur rouge sur votre ordinateur dont vous avez confirmé qu'il a été résolu. Il peut être utile de supprimer /var/lib/vastai_kaalia/kaalia.log et de redémarrer
sudo rm /var/lib/vastai_kaalia/kaalia.log sudo systemctl restart vastai
Si vous ne souhaitez pas configurer le tableau de bord Analytics et que vous souhaitez simplement voir tous les temps sur votre GPU, vous pouvez utiliser l'outil ci-dessous
sudo wget https://github.com/jjziets/gddr6_temps/raw/master/nvml_direct_access sudo chmod +x nvml_direct_access sudo ./nvml_direct_access
définir l'OC du RTX 3090 Cela nécessite les éléments suivants
sur l'hôte, exécutez la commande suivante :
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.
configurez le programme de surveillance qui modifiera l'oc de la mémoire en fonction du programme en cours d'exécution. il a été conçu pour les RTX3090 et cible l'ethminer à ce stade. Il nécessite à la fois set_mem.sh et ocmonitor.sh de s'exécuter à la racine.
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
Pour charger au redémarrage, utilisez la crontab ci-dessous
sudo (crontab -l; echo "@reboot screen -dmS ocmonitor /home/jzietsman/ocminitor.sh") | crontab - #replace the user with your user
L'exploitation minière ne stresse pas votre système de la même manière que les charges de travail Python, c'est donc également un bon test à exécuter.
Tout d’abord, définissez une fenêtre de maintenance, puis une fois qu’aucun client n’est en cours d’exécution, vous pouvez effectuer les tests de résistance.
https://github.com/jjziets/pytorch-benchmark-volta
une suite complète de tests de résistance peut être trouvée dans l'image docker jjziets/vastai-benchmarks:latest dans le dossier /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
Interface #test ou bash
sudo docker run --shm-size 1G --rm -it --gpus all jjziets/vastai-benchmarks /bin/bash apt update && apt upgrade -y ./benchmark.sh
#Exécuter en utilisant les paramètres par défaut Les résultats sont enregistrés dans ./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
Vous pouvez également effectuer un test de gravure GPU.
sudo docker run --gpus all --rm oguzpastirmaci/gpu-burn
Si vous souhaitez l'exécuter pour un GPU, exécutez la commande ci-dessous, en remplaçant le x par le numéro du GPU commençant à 0.
sudo docker run --gpus '"device=x"' --rm oguzpastirmaci/gpu-burn
*basé sur leona /vast.ai-tools
Il s'agit d'un ensemble de scripts permettant de surveiller les pannes de machines. Exécutez le client sur votre vaste machine et le serveur sur une machine distante. Vous recevez des notifications sur Telegram si aucun battement de cœur n'est envoyé dans le délai imparti (12 secondes par défaut). https://github.com/jjziets/Telegram-Vast-Uptime-Bot
basé sur RTX 3090 120Mhs pour eth. il fixe le prix de mes 2 hôtes. cela fonctionne avec un Vast-cli personnalisé qui peut être trouvé ici https://github.com/jjziets/vast-python/blob/master/vast.py Le gestionnaire est ici https://github.com/jjziets/vasttools/ blob/main/setprice.sh
Cela doit être exécuté sur un VPN et non sur un hôte. n'exposez pas vos clés API Vast en les utilisant sur l'hôte.
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
La meilleure façon de gérer votre travail inactif est via le vaste cli. À ma connaissance, le travail de définition de l'interface graphique est interrompu. Donc, pour définir un travail inactif, suivez les étapes suivantes. Vous devrez télécharger le vaste cli et exécuter les commandes suivantes. L’idée est de se louer comme un travail discontinu. Le vaste cli vous permet de définir une tâche inactive pour tous les GPU ou un GPU par instance. Vous pouvez également définir la méthode de connexion SSH ou toute autre méthode. Accédez à https://cloud.vast.ai/cli/ et installez votre version cli.
configurez votre clé de compte afin de pouvoir utiliser le vaste cli. vous obtenez cette clé depuis la page de votre compte.
./vast set api-key API_KEY
Vous pouvez utiliser mon script SetIdleJob.py pour configurer votre travail inactif en fonction du prix minimum défini sur vos machines.
wget https://raw.githubusercontent.com/jjziets/vasttools/main/SetIdleJob.py
Voici un exemple de la façon dont j'exploite 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'
Ou la commande complète si vous ne souhaitez pas utiliser les valeurs par défaut
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
Dépannez votre commande bash -c en utilisant les journaux sur la page de l'instance
Alternativement, vous pouvez vous louer avec la commande suivante, puis vous connecter et charger ce que vous souhaitez exécuter. Assurez-vous d'ajouter votre processus à onstart.sh pour vous louer, trouvez d'abord votre machine avec l'identifiant de la machine
./vast search offers "machine_id=14109 verified=any gpu_frac=1 " # gpu_frac=1 will give you the instance with all the gpus.
ou
./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
Une fois que vous avez le offe_id. et dans ce cas, la recherche avec un commutateur -i vous donnera un instance_id disruptible
Supposons que vous souhaitiez exploiter avec 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
il démarrera l'instance au prix 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
Voici un dépôt avec deux programmes et quelques scripts que vous pouvez utiliser pour gérer vos fans 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 -"
Si votre système est mis à jour alors que Vast est en cours d'exécution ou, pire encore, lorsqu'un client vous loue, vous risquez d'être dévérifié ou banni. Il est conseillé de mettre à jour uniquement lorsque le système n'est plus loué et supprimé de la liste. le mieux serait de fixer une date de fin de votre annonce et d’effectuer des mises à jour et des mises à niveau à ce stade. pour arrêter les mises à niveau sans surveillance, exécutez les commandes suivantes.
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
Lorsque le système est inactif et supprimé de la liste, exécutez les commandes suivantes. de vastes services démons et docker sont arrêtés. C'est également une bonne idée de mettre à niveau les pilotes Nvidia comme celui-ci. Si vous ne le faites pas et que les mises à niveau freinent un package, vous pourriez être dé-vérifié ou même banni de vaste.
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'
Ce guide illustre comment sauvegarder les données Vastai Docker d'un disque existant et les transférer vers un nouveau disque. dans ce cas, un pilote raid /dev/md0
Aucun client n'est en cours d'exécution et vous n'êtes pas répertorié sur le vaste marché.
Les données Docker existent sur le lecteur actuel.
Installer les outils requis :
sudo apt install pv pixz
Arrêtez et désactivez les services concernés :
sudo systemctl stop vastai docker.socket docker sudo systemctl disable vastai docker.socket docker
Sauvegarder le répertoire Docker : Créez une sauvegarde compressée du répertoire /var/lib/docker
. Assurez-vous qu'il y a suffisamment d'espace sur le lecteur du système d'exploitation pour cette sauvegarde. Ou déplacez les données vers le serveur de sauvegarde. voir 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
Remarque : pixz
utilise plusieurs cœurs pour une compression plus rapide.
Démontez le répertoire Docker : Si vous envisagez d'arrêter et d'installer un nouveau lecteur :
sudo umount /var/lib/docker
Mise à jour /etc/fstab
: Désactivez le montage automatique du répertoire Docker actuel au démarrage pour éviter les problèmes de démarrage :
sudo nano /etc/fstab
Commentez la ligne associée à /var/lib/docker
en ajoutant un #
au début de la ligne.
Partitionner le nouveau disque : (Ajustez le nom du périphérique en fonction de votre système. Le guide utilise /dev/md0
pour RAID et /dev/nvme0n1
pour les disques NVMe comme exemples.)
sudo cfdisk /dev/md0
Formatez la nouvelle partition avec XFS :
sudo mkfs.xfs -f /dev/md0p1
Récupérer l'UUID : Vous aurez besoin de l'UUID pour mettre à jour /etc/fstab
.
sudo xfs_admin -lu /dev/md0p1
Mettez à jour /etc/fstab
avec le nouveau lecteur :
sudo nano /etc/fstab
Ajoutez la ligne suivante (remplacez l'UUID par celui que vous avez récupéré) :
UUID="YOUR_UUID_HERE" /var/lib/docker xfs rw,auto,pquota,discard,nofail 0 0
Montez la nouvelle partition :
sudo mount -a
Confirmez le montage :
df -h
Assurez-vous que /dev/md0p1
(ou le nom de périphérique approprié) est monté sur /var/lib/docker
.
Restaurer les données Docker : Accédez au répertoire racine :
cd /
Décompresser et restaurer : assurez-vous de changer l'utilisateur avec le nom approprié
sudo cat /home/user/docker.tar.pixz | pv | sudo tar -x -I 'pixz -d -k'
Activer les services :
sudo systemctl enable vastai docker.socket docker
Redémarrer :
sudo reboot
Vérifiez si le lecteur souhaité est monté sur /var/lib/docker
et assurez-vous vastai
est opérationnel.
/var/lib/docker
sur une autre machine de votre réseau Si vous souhaitez migrer votre configuration Docker vers une autre machine, que ce soit pour remplacer le disque ou configurer un RAID, suivez ce guide. Pour cet exemple, nous supposerons que l'adresse IP du serveur de sauvegarde est 192.168.1.100
.
Activer temporairement la connexion SSH racine : il est essentiel de garantir une communication SSH ininterrompue pendant le processus de sauvegarde, en particulier lors du transfert de fichiers volumineux tels que des données Docker compressées. un. Ouvrez la configuration SSH :
sudo nano /etc/ssh/sshd_config
b. Localisez et modifiez la ligne :
PermitRootLogin no
à:
PermitRootLogin yes
c. Rechargez la configuration SSH :
sudo systemctl restart sshd
Générez une clé SSH et transférez-la vers le serveur de sauvegarde : a. Créez la clé SSH :
sudo ssh-keygen
b. Copiez la clé SSH sur le serveur de sauvegarde :
sudo ssh-copy-id -i ~/.ssh/id_rsa [email protected]
Désactiver l'authentification par mot de passe root : assurez-vous que seule la clé SSH peut être utilisée pour la connexion root, améliorant ainsi la sécurité. un. Modifiez la configuration SSH :
sudo nano /etc/ssh/sshd_config
b. Remplacez la ligne par :
PermitRootLogin interdit-mot de passe
c. Rechargez la configuration SSH :
sudo systemctl restart sshd
Préparation à la sauvegarde : avant de sauvegarder, assurez-vous que les services concernés sont arrêtés :
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
Procédure de sauvegarde : Cette procédure compresse le répertoire /var/lib/docker
et le transfère vers le serveur de sauvegarde. un. Basculez vers l'utilisateur root et installez les outils nécessaires :
sudo su apt install pixz apt install pv
Ce pourrait être une bonne idée d'exécuter la commande de sauvegarde dans tmux ou screen afin que si vous perdez la connexion ssh, le processus se termine. b. Effectuez la sauvegarde :
tar -c -I 'pixz -k -0' -f - /var/lib/docker | pv | ssh [email protected] "cat > /mnt/backup/machine/docker.tar.pixz"
Restauration de la sauvegarde : assurez-vous que votre nouveau lecteur est monté sur /var/lib/docker
. un. Basculez vers l'utilisateur root :
sudo su
b. Restaurer à partir de la sauvegarde :
cd / ssh [email protected] "cat /mnt/backup/machine/docker.tar.pixz" | pv | sudo tar -x -I 'pixz -d -k'
Réactiver les services :
sudo systemctl enable vastai sudo systemctl enable docker.socket sudo systemctl enable docker sudo reboot
Post-redémarrage : assurez-vous que votre lecteur cible est monté sur /var/lib/docker
et que vastai
est opérationnel.
Utilisation d'une instance avec des ports ouverts Si la profondeur de couleur de l'affichage est de 16 et non de 16 bits, essayez un autre visualiseur VNC. TightVNC a fonctionné pour moi sous Windows
dites d'abord à Vast de permettre l'accès à un port. utilisez le -p 8081:8081 et cochez la commande directe.
trouvez un hôte avec des ports ouverts, puis louez-le. de préférence sur demande. allez sur la page des instances client et attendez le bouton de connexion
utilisez ssh pour vous connecter aux instances.
exécutez les commandes ci-dessous. la deuxième partie peut être placée dans le onstart.sh pour s'exécuter au redémarrage
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
Pour vous connecter, utilisez l’adresse IP de l’hôte et le port fourni. Dans ce cas c'est 400010
alors profitez du bureau. malheureusement, ce n'est pas une accélération matérielle. donc aucun jeu ne fonctionnera
Nous utiliserons ghcr.io/ehfd/nvidia-glx-desktop:latest
utiliser ces paramètres d'environnement
-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
trouver un système qui a des ports ouverts
une fois le chargement terminé, cliquez sur ouvrir
le nom d'utilisateur est l'utilisateur et le mot de passe est ce que vous avez défini mypasswd dans ce cas
appuyer sur Démarrer
Environnement de bureau accéléré en 3D dans un navigateur Web
Cela réduira le nombre de demandes d'extraction provenant de votre adresse IP publique. Docker est limité à 100 extractions par 6 heures pour une connexion anonyme et peut accélérer le temps de démarrage de vos locations. Ce guide fournit des instructions sur la façon de configurer un serveur de registre Docker à l'aide de Docker Compose, ainsi que sur la configuration des clients Docker pour utiliser ce registre. Conditions préalables Docker et Docker Compose sont installés sur le serveur qui dispose de beaucoup de stockage rapide sur votre réseau local. Docker est installé sur toutes les machines clientes.
Configuration du serveur de registre Docker, installez docker-compose si vous ne l'avez pas déjà fait.
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
Créez un fichier docker-compose.yml : Créez un fichier nommé docker-compose.yml sur votre serveur avec le contenu suivant :
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:
Cette configuration configure un serveur de registre Docker exécuté sur le port 5000 et utilise un volume nommé data pour le stockage. Démarrez le registre Docker :
Exécutez la commande suivante dans le répertoire où se trouve votre fichier docker-compose.yml :
sudo docker-compose up -d
Cette commande mettra en vedette