Цель состоит в том, чтобы составить список инструментов, которые можно использовать с Vastai. Инструменты можно использовать, изменять и распространять бесплатно. Если вы считаете это полезным и хотите сделать пожертвование, вы можете отправить свои пожертвования на следующие кошельки.
BTC 15qkQSYXP2BvpqJkbj2qsNFb6nd7FyVcou
XMR 897VkA8sG6gh7yvrKrtvWningikPteojfSgGff3JAUs3cu7jxPDjhiAZRdcQSYPE2VGFVHAdirHqRZEpZsWyPiNK6XPQKAg
РВН RSgWs9Co8nQeyPqQAAqHkHhc5ykXyoMDUp
USDT(ETH ERC20) 0xa5955cf9fe7af53bcaa1d2404e2b17a1f28aac4f
Paypal PayPal.Me/cryptolabsZA
Руководство по установке хоста для обширных
Тест самопроверки
Исправление Speedtest-cli для обширных
Панель аналитики
Контролируйте температуру ядра Nvidia 3000/4000, точки доступа графического процессора и видеопамяти.
nvml-ошибка при использовании-ubuntu-22-и-24
Удалить красные сообщения об ошибках Pressitent
Память ок
монитор ОС
Стресс-тестирование графических процессоров на обширной территории с помощью теста Python RTX3090
Telegram-Vast-Uptime-Bot
Автоматическое обновление цены на листинг хостов на основе прибыли от майнинга
Фоновая работа или простоя для огромного количества
Настройка скорости вращения вентилятора, если у вас безголовая система
Удалить пакет автоматических обновлений
Как обновить хост
Как переместить ваш огромный драйвер докера на другой диск
Резервное копирование varlibdocker на другой компьютер в вашей сети.
Подключение к работающему экземпляру с помощью VNC для просмотра графического интерфейса приложения.
Настройка рабочего стола с 3D-ускорением в веб-браузере на Вастай
Полезные команды
Как настроить реестр Docker для систем в вашей сети
#Start with a clean install of ubuntu 22.04.x HWE Kernal server. Just add openssh. sudo apt update && sudo apt upgrade -y && sudo apt dist-upgrade -y && sudo apt install update-manager-core -y #if you did not install HWE kernal do the following sudo apt install --install-recommends linux-generic-hwe-22.04 -y sudo reboot #install the drivers. sudo apt install build-essential -y sudo add-apt-repository ppa:graphics-drivers/ppa -y sudo apt update # to search for available NVIDIA drivers: use this command sudo apt search nvidia-driver | grep nvidia-driver | sort -r sudo apt install nvidia-driver-560 -y # assuming the latest is 560 #Remove unattended-upgrades Package so that the dirver don't upgrade when you have clients sudo apt purge --auto-remove unattended-upgrades -y sudo systemctl disable apt-daily-upgrade.timer sudo systemctl mask apt-daily-upgrade.service sudo systemctl disable apt-daily.timer sudo systemctl mask apt-daily.service # This is needed to remove xserver and genome if you started with ubunut desktop. clients can't run a desktop gui in an continer wothout if you have a xserver. bash -c 'sudo apt-get update; sudo apt-get -y upgrade; sudo apt-get install -y libgtk-3-0; sudo apt-get install -y xinit; sudo apt-get install -y xserver-xorg-core; sudo apt-get remove -y gnome-shell; sudo update-grub; sudo nvidia-xconfig -a --cool-bits=28 --allow-empty-initial-configuration --enable-all-gpus' #if Ubuntu is installed to a SSD and you plan to have the vast client data stored on a nvme follow the below instructions. #WARRNING IF YOUR OS IS ON /dev/nvme0n1 IT WILL BE WIPED. CHECK TWICE change this device to the intended device name that you pan to use. # this is one command that will create the xfs partion and write it to the disk /dev/nvme0n1. echo -e "nnnnnnnwn" | sudo cfdisk /dev/nvme0n1 && sudo mkfs.xfs /dev/nvme0n1p1 sudo mkdir /var/lib/docker #I added discard so that the ssd is trimeds by ubunut and nofail if there is some problem with the drive the system will still boot. sudo bash -c 'uuid=$(sudo xfs_admin -lu /dev/nvme0n1p1 | sed -n "2p" | awk "{print $NF}"); echo "UUID=$uuid /var/lib/docker/ xfs rw,auto,pquota,discard,nofail 0 0" >> /etc/fstab' sudo mount -a # check that /dev/nvme0n1p1 is mounted to /var/lib/docker/ df -h #this will enable Persistence mode on reboot so that the gpus can go to idle power when not used sudo bash -c '(crontab -l; echo "@reboot nvidia-smi -pm 1" ) | crontab -' #run the install command for vast sudo apt install python3 -y sudo wget https://console.vast.ai/install -O install; sudo python3 install YourKey; history -d $((HISTCMD-1)); GRUB_CMDLINE_LINUX="amd_iommu=on nvidia_drm.modeset=0 systemd.unified_cgroup_hierarchy=false" #only run this command if you plan to support VM's on your machines. read vast guide to understand more https://vast.ai/docs/hosting/vms sudo bash -c 'sed -i "/^GRUB_CMDLINE_LINUX=""/s/""/"amd_iommu=on nvidia_drm.modeset=0"/" /etc/default/grub && update-grub' update-grub #if you get nvml error then run this sudo wget https://raw.githubusercontent.com/jjziets/vasttools/main/nvml_fix.py sudo python3 nvml_fix.py sudo reboot #follow the Configure Networking instructions as per https://console.vast.ai/host/setup #test the ports with running sudo nc -l -p port on the host machine and use https://portchecker.co to verify sudo bash -c 'echo "40000-40019" > /var/lib/vastai_kaalia/host_port_range' sudo reboot #After reboot, check that the drive is mounted to /var/lib/docker and that your systems show up on the vast dashboard. df -h # look for /var/lib/docker mount sudo systemctl status vastai sudo systemctl status docker
Вы можете запустить следующий тест, чтобы убедиться, что ваша новая машина будет включена в короткий список для проверочного тестирования. Если вы пройдете проверку, существует высокая вероятность того, что ваша машина будет иметь право на проверку. Не забывайте, что вашему маршрутизатору необходимо разрешить петлю, если вы запускаете его с компьютера в той же сети, что и компьютер, который вы хотите протестировать. Если вы не знаете, как включить петлю, лучше запустить это на виртуальной машине от облачного провайдера или с мобильным подключением к вашему компьютеру.
Скрипт autoverify_machineid.sh
является частью набора инструментов, предназначенных для автоматизации тестирования машин на торговой площадке Vast.ai. Этот сценарий специально тестирует одну машину, чтобы определить, соответствует ли она минимальным требованиям, необходимым для дальнейшей проверки.
Прежде чем начать использовать ./autoverify_machineid.sh
, убедитесь, что у вас есть следующее:
Интерфейс командной строки Vast.ai (vastcli) : этот инструмент используется для взаимодействия с платформой Vast.ai.
Листинг на Vast.ai : машина должна быть размещена на обширной торговой площадке.
ОС Ubuntu : сценарии предназначены для работы в Ubuntu 20.04 или новее.
Загрузите и vastcli
:
Загрузите инструмент CLI Vast.ai, используя следующую команду:
wget https://raw.githubusercontent.com/vast-ai/vast-python/master/vast.py -О обширный chmod +x огромный
Установите ключ API Vast.ai:
./vast set api-key 6189d1be9f15ad2dced0ac4e3dfd1f648aeb484d592e83d13aaf50aee2d24c07
Загрузите autoverify_machineid.sh :
Используйте wget для загрузки autoverify_machineid.sh на свой локальный компьютер:
wget https://github.com/jjziets/VastVerification/releases/download/0.4-beta/autoverify_machineid.sh
Сделать скрипты исполняемыми :
Измените разрешения основных скриптов, чтобы сделать их исполняемыми:
chmod +x autoverify_machineid.sh
Зависимости
apt update apt install bc jq
Запустите следующее, чтобы установить необходимые пакеты
./autoverify_machineid.sh
Проверьте требования к машине :
Сценарий ./autoverify_machineid.sh
предназначен для проверки того, соответствует ли отдельная машина минимальным требованиям для проверки. Это полезно для хостов, которые хотят проверить свои машины.
Чтобы протестировать конкретную машину по ее machine_id
, используйте следующую команду:
./autoverify_machineid.sh <идентификатор_машины>
Замените
фактическим идентификатором машины, которую вы хотите протестировать.
Чтобы игнорировать требования, проверьте :
./autoverify_machineid.sh --ignore-requirements
Эта команда запускает тесты машины независимо от того, соответствует ли она минимальным требованиям.
Регистрация прогресса и результатов :
Скрипт протоколирует ход и результаты тестов.
Успешные результаты и машины, соответствующие требованиям, будут зарегистрированы в Pass_testresults.log
.
Машины, которые не соответствуют требованиям или обнаруживают ошибки во время тестирования, будут зарегистрированы в Error_testresults.log
.
Понимание журналов :
Pass_testresults.log
: этот файл содержит записи для компьютеров, успешно прошедших все тесты.
Error_testresults.log
: этот файл содержит записи для компьютеров, которые не соответствовали минимальным требованиям или столкнулись с ошибками во время тестирования.
Вот как вы можете запустить сценарий autoverify_machineid.sh
для проверки машины с machine_id
10921:
./autoverify_machineid.sh 10921
Проблемы с ключами API . Убедитесь, что ваш ключ API установлен правильно с помощью ./vast set api-key
.
Разрешение отклонено . Если у вас возникли проблемы с разрешениями, убедитесь, что файлы сценариев имеют разрешения на выполнение ( chmod +x
).
Проблемы с подключением . Проверьте сетевое подключение и убедитесь, что интерфейс командной строки Vast.ai может взаимодействовать с серверами Vast.ai.
Следуя этому руководству, вы сможете использовать сценарий ./autoverify_machineid.sh
для тестирования отдельных машин на торговой площадке Vast.ai. Этот процесс помогает гарантировать, что машины соответствуют требуемым характеристикам производительности графического процессора и системы, что делает их кандидатами для дальнейшей проверки и использования на рынке.
Если у вас возникли проблемы с вашим компьютером, который неправильно показывает скорость загрузки и скачивания.
сначала проверьте, есть ли проблема, запустив тест скорости
cd /var/lib/vastai_kaalia ./send_mach_info.py --speedtest
вывод должен выглядеть так
2024-10-03 08:50:04.587469 os version running df checking errors nvidia-smi 560035003 /usr/bin/fio checking speedtest /usr/bin/speedtest speedtest running speedtest on random server id 19897 {"type":"result","timestamp":"2024-10-03T08:50:24Z","ping":{"jitter":0.243,"latency":21.723,"low":21.526,"high":22.047},"download":{"bandwidth":116386091,"bytes":1010581968,"elapsed":8806,"latency":{"iqm":22.562,"low":20.999,"high":296.975,"jitter":3.976}},"upload":{"bandwidth":116439919,"bytes":980885877,"elapsed":8508,"latency":{"iqm":36.457,"low":6.852,"high":349.495,"jitter":34.704}},"packetLoss":0,"isp":"Vox Telecom","interface":{"internalIp":"192.168.1.101","name":"bond0","macAddr":"F2:6A:67:0C:85:8B","isVpn":false,"externalIp":"41.193.204.66"},"server":{"id":19897,"host":"speedtest.wibernet.co.za","port":8080,"name":"Wibernet","location":"Cape Town","country":"South Africa","ip":"102.165.64.110"},"result":{"id":"18bb02e4-466d-43dd-b1fc-3f106319a9f6","url":"https://www.speedtest.net/result/c/18bb02e4-466d-43dd-b1fc-3f106319a9f6","persisted":true}} ....
Если приведенный выше спидтест не сработал, можно попробовать установить альтернативный, более новый. Поскольку результаты нового теста скорости не имеют того же формата, сценарий преобразует их, чтобы обширные пользователи могли использовать новый тест скорости. Все команды вместе взятые
bash -c "sudo apt-get install curl -y && sudo curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash && sudo apt-get install speedtest -y && sudo apt install python3 -y && cd /var/lib/vastai_kaalia/latest && sudo mv speedtest-cli speedtest-cli.old && sudo wget -O speedtest-cli https://raw.githubusercontent.com/jjziets/vasttools/main/speedtest-cli.py && sudo chmod +x speedtest-cli"
или шаг за шагом
sudo apt-get install curl sudo curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash sudo apt-get install speedtest -y sudo apt install python3 -y cd /var/lib/vastai_kaalia/latest sudo mv speedtest-cli speedtest-cli.old sudo wget -O speedtest-cli https://raw.githubusercontent.com/jjziets/vasttools/main/speedtest-cli.py sudo chmod +x speedtest-cli
Это обновило ваш тест скорости до более нового и перевело выходные данные, чтобы Vast Demon мог его использовать. Если теперь вы получаете более медленные скорости, следуйте этому
## If migrating from prior bintray install instructions please first... # sudo rm /etc/apt/sources.list.d/speedtest.list # sudo apt-get update # sudo apt-get remove speedtest -y ## Other non-official binaries will conflict with Speedtest CLI # Example how to remove using apt-get # sudo apt-get remove speedtest-cli sudo apt-get install curl curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash sudo apt-get install speedtest
Системы мониторинга Prometheus Grafana отправляют оповещения и отслеживают все показатели вашего оборудования, а также отслеживают доходы и аренду. https://github.com/jjziets/DCMontoring
запустите приведенный ниже сценарий, если у вас возникли проблемы с обширным установщиком на 22,24 и ошибка nvml. Этот сценарий основан на Bo26fhmC5M, так что спасибо ему
sudo wget https://raw.githubusercontent.com/jjziets/vasttools/main/nvml_fix.py sudo python nvml_fix.py
если на вашем компьютере появилось красное сообщение об ошибке, которое, как вы подтвердили, было устранено. Возможно, поможет удалить /var/lib/vastai_kaalia/kaalia.log и перезагрузить компьютер.
sudo rm /var/lib/vastai_kaalia/kaalia.log sudo systemctl restart vastai
Если вы не хотите настраивать панель аналитики и просто хотите видеть все значения Temps на вашем графическом процессоре, вы можете использовать приведенный ниже инструмент.
sudo wget https://github.com/jjziets/gddr6_temps/raw/master/nvml_direct_access sudo chmod +x nvml_direct_access sudo ./nvml_direct_access
установите разгон RTX 3090. Для этого требуется следующее
на хосте выполните следующую команду:
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.
настройте программу мониторинга, которая будет изменять память в зависимости от запущенной программы. он разработан для RTX3090 и на данном этапе ориентирован на ethminer. Для запуска в корне требуются как set_mem.sh, так и ocmonitor.sh.
wget https://raw.githubusercontent.com/jjziets/vasttools/main/ocminitor.sh sudo chmod +x ocminitor.sh sudo ./ocminitor.sh # I suggest running this in tmux or screen so that when you close the ssh connetion. It looks for ethminer and if it finds it it will set the oc based on your choice. you can also set powerlimits with nvidia-smi -pl 350
Для загрузки при перезагрузке используйте crontab ниже
sudo (crontab -l; echo "@reboot screen -dmS ocmonitor /home/jzietsman/ocminitor.sh") | crontab - #replace the user with your user
Майнинг не нагружает вашу систему так же, как рабочие нагрузки Python, так что это тоже хороший тест для запуска.
Сначала установите период обслуживания, а затем, когда у вас не будет работающих клиентов, вы сможете провести стресс-тестирование.
https://github.com/jjziets/pytorch-benchmark-volta
Полный набор стресс-тестов можно найти в образе Docker jjziets/vastai-benchmarks:latest в папке /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 или bash интерфейс
sudo docker run --shm-size 1G --rm -it --gpus all jjziets/vastai-benchmarks /bin/bash apt update && apt upgrade -y ./benchmark.sh
#Запустить с настройками по умолчанию. Результаты сохраняются в ./output.
sudo docker run -v ${PWD}/output:/app/output --shm-size 1G --rm -it --gpus all jjziets/vastai-benchmarks Run with params SLEEP_TIME/BENCH_TIME sudo docker run -v ${PWD}/output:/app/output --shm-size 1G --rm -it -e SLEEP_TIME=2 -e BENCH_TIME=2 --gpus all jjziets/vastai-benchmarks
Вы также можете выполнить тест на сжигание графического процессора.
sudo docker run --gpus all --rm oguzpastirmaci/gpu-burn
Если вы хотите запустить его для одного графического процессора, выполните приведенную ниже команду, заменив x номером графического процессора, начинающимся с 0.
sudo docker run --gpus '"device=x"' --rm oguzpastirmaci/gpu-burn
*на основе leona/vast.ai-tools
Это набор скриптов для мониторинга сбоев машин. Запустите клиент на своей огромной машине и сервер на удаленной. Вы получаете уведомления в Telegram, если в течение тайм-аута (по умолчанию 12 секунд) не отправляется никаких пульсов. https://github.com/jjziets/Telegram-Vast-Uptime-Bot
на базе RTX 3090 120Mhs для eth. он устанавливает цену на мои 2 хоста. он работает с пользовательским Vast-cli, который можно найти здесь https://github.com/jjziets/vast-python/blob/master/vast.py. Менеджер находится здесь https://github.com/jjziets/vasttools/ blob/main/setprice.sh
Это должно быть запущено на VPS, а не на хосте. не раскрывайте свои ключи API Vast, используя их на хосте.
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
Лучший способ управлять своей неактивной работой — через обширный интерфейс. Насколько мне известно, работа с графическим интерфейсом не работает. Итак, чтобы установить неактивное задание, выполните следующие действия. Вам нужно будет загрузить обширный клиентский интерфейс и выполнить следующие команды. Идея состоит в том, чтобы арендовать себя в качестве прерываемой работы. Обширный интерфейс позволяет вам установить одно задание простоя для всех графических процессоров или один графический процессор для каждого экземпляра. Вы также можете установить метод подключения SSH или любой другой метод. Перейдите на https://cloud.vast.ai/cli/ и установите свой вариант cli.
настройте ключ своей учетной записи, чтобы вы могли использовать обширный интерфейс. вы получаете этот ключ со страницы своей учетной записи.
./vast set api-key API_KEY
Вы можете использовать мой скрипт SetIdleJob.py для настройки простаивающей работы на основе минимальной цены, установленной на ваших машинах.
wget https://raw.githubusercontent.com/jjziets/vasttools/main/SetIdleJob.py
Вот пример того, как я использую NiceHash
python3 SetIdleJob.py --args 'env | grep _ >> /etc/environment; echo "starting up"; apt -y update; apt -y install wget; apt -y install libjansson4; apt -y install xz-utils; wget https://github.com/develsoftware/GMinerRelease/releases/download/3.44/gminer_3_44_linux64.tar.xz; tar -xvf gminer_3_44_linux64.tar.xz; while true; do ./miner --algo kawpow --server stratum+tcp://kawpow.auto.nicehash.com:9200 --user 3LNHVWvUEufL1AYcKaohxZK2P58iBHdbVH.${VAST_CONTAINERLABEL:2}; done'
Или полную команду, если вы не хотите использовать значения по умолчанию.
python3 SetIdleJob.py --image nvidia/cuda:12.4.1-runtime-ubuntu22.04 --disk 16 --args 'env | grep _ >> /etc/environment; echo "starting up"; apt -y update; apt -y install wget; apt -y install libjansson4; apt -y install xz-utils; wget https://github.com/develsoftware/GMinerRelease/releases/download/3.44/gminer_3_44_linux64.tar.xz; tar -xvf gminer_3_44_linux64.tar.xz; while true; do ./miner --algo kawpow --server stratum+tcp://kawpow.auto.nicehash.com:9200 --user 3LNHVWvUEufL1AYcKaohxZK2P58iBHdbVH.${VAST_CONTAINERLABEL:2}; done' --api-key b149b011a1481cd852b7a1cf1ccc9248a5182431b23f9410c1537fca063a68b1
Устраните неполадки с командой bash -c, используя журналы на странице экземпляра.
Альтернативно, вы можете арендовать себя с помощью следующей команды, а затем войти в систему и загрузить то, что хотите запустить. Обязательно добавьте свой процесс в onstart.sh, чтобы арендовать себя, сначала найдите свою машину по идентификатору машины.
./vast search offers "machine_id=14109 verified=any gpu_frac=1 " # gpu_frac=1 will give you the instance with all the gpus.
или
./vast search offers -i "machine_id=14109 verified=any min_bid>0.1 num_gpus=1" # it will give you the instance with one GPU
Как только у вас есть off_id. и в этом случае поиск с ключом -i даст вам прерываемый instance_id
Предположим, вы хотите майнить с помощью lolminer.
./vast create instance 9554646 --price 0.2 --image nvidia/cuda:12.0.1-devel-ubuntu20.04 --env '-p 22:22' --onstart-cmd 'bash -c "apt -y update; apt -y install wget; apt -y install libjansson4; apt -y install xz-utils; wget https://github.com/Lolliedieb/lolMiner-releases/releases/download/1.77b/lolMiner_v1.77b_Lin64.tar.gz; tar -xf lolMiner_v1.77b_Lin64.tar.gz -C ./; cd 1.77b; ./lolMiner --algo ETCHASH --pool etc.2miners.com:1010 --user 0xYour_Wallet_Goes_Here.VASTtest"' --ssh --direct --disk 100
он запустит экземпляр по цене 0.2.
./vast show instances # will give you the list of instance ./vast change bid 9554646 --price 0.3 # This will change the price to 0.3 for the instance
Вот репозиторий с двумя программами и несколькими скриптами, которые вы можете использовать для управления своими поклонниками https://github.com/jjziets/GPU_FAN_OC_Manager/tree/main.
bash -c "wget https://github.com/jjziets/GPU_FAN_OC_Manager/raw/main/set_fan_curve; chmod +x set_fan_curve; CURRENT_PATH=$(pwd); nohup bash -c "while true; do $CURRENT_PATH/set_fan_curve 65; sleep 1; done" > output.txt & (crontab -l; echo "@reboot screen -dmS gpuManger bash -c 'while true; do $CURRENT_PATH/set_fan_curve 65; sleep 1; done'") | crontab -"
Если ваша система обновляется во время работы обширной сети или, что еще хуже, когда клиент арендует вас, вы можете быть лишены проверки или забанены. Рекомендуется обновлять систему только в том случае, если система снята с аренды и исключена из списка. Лучше всего было бы установить дату окончания вашего объявления и проводить обновления и обновления на этом этапе. чтобы остановить автоматические обновления, выполните следующие команды.
sudo apt purge --auto-remove unattended-upgrades -y sudo systemctl disable apt-daily-upgrade.timer sudo systemctl mask apt-daily-upgrade.service sudo systemctl disable apt-daily.timer sudo systemctl mask apt-daily.service
Когда система простаивает и исключена из списка, выполните следующие команды. огромные службы демонов и докеров остановлены. Также рекомендуется обновить драйверы Nvidia таким образом. Если вы этого не сделаете, и обновления тормозят пакет, вы можете быть лишены проверки или даже забанены.
bash -c ' sudo systemctl stop vastai; sudo systemctl stop docker.socket; sudo systemctl stop docker; sudo apt update; sudo apt upgrade -y; sudo systemctl start docker.socket ; sudo systemctl start docker; sudo systemctl start vastai'
В этом руководстве показано, как выполнить резервное копирование данных Vastai Docker с существующего диска и перенести их на новый диск. в данном случае драйвер рейда /dev/md0
Ни один клиент не работает, и вы исключены из огромного рынка.
Данные Docker существуют на текущем диске.
Установите необходимые инструменты :
sudo apt install pv pixz
Остановите и отключите соответствующие службы :
sudo systemctl stop vastai docker.socket docker sudo systemctl disable vastai docker.socket docker
Резервное копирование каталога Docker . Создайте сжатую резервную копию каталога /var/lib/docker
. Убедитесь, что на диске ОС достаточно места для этой резервной копии. Или переместите данные на резервный сервер. см. https://github.com/jjziets/vasttools/blob/main/README.md#backup-varlibdocker-to-another-machine-on-your-network
sudo tar -c -I 'pixz -k -1' -f ./docker.tar.pixz /var/lib/docker | pv #you can change ./ to a destination directory
Примечание. pixz
использует несколько ядер для более быстрого сжатия.
Отключите каталог Docker . Если вы планируете выключить и установить новый диск:
sudo umount /var/lib/docker
Обновите /etc/fstab
: отключите автоматическое монтирование текущего каталога Docker при запуске, чтобы предотвратить проблемы с загрузкой:
sudo nano /etc/fstab
Закомментируйте строку, связанную с /var/lib/docker
, добавив #
в начале строки.
Разбейте новый диск на разделы : (Настройте имя устройства в зависимости от вашей системы. В качестве примера в руководстве используются /dev/md0
для RAID и /dev/nvme0n1
для дисков NVMe.)
sudo cfdisk /dev/md0
Отформатируйте новый раздел с помощью XFS :
sudo mkfs.xfs -f /dev/md0p1
Получите UUID : UUID понадобится вам для обновления /etc/fstab
.
sudo xfs_admin -lu /dev/md0p1
Обновите /etc/fstab
с помощью нового диска :
sudo nano /etc/fstab
Добавьте следующую строку (замените UUID на тот, который вы получили):
UUID="YOUR_UUID_HERE" /var/lib/docker xfs rw,auto,pquota,discard,nofail 0 0
Смонтируйте новый раздел :
sudo mount -a
Подтвердите монтирование:
df -h
Убедитесь, что /dev/md0p1
(или соответствующее имя устройства) смонтировано в /var/lib/docker
.
Восстановите данные Docker : перейдите в корневой каталог:
компакт-диск /
Распаковка и восстановление: обязательно измените имя пользователя на соответствующее имя.
sudo cat /home/user/docker.tar.pixz | pv | sudo tar -x -I 'pixz -d -k'
Включить услуги :
sudo systemctl enable vastai docker.socket docker
Перезагрузить :
sudo reboot
Проверьте, подключен ли нужный диск к /var/lib/docker
, и убедитесь, vastai
работает.
/var/lib/docker
на другой компьютер в вашей сети Если вы хотите перенести настройку Docker на другой компьютер, будь то замена диска или настройка RAID, следуйте этому руководству. В этом примере мы предположим, что IP-адрес резервного сервера — 192.168.1.100
.
Временно включите корневой вход по SSH . Очень важно обеспечить бесперебойную связь SSH во время процесса резервного копирования, особенно при передаче больших файлов, таких как сжатые данные Docker. а. Откройте конфигурацию SSH:
sudo nano /etc/ssh/sshd_config
б. Найдите и измените строку:
PermitRootLogin no
к:
PermitRootLogin yes
в. Перезагрузите конфигурацию SSH:
sudo systemctl restart sshd
Создайте ключ SSH и передайте его на резервный сервер : a. Создайте SSH-ключ:
sudo ssh-keygen
б. Скопируйте ключ SSH на резервный сервер:
sudo ssh-copy-id -i ~/.ssh/id_rsa [email protected]
Отключить аутентификацию по паролю root : убедитесь, что для входа в систему root можно использовать только ключ SSH, что повышает безопасность. а. Измените конфигурацию SSH:
sudo nano /etc/ssh/sshd_config
б. Измените строку на:
PermitRootLogin запретительный пароль
в. Перезагрузите конфигурацию SSH:
sudo systemctl restart sshd
Подготовка к резервному копированию . Перед резервным копированием убедитесь, что соответствующие службы остановлены:
sudo systemctl stop docker.socket sudo systemctl stop docker sudo systemctl stop vastai sudo systemctl disable vastai sudo systemctl disable docker.socket sudo systemctl disable docker
Процедура резервного копирования . Эта процедура сжимает каталог /var/lib/docker
и передает его на сервер резервного копирования. а. Переключитесь на пользователя root и установите необходимые инструменты:
sudo su apt install pixz apt install pv
Возможно, было бы неплохо запустить команду резервного копирования в tmux или screen, чтобы в случае потери ssh-соединения процесс завершился. б. Выполните резервное копирование:
tar -c -I 'pixz -k -0' -f - /var/lib/docker | pv | ssh [email protected] "cat > /mnt/backup/machine/docker.tar.pixz"
Восстановление резервной копии . Убедитесь, что ваш новый диск смонтирован в /var/lib/docker
. а. Переключитесь на пользователя root:
sudo su
б. Восстановить из резервной копии:
cd / ssh [email protected] "cat /mnt/backup/machine/docker.tar.pixz" | pv | sudo tar -x -I 'pixz -d -k'
Повторно активировать услуги :
sudo systemctl enable vastai sudo systemctl enable docker.socket sudo systemctl enable docker sudo reboot
После перезагрузки : убедитесь, что целевой диск подключен к /var/lib/docker
и что vastai
работает.
Использование экземпляра с открытыми портами. Если глубина цвета дисплея составляет 16, а не 16 бит, попробуйте другую программу просмотра VNC. TightVNC работал у меня на Windows
сначала скажите обширному, чтобы разрешить использование порта. используйте -p 8081:8081 и отметьте прямую команду.
найдите хост с открытыми портами и затем арендуйте его. желательно по требованию. перейдите на страницу экземпляров клиента и дождитесь кнопки подключения
используйте ssh для подключения к экземплярам.
выполните приведенные ниже команды. вторую часть можно поместить в onstart.sh для запуска при перезапуске
bash -c 'apt-get update; apt-get -y upgrade; apt-get install -y x11vnc; apt-get install -y xvfb; apt-get install -y firefox;apt-get install -y xfce4;apt-get install -y xfce4-goodies' export DISPLAY=:20 Xvfb :20 -screen 0 1920x1080x16 & x11vnc -passwd TestVNC -display :20 -N -forever -rfbport 8081 & startxfce4
Для подключения используйте IP-адрес хоста и предоставленный порт. В данном случае это 400010.
тогда наслаждайтесь десткопом. к сожалению, это не аппаратное ускорение. так что никакие игры не будут работать
Мы будем использовать ghcr.io/ehfd/nvidia-glx-desktop:latest.
используйте эти параметры окружения
-e TZ=UTC -e SIZEW=1920 -e SIZEH=1080 -e REFRESH=60 -e DPI=96 -e CDEPTH=24 -e VIDEO_PORT=DFP -e PASSWD=mypasswd -e WEBRTC_ENCODER=nvh264enc -e BASIC_AUTH_PASSWORD=mypasswd -p 8080:8080
найти систему с открытыми портами
когда закончите загрузку, нажмите «Открыть»
имя пользователя — это пользователь , а пароль — это то, что вы установили для mypasswd в этом случае.
нажмите «Старт»
3D-ускоренная среда рабочего стола в веб-браузере
Это уменьшит количество запросов на включение с вашего общедоступного IP-адреса. Docker ограничен 100 запросами в течение 6 часов для анонимного входа, и это может ускорить время запуска ваших взятых напрокат. В этом руководстве представлены инструкции по настройке сервера реестра Docker с помощью Docker Compose, а также по настройке клиентов Docker для использования этого реестра. Предварительные требования Docker и Docker Compose установлены на сервере с большим объемом быстрого хранилища в вашей локальной сети. Docker установлен на всех клиентских машинах.
Настройка сервера реестра Docker установите docker-compose, если вы еще этого не сделали.
sudo su curl -L "https://github.com/docker/compose/releases/download/v2.24.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose apt-get update && sudo apt-get install -y gettext-base
Создайте файл docker-compose.yml: создайте на своем сервере файл с именем docker-compose.yml со следующим содержимым:
version: '3' services: registry: restart: unless-stopped image: registry:2 ports: - 5000:5000 environment: - REGISTRY_PROXY_REMOTEURL=https://registry-1.docker.io - REGISTRY_STORAGE_DELETE_ENABLED="true" volumes: - data:/var/lib/registry volumes: data:
Эта конфигурация настраивает сервер реестра Docker, работающий на порту 5000, и использует том с именем data для хранения. Запустите реестр Docker:
Выполните следующую команду в каталоге, где находится файл docker-compose.yml:
sudo docker-compose up -d
Эта команда будет звездочкой