El objetivo es crear una lista de herramientas que se pueden utilizar con Vastai. Las herramientas son de uso, modificación y distribución gratuitas. Si esto le resulta útil y desea donar, puede enviar sus donaciones a las siguientes billeteras.
BTC 15qkQSYXP2BvpqJkbj2qsNFb6nd7FyVcou
XMR 897VkA8sG6gh7yvrKrtvWningikPteojfSgGff3JAUs3cu7jxPDjhiAZRdcQSYPE2VGFVHAdirHqRZEpZsWyPiNK6XPQKAg
RVN RSgWs9Co8nQeyPqQAAqHkHhc5ykXyoMDUp
USDT (ETH ERC20) 0xa5955cf9fe7af53bcaa1d2404e2b17a1f28aac4f
Paypal PayPal.Me/cryptolabsZA
Guía de instalación de host para gran
Prueba de autoverificación
Corrección de speedtest-cli para gran
Panel de análisis
Supervise las temperaturas de su Nvidia 3000/4000 Core, GPU Hotspot y Vram
error-nvml-al-usar-ubuntu-22-y-24
Eliminar mensajes de error rojos de Pressitent
Memoria central
monitor OC
Prueba de esfuerzo de GPU en gran escala con Python benchmark de RTX3090
Telegram-Vast-Uptime-Bot
Actualización automática del precio de la lista de hosts en función de las ganancias mineras
Trabajo en segundo plano o trabajo inactivo para grandes
Configurar la velocidad del ventilador si tienes un sistema sin cabeza
Eliminar paquete de actualizaciones desatendidas
Cómo actualizar un host
Cómo mover su gran controlador Docker a otra unidad
Haga una copia de seguridad de varlibdocker en otra máquina de su red
Conexión a una instancia en ejecución con VNC para ver la GUI de las aplicaciones
Configurar un escritorio acelerado 3D en un navegador web en vastai
Comandos útiles
Cómo configurar un registro de Docker para los sistemas de su red
#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
Puede ejecutar la siguiente prueba para asegurarse de que su nueva máquina esté en la lista corta para las pruebas de verificación. Si aprueba, existe una alta probabilidad de que su máquina sea elegible para la verificación. Tenga en cuenta que su enrutador necesita permitir el bucle invertido si lo ejecuta desde una máquina en la misma red que la máquina que desea probar. Si no sabe cómo habilitar el loopback, será mejor ejecutarlo en una máquina virtual de un proveedor de la nube o con una conexión móvil a su PC.
El script autoverify_machineid.sh
es parte de un conjunto de herramientas diseñadas para automatizar las pruebas de máquinas en el mercado Vast.ai. Este script prueba específicamente una sola máquina para determinar si cumple con los requisitos mínimos necesarios para una verificación adicional.
Antes de comenzar a usar ./autoverify_machineid.sh
, asegúrese de tener lo siguiente:
Interfaz de línea de comandos de Vast.ai (vastcli) : esta herramienta se utiliza para interactuar con la plataforma Vast.ai.
Listado de Vast.ai : la máquina debe figurar en el vasto mercado.
Sistema operativo Ubuntu : los scripts están diseñados para ejecutarse en Ubuntu 20.04 o posterior.
Descargue y configure vastcli
:
Descargue la herramienta CLI Vast.ai usando el siguiente comando:
wget https://raw.githubusercontent.com/vast-ai/vast-python/master/vast.py -O vasto chmod +x vasto
Configure su clave API de Vast.ai:
./vasto conjunto de claves de API 6189d1be9f15ad2dced0ac4e3dfd1f648aeb484d592e83d13aaf50aee2d24c07
Descargar autoverify_machineid.sh :
Utilice wget para descargar autoverify_machineid.sh a su máquina local:
wget https://github.com/jjziets/VastVerification/releases/download/0.4-beta/autoverify_machineid.sh
Hacer scripts ejecutables :
Cambie los permisos de los scripts principales para hacerlos ejecutables:
chmod +x autoverify_machineid.sh
Dependencias
apt update apt install bc jq
Ejecute lo siguiente para instalar los paquetes necesarios
./autoverify_machineid.sh
Verifique los requisitos de la máquina :
El script ./autoverify_machineid.sh
está diseñado para probar si una sola máquina cumple con los requisitos mínimos para la verificación. Esto es útil para hosts que desean verificar sus propias máquinas.
Para probar una máquina específica por su machine_id
, use el siguiente comando:
./autoverify_machineid.sh
Reemplace
con el ID real de la máquina que desea probar.
Para ignorar la verificación de requisitos :
./autoverify_machineid.sh --ignore-requirements
Este comando ejecuta las pruebas de la máquina, independientemente de si cumple con los requisitos mínimos.
Registro de progreso y resultados :
El script registra el progreso y los resultados de las pruebas.
Los resultados exitosos y las máquinas que cumplan los requisitos se registrarán en Pass_testresults.log
.
Las máquinas que no cumplan con los requisitos o encuentren errores durante las pruebas se registrarán en Error_testresults.log
.
Comprender los registros :
Pass_testresults.log
: este archivo contiene entradas para máquinas que pasaron con éxito todas las pruebas.
Error_testresults.log
: este archivo contiene entradas para máquinas que no cumplieron con los requisitos mínimos o encontraron errores durante las pruebas.
A continuación se explica cómo ejecutar el script autoverify_machineid.sh
para probar una máquina con machine_id
10921:
./autoverify_machineid.sh 10921
Problemas con la clave API : asegúrese de que su clave API esté configurada correctamente usando ./vast set api-key
.
Permiso denegado : si encuentra problemas de permisos, asegúrese de que los archivos de script tengan permisos ejecutables ( chmod +x
).
Problemas de conexión : verifique su conexión de red y asegúrese de que la CLI de Vast.ai pueda comunicarse con los servidores de Vast.ai.
Si sigue esta guía, podrá utilizar el script ./autoverify_machineid.sh
para probar máquinas individuales en el mercado Vast.ai. Este proceso ayuda a garantizar que las máquinas cumplan con las especificaciones requeridas para la GPU y el rendimiento del sistema, lo que las convierte en candidatas para una mayor verificación y uso en el mercado.
Si tiene problemas con su máquina, no muestra correctamente la velocidad de carga y descarga.
Primero verifique si hay un problema forzando la ejecución de la prueba de velocidad.
cd /var/lib/vastai_kaalia ./send_mach_info.py --speedtest
la salida debería verse así
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 la prueba de velocidad anterior no funciona, puede intentar instalar una alternativa más nueva. Debido a que la salida de la prueba de velocidad más nueva no tiene el mismo formato, un script la traducirá para que vast pueda usar la nueva prueba de velocidad. Todos los comandos combinados
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"
o paso a paso
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
Esto actualizó su prueba de velocidad a una más nueva y tradujo el resultado para que Vast Demon pueda usarlo. Si ahora obtienes velocidades más lentas, sigue esto
## 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
Los sistemas de monitoreo Prometheus Grafana, envían alertas y rastrean todas las métricas relacionadas con su equipo y también rastrean ganancias y alquileres. https://github.com/jjziets/DCMontoring
Ejecute el siguiente script si tiene un problema con el instalador vast en 22,24 y el error nvml. Este script está basado en Bo26fhmC5M, así que el crédito es para él.
sudo wget https://raw.githubusercontent.com/jjziets/vasttools/main/nvml_fix.py sudo python nvml_fix.py
si tiene un mensaje de error rojo en su máquina que ha confirmado que se ha solucionado. Podría ser útil eliminar /var/lib/vastai_kaalia/kaalia.log y reiniciar
sudo rm /var/lib/vastai_kaalia/kaalia.log sudo systemctl restart vastai
Si no desea configurar el panel de Analytics y solo desea ver todas las temperaturas en su gpu, puede usar la siguiente herramienta
sudo wget https://github.com/jjziets/gddr6_temps/raw/master/nvml_direct_access sudo chmod +x nvml_direct_access sudo ./nvml_direct_access
configurar el OC del RTX 3090 Requiere lo siguiente
en el host ejecute el siguiente comando:
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.
Configure el programa de monitoreo que cambiará la memoria oc según el programa que se esté ejecutando. está diseñado para RTX3090 y apunta a etminer en esta etapa. Requiere que tanto set_mem.sh como ocmonitor.sh se ejecuten en la raíz.
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
Para cargar al reiniciar use el crontab a continuación
sudo (crontab -l; echo "@reboot screen -dmS ocmonitor /home/jzietsman/ocminitor.sh") | crontab - #replace the user with your user
La minería no sobrecarga su sistema de la misma manera que lo hacen las cargas de trabajo de Python, por lo que esta también es una buena prueba para ejecutar.
Primero, establezca una ventana de mantenimiento y luego, una vez que no tenga clientes en ejecución, podrá realizar las pruebas de estrés.
https://github.com/jjziets/pytorch-benchmark-volta
se puede encontrar un conjunto completo de pruebas de estrés en la imagen acoplable jjziets/vastai-benchmarks:latest en la carpeta /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
#prueba o interfaz bash
sudo docker run --shm-size 1G --rm -it --gpus all jjziets/vastai-benchmarks /bin/bash apt update && apt upgrade -y ./benchmark.sh
#Ejecutar usando la configuración predeterminada Los resultados se guardan en ./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
También puedes hacer una prueba de grabación de GPU.
sudo docker run --gpus all --rm oguzpastirmaci/gpu-burn
Si desea ejecutarlo para una GPU, ejecute el siguiente comando, reemplazando la x con el número de GPU comenzando en 0.
sudo docker run --gpus '"device=x"' --rm oguzpastirmaci/gpu-burn
*basado en leona/vast.ai-tools
Este es un conjunto de scripts para monitorear fallas de máquinas. Ejecute el cliente en su gran máquina y el servidor en una remota. Recibes notificaciones en Telegram si no se envían latidos dentro del tiempo de espera (predeterminado 12 segundos). https://github.com/jjziets/Telegram-Vast-Uptime-Bot
Basado en RTX 3090 120Mhs para eth. fija el precio de mis 2 hosts. funciona con un Vast-cli personalizado que se puede encontrar aquí https://github.com/jjziets/vast-python/blob/master/vast.py El administrador está aquí https://github.com/jjziets/vasttools/ blob/main/setprice.sh
Esto debe ejecutarse en un vps, no en un host. no exponga sus claves de Vast API usándolas en el host.
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 mejor manera de gestionar su trabajo inactivo es a través del gran CLI. Que yo sepa, el trabajo de configuración de la GUI no funciona. Entonces, para configurar un trabajo inactivo, siga los siguientes pasos. Deberá descargar la amplia CLI y ejecutar los siguientes comandos. La idea es alquilarte como trabajo interrumpible. La amplia CLI le permite configurar un trabajo inactivo para todas las GPU o una GPU por instancia. También puede configurar el método de conexión SSH o cualquier otro método. Vaya a https://cloud.vast.ai/cli/ e instale su versión cli.
configure la clave de su cuenta para que pueda usar el vasto cli. Obtienes esta clave en la página de tu cuenta.
./vast set api-key API_KEY
Puede utilizar mi script SetIdleJob.py para configurar su trabajo inactivo en función del precio mínimo establecido en sus máquinas.
wget https://raw.githubusercontent.com/jjziets/vasttools/main/SetIdleJob.py
Aquí hay un ejemplo de cómo extraigo 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'
O el comando completo si no desea utilizar los valores predeterminados
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
Solucione los problemas de su comando bash -c utilizando los registros en la página de la instancia
Alternativamente, puede alquilarlo usted mismo con el siguiente comando y luego iniciar sesión y cargar lo que desea ejecutar. Asegúrese de agregar su proceso a onstart.sh para alquilar usted mismo, primero encuentre su máquina con la identificación de la máquina.
./vast search offers "machine_id=14109 verified=any gpu_frac=1 " # gpu_frac=1 will give you the instance with all the gpus.
o
./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
Una vez que tengas el offe_id. y en este caso, la búsqueda con un modificador -i le dará un ID de instancia interrumpible
Supongamos que quieres minar con 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
iniciará la instancia con el precio 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
Aquí hay un repositorio con dos programas y algunos scripts que puedes usar para administrar tus 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 su sistema se actualiza mientras se está ejecutando vast o, peor aún, cuando un cliente lo está alquilando, es posible que no lo verifiquen o lo prohíban. Se recomienda actualizar solo cuando el sistema no esté alquilado y eliminado de la lista. Lo mejor sería establecer una fecha de finalización de su listado y realizar actualizaciones y mejoras en esa etapa. Para detener las actualizaciones desatendidas, ejecute los siguientes comandos.
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
Cuando el sistema esté inactivo y excluido de la lista, ejecute los siguientes comandos. Se detienen los grandes servicios de Demon y Docker. También es una buena idea actualizar los controladores de Nvidia de esta manera. Si no lo hace y las actualizaciones frenan un paquete, es posible que no lo verifiquen o incluso lo prohíban.
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'
Esta guía ilustra cómo hacer una copia de seguridad de los datos de Vastai Docker desde una unidad existente y transferirlos a una nueva unidad. en este caso un controlador raid /dev/md0
No hay clientes activos y usted no figura en la lista del vasto mercado.
Los datos de Docker existen en la unidad actual.
Instale las herramientas necesarias :
sudo apt install pv pixz
Detenga y deshabilite los servicios relevantes :
sudo systemctl stop vastai docker.socket docker sudo systemctl disable vastai docker.socket docker
Haga una copia de seguridad del directorio Docker : cree una copia de seguridad comprimida del directorio /var/lib/docker
. Asegúrese de que haya suficiente espacio en la unidad del sistema operativo para esta copia de seguridad. O mueva los datos al servidor de respaldo. consulte 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
Nota: pixz
utiliza múltiples núcleos para una compresión más rápida.
Desmonte el directorio Docker : si planea apagar e instalar una nueva unidad:
sudo umount /var/lib/docker
Actualización /etc/fstab
: deshabilite el montaje automático del directorio Docker actual al inicio para evitar problemas de arranque:
sudo nano /etc/fstab
Comente la línea asociada con /var/lib/docker
agregando un #
al comienzo de la línea.
Particione la nueva unidad : (Ajuste el nombre del dispositivo según su sistema. La guía utiliza /dev/md0
para RAID y /dev/nvme0n1
para unidades NVMe como ejemplos).
sudo cfdisk /dev/md0
Formatee la nueva partición con XFS :
sudo mkfs.xfs -f /dev/md0p1
Recupere el UUID : necesitará el UUID para actualizar /etc/fstab
.
sudo xfs_admin -lu /dev/md0p1
Actualice /etc/fstab
con la nueva unidad :
sudo nano /etc/fstab
Agregue la siguiente línea (reemplace el UUID con el que recuperó):
UUID="YOUR_UUID_HERE" /var/lib/docker xfs rw,auto,pquota,discard,nofail 0 0
Monte la nueva partición :
sudo mount -a
Confirmar el montaje:
df -h
Asegúrese de que /dev/md0p1
(o el nombre del dispositivo apropiado) esté montado en /var/lib/docker
.
Restaure los datos de Docker : navegue hasta el directorio raíz:
cd /
Descomprimir y restaurar: asegúrese de cambiar el usuario al nombre relevante
sudo cat /home/user/docker.tar.pixz | pv | sudo tar -x -I 'pixz -d -k'
Habilitar servicios :
sudo systemctl enable vastai docker.socket docker
Reiniciar :
sudo reboot
Verifique si la unidad deseada está montada en /var/lib/docker
y asegúrese de que vastai
esté operativo.
/var/lib/docker
en otra máquina de su red Si está buscando migrar su configuración de Docker a otra máquina, ya sea para reemplazar la unidad o configurar un RAID, siga esta guía. Para este ejemplo, asumiremos que la dirección IP del servidor de respaldo es 192.168.1.100
.
Habilitar temporalmente el inicio de sesión SSH raíz : es esencial garantizar una comunicación SSH ininterrumpida durante el proceso de copia de seguridad, especialmente al transferir archivos grandes, como datos comprimidos de Docker. a. Abra la configuración SSH:
sudo nano /etc/ssh/sshd_config
b. Localiza y cambia la línea:
PermitRootLogin no
a:
PermitRootLogin yes
do. Vuelva a cargar la configuración SSH:
sudo systemctl restart sshd
Genere una clave SSH y transfiérala al servidor de respaldo : a. Cree la clave SSH:
sudo ssh-keygen
b. Copie la clave SSH al servidor de respaldo:
sudo ssh-copy-id -i ~/.ssh/id_rsa [email protected]
Deshabilite la autenticación de contraseña raíz : asegúrese de que solo se pueda usar la clave SSH para iniciar sesión como raíz, lo que mejora la seguridad. a. Modifique la configuración de SSH:
sudo nano /etc/ssh/sshd_config
b. Cambie la línea a:
PermitRootLogin prohibir contraseña
do. Vuelva a cargar la configuración SSH:
sudo systemctl restart sshd
Preparación para la copia de seguridad : antes de realizar la copia de seguridad, asegúrese de que los servicios relevantes estén detenidos:
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
Procedimiento de copia de seguridad : este procedimiento comprime el directorio /var/lib/docker
y lo transfiere al servidor de copia de seguridad. a. Cambie al usuario root e instale las herramientas necesarias:
sudo su apt install pixz apt install pv
Puede ser una buena idea ejecutar el comando de copia de seguridad en tmux o screen para que, si pierde la conexión ssh, el proceso finalice. b. Realizar la copia de seguridad:
tar -c -I 'pixz -k -0' -f - /var/lib/docker | pv | ssh [email protected] "cat > /mnt/backup/machine/docker.tar.pixz"
Restauración de la copia de seguridad : asegúrese de que su nueva unidad esté montada en /var/lib/docker
. a. Cambie al usuario root:
sudo su
b. Restaurar desde la copia de seguridad:
cd / ssh [email protected] "cat /mnt/backup/machine/docker.tar.pixz" | pv | sudo tar -x -I 'pixz -d -k'
Reactivar Servicios :
sudo systemctl enable vastai sudo systemctl enable docker.socket sudo systemctl enable docker sudo reboot
Después del reinicio : asegúrese de que su unidad de destino esté montada en /var/lib/docker
y que vastai
esté operativo.
Usando una instancia con puertos abiertos Si la pantalla tiene una profundidad de color de 16, no de 16 bits, pruebe con otro visor VNC. TightVNC funcionó para mí en Windows
primero dígale a vast que permita que se asigne un puerto. use -p 8081:8081 y marque el comando directo.
busque un host con puertos abiertos y luego alquilelo. Preferiblemente bajo demanda. vaya a la página de instancias del cliente y espere el botón de conexión
use ssh para conectarse a las instancias.
ejecute los siguientes comandos. la segunda parte se puede colocar en onstart.sh para ejecutarla al reiniciar
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
Para conectarse utilice la ip del host y el puerto que se proporcionó. En este caso es 400010
luego disfruta del escritorio. Lamentablemente, esto no está acelerado por hardware. entonces ningún juego funcionará
Usaremos ghcr.io/ehfd/nvidia-glx-desktop:latest
use estos parámetros env
-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
encontrar un sistema que tenga puertos abiertos
cuando termine de cargar, haga clic en abrir
nombre de usuario es usuario y contraseña es lo que configuró mypasswd en este caso
presione inicio
Entorno de escritorio acelerado 3D en un navegador web
Esto reducirá la cantidad de solicitudes de extracción de su IP pública. Docker está restringido a 100 extracciones cada 6 horas para inicios de sesión anónimos y puede acelerar el tiempo de inicio de sus alquileres. Esta guía proporciona instrucciones sobre cómo configurar un servidor de registro Docker usando Docker Compose, así como también cómo configurar clientes Docker para usar este registro. Requisitos previos Docker y Docker Compose están instalados en el servidor que tiene mucho almacenamiento rápido en su LAN local. Docker está instalado en todas las máquinas cliente.
Configurando Docker Registry Server, instale docker-compose si aún no lo ha hecho.
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
Cree un archivo docker-compose.yml: cree un archivo denominado docker-compose.yml en su servidor con el siguiente contenido:
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:
Esta configuración configura un servidor de registro Docker que se ejecuta en el puerto 5000 y utiliza un volumen llamado datos para el almacenamiento. Inicie el Registro Docker:
Ejecute el siguiente comando en el directorio donde se encuentra su archivo docker-compose.yml:
sudo docker-compose up -d
Este comando protagonizará