目的是建立一個可與 Vastai 一起使用的工具清單。這些工具可以免費使用、修改和分發。如果您覺得這有幫助並且願意捐款,您可以將捐款發送到以下錢包。
比特幣 15qkQSYXP2BvpqJkbj2qsNFb6nd7FyVcou
XMR 897VkA8sG6gh7yvrKrtvWningikPteojfSgGff3JAUs3cu7jxPDjhiAZRdcQSYPE2VGFVHAdirHqRZEpZsWyPiNK6XPQKAg
RVN RSgWS9Co8nQeyPqQAAqHkHhc5ykXyoMDUp
USDT(ETH ERC20) 0xa5955cf9fe7af53bcaa1d2404e2b17a1f28aac4f
貝寶 PayPal.Me/cryptolabsZA
廣大主機安裝指南
自我驗證測試
Speedtest-cli 修復了大量
分析儀表板
監控您的 Nvidia 3000/4000 核心、GPU 熱點和 VRAM 溫度
使用 ubuntu-22-and-24 時出現 nvml 錯誤
刪除 Pressitent 紅色錯誤訊息
記憶體奧
超頻監視器
使用 RTX3090 的 Python 基準測試對 GPU 進行壓力測試
Telegram-Vast-Uptime-Bot
根據挖礦利潤自動更新主機掛牌價格
大量的後台工作或閒置工作
如果您有無頭系統,請設定風扇速度
刪除無人值守升級包
如何更新主機
如何將龐大的 docker 驅動程式移至另一個驅動器
將 varlibdocker 備份到網路上的另一台計算機
使用 VNC 連接到正在運行的實例以查看應用程式 GUI
在vastai上的網頁瀏覽器中設定3D加速桌面
有用的命令
如何為網路上的系統設定 docker 註冊表
#Start with a clean install of ubuntu 22.04.x HWE Kernal server. Just add openssh. sudo apt update && sudo apt upgrade -y && sudo apt dist-upgrade -y && sudo apt install update-manager-core -y #if you did not install HWE kernal do the following sudo apt install --install-recommends linux-generic-hwe-22.04 -y sudo reboot #install the drivers. sudo apt install build-essential -y sudo add-apt-repository ppa:graphics-drivers/ppa -y sudo apt update # to search for available NVIDIA drivers: use this command sudo apt search nvidia-driver | grep nvidia-driver | sort -r sudo apt install nvidia-driver-560 -y # assuming the latest is 560 #Remove unattended-upgrades Package so that the dirver don't upgrade when you have clients sudo apt purge --auto-remove unattended-upgrades -y sudo systemctl disable apt-daily-upgrade.timer sudo systemctl mask apt-daily-upgrade.service sudo systemctl disable apt-daily.timer sudo systemctl mask apt-daily.service # This is needed to remove xserver and genome if you started with ubunut desktop. clients can't run a desktop gui in an continer wothout if you have a xserver. bash -c 'sudo apt-get update; sudo apt-get -y upgrade; sudo apt-get install -y libgtk-3-0; sudo apt-get install -y xinit; sudo apt-get install -y xserver-xorg-core; sudo apt-get remove -y gnome-shell; sudo update-grub; sudo nvidia-xconfig -a --cool-bits=28 --allow-empty-initial-configuration --enable-all-gpus' #if Ubuntu is installed to a SSD and you plan to have the vast client data stored on a nvme follow the below instructions. #WARRNING IF YOUR OS IS ON /dev/nvme0n1 IT WILL BE WIPED. CHECK TWICE change this device to the intended device name that you pan to use. # this is one command that will create the xfs partion and write it to the disk /dev/nvme0n1. echo -e "nnnnnnnwn" | sudo cfdisk /dev/nvme0n1 && sudo mkfs.xfs /dev/nvme0n1p1 sudo mkdir /var/lib/docker #I added discard so that the ssd is trimeds by ubunut and nofail if there is some problem with the drive the system will still boot. sudo bash -c 'uuid=$(sudo xfs_admin -lu /dev/nvme0n1p1 | sed -n "2p" | awk "{print $NF}"); echo "UUID=$uuid /var/lib/docker/ xfs rw,auto,pquota,discard,nofail 0 0" >> /etc/fstab' sudo mount -a # check that /dev/nvme0n1p1 is mounted to /var/lib/docker/ df -h #this will enable Persistence mode on reboot so that the gpus can go to idle power when not used sudo bash -c '(crontab -l; echo "@reboot nvidia-smi -pm 1" ) | crontab -' #run the install command for vast sudo apt install python3 -y sudo wget https://console.vast.ai/install -O install; sudo python3 install YourKey; history -d $((HISTCMD-1)); GRUB_CMDLINE_LINUX="amd_iommu=on nvidia_drm.modeset=0 systemd.unified_cgroup_hierarchy=false" #only run this command if you plan to support VM's on your machines. read vast guide to understand more https://vast.ai/docs/hosting/vms sudo bash -c 'sed -i "/^GRUB_CMDLINE_LINUX=""/s/""/"amd_iommu=on nvidia_drm.modeset=0"/" /etc/default/grub && update-grub' update-grub #if you get nvml error then run this sudo wget https://raw.githubusercontent.com/jjziets/vasttools/main/nvml_fix.py sudo python3 nvml_fix.py sudo reboot #follow the Configure Networking instructions as per https://console.vast.ai/host/setup #test the ports with running sudo nc -l -p port on the host machine and use https://portchecker.co to verify sudo bash -c 'echo "40000-40019" > /var/lib/vastai_kaalia/host_port_range' sudo reboot #After reboot, check that the drive is mounted to /var/lib/docker and that your systems show up on the vast dashboard. df -h # look for /var/lib/docker mount sudo systemctl status vastai sudo systemctl status docker
您可以執行以下測試,以確保您的新機器將出現在驗證測試的候選名單中。如果通過,您的機器很有可能符合驗證資格。如果您從與要測試的電腦位於同一網路的電腦上執行此命令,則您的路由器不需要允許環回。如果您不知道如何啟用環回,最好在雲端提供者提供的虛擬機器上執行它,或透過行動連接到您的電腦。
autoverify_machineid.sh
腳本是一套工具的一部分,旨在自動測試 Vast.ai 市場上的機器。該腳本專門測試一台機器,以確定它是否滿足進一步驗證所需的最低要求。
在開始使用./autoverify_machineid.sh
之前,請確保您具備以下條件:
Vast.ai 命令列介面(vastcli) :此工具用於與 Vast.ai 平台互動。
Vast.ai 上市:該機器應該在廣闊的市場上上市。
Ubuntu 作業系統:腳本設計為在 Ubuunt 20.04 或更高版本上執行。
下載並設定vastcli
:
使用以下指令下載 Vast.ai CLI 工具:
wget https://raw.githubusercontent.com/vast-ai/vast-python/master/vast.py -O 巨大 chmod +x 巨大
設定您的 Vast.ai API 金鑰:
./vast set api-key 6189d1be9f15ad2dced0ac4e3dfd1f648aeb484d592e83d13aaf50aee2d24c07
下載 autoverify_machineid.sh :
使用 wget 將 autoverify_machineid.sh 下載到本機:
wget https://github.com/jjziets/VastVerification/releases/download/0.4-beta/autoverify_machineid.sh
使腳本可執行:
更改主腳本的權限以使它們可執行:
chmod +x autoverify_machineid.sh
依賴關係
apt update apt install bc jq
執行以下命令來安裝所需的套件
./autoverify_machineid.sh
檢查機器要求:
./autoverify_machineid.sh
腳本旨在測試單一機器是否滿足驗證的最低要求。這對於想要驗證自己機器的主機很有用。
若要透過machine_id
測試特定機器,請使用以下命令:
./autoverify_machineid.sh <機器 ID>
將
替換為您要測試的機器的實際 ID。
忽略要求檢查:
./autoverify_machineid.sh --ignore-requirements
此命令運行機器的測試,無論它是否滿足最低要求。
進度和結果記錄:
此腳本記錄測試的進度和結果。
成功的結果和通過要求的機器將記錄在Pass_testresults.log
中。
不滿足要求或測試過程中遇到錯誤的機器將記錄在Error_testresults.log
中。
了解日誌:
Pass_testresults.log
:此檔案包含成功通過所有測試的電腦的條目。
Error_testresults.log
:此檔案包含未能滿足最低要求或在測試期間遇到錯誤的電腦的條目。
以下是執行autoverify_machineid.sh
腳本來測試machine_id
10921 的電腦的方法:
./autoverify_machineid.sh 10921
API 金鑰問題:確保使用./vast set api-key
正確設定您的 API 金鑰。
權限被拒絕:如果遇到權限問題,請確保腳本檔案具有可執行權限 ( chmod +x
)。
連線問題:驗證您的網路連線並確保 Vast.ai CLI 可以與 Vast.ai 伺服器通訊。
透過遵循本指南,您將能夠使用./autoverify_machineid.sh
腳本來測試 Vast.ai 市場上的各個電腦。此過程有助於確保機器滿足 GPU 和系統性能所需的規格,使其成為市場上進一步驗證和使用的候選者。
如果您的電腦出現問題,無法正確顯示其上傳和下載速度。
首先透過強制運行速度測試來檢查是否有問題
cd /var/lib/vastai_kaalia ./send_mach_info.py --speedtest
輸出應該是這樣的
2024-10-03 08:50:04.587469 os version running df checking errors nvidia-smi 560035003 /usr/bin/fio checking speedtest /usr/bin/speedtest speedtest running speedtest on random server id 19897 {"type":"result","timestamp":"2024-10-03T08:50:24Z","ping":{"jitter":0.243,"latency":21.723,"low":21.526,"high":22.047},"download":{"bandwidth":116386091,"bytes":1010581968,"elapsed":8806,"latency":{"iqm":22.562,"low":20.999,"high":296.975,"jitter":3.976}},"upload":{"bandwidth":116439919,"bytes":980885877,"elapsed":8508,"latency":{"iqm":36.457,"low":6.852,"high":349.495,"jitter":34.704}},"packetLoss":0,"isp":"Vox Telecom","interface":{"internalIp":"192.168.1.101","name":"bond0","macAddr":"F2:6A:67:0C:85:8B","isVpn":false,"externalIp":"41.193.204.66"},"server":{"id":19897,"host":"speedtest.wibernet.co.za","port":8080,"name":"Wibernet","location":"Cape Town","country":"South Africa","ip":"102.165.64.110"},"result":{"id":"18bb02e4-466d-43dd-b1fc-3f106319a9f6","url":"https://www.speedtest.net/result/c/18bb02e4-466d-43dd-b1fc-3f106319a9f6","persisted":true}} ....
如果上述速度測試不起作用,您可以嘗試安裝替代的更新版本。由於較新的速度測試輸出不具有相同的格式,因此腳本將對其進行翻譯,以便廣大用戶可以使用新的速度測試。所有命令組合起來
bash -c "sudo apt-get install curl -y && sudo curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash && sudo apt-get install speedtest -y && sudo apt install python3 -y && cd /var/lib/vastai_kaalia/latest && sudo mv speedtest-cli speedtest-cli.old && sudo wget -O speedtest-cli https://raw.githubusercontent.com/jjziets/vasttools/main/speedtest-cli.py && sudo chmod +x speedtest-cli"
或一步一步
sudo apt-get install curl sudo curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash sudo apt-get install speedtest -y sudo apt install python3 -y cd /var/lib/vastai_kaalia/latest sudo mv speedtest-cli speedtest-cli.old sudo wget -O speedtest-cli https://raw.githubusercontent.com/jjziets/vasttools/main/speedtest-cli.py sudo chmod +x speedtest-cli
這將您的速度測試更新為較新的測試並翻譯了輸出,以便 Vast Demon 可以使用它。如果您現在速度較慢,請按照此操作
## If migrating from prior bintray install instructions please first... # sudo rm /etc/apt/sources.list.d/speedtest.list # sudo apt-get update # sudo apt-get remove speedtest -y ## Other non-official binaries will conflict with Speedtest CLI # Example how to remove using apt-get # sudo apt-get remove speedtest-cli sudo apt-get install curl curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash sudo apt-get install speedtest
Prometheus Grafana 監控系統,發送警報並追蹤有關您設備的所有指標,也追蹤收入和租金。 https://github.com/jjziets/DCMontoring
如果您在 22,24 上遇到大量安裝程式的問題並且出現 nvml 錯誤,請執行下面的腳本,此腳本基於 Bo26fhmC5M,因此請歸功於他
sudo wget https://raw.githubusercontent.com/jjziets/vasttools/main/nvml_fix.py sudo python nvml_fix.py
如果您的電腦上出現紅色錯誤訊息,並且您已確認已解決該錯誤訊息。刪除 /var/lib/vastai_kaalia/kaalia.log 並重新啟動可能會有所幫助
sudo rm /var/lib/vastai_kaalia/kaalia.log sudo systemctl restart vastai
如果您不想設定分析儀表板而只想查看 GPU 上的所有臨時數據,則可以使用以下工具
sudo wget https://github.com/jjziets/gddr6_temps/raw/master/nvml_direct_access sudo chmod +x nvml_direct_access sudo ./nvml_direct_access
設定RTX 3090的OC需要以下內容
在主機上執行以下命令:
sudo apt-get install libgtk-3-0 && sudo apt-get install xinit && sudo apt-get install xserver-xorg-core && sudo update-grub && sudo nvidia-xconfig -a --cool-bits=28 --allow-empty-initial-configuration --enable-all-gpus wget https://raw.githubusercontent.com/jjziets/vasttools/main/set_mem.sh sudo chmod +x set_mem.sh sudo ./set_mem.sh 2000 # this will set the memory OC to +1000mhs on all the gpus. You can use 3000 on some gpu's which will give 1500mhs OC.
設定監控程序,該程式將根據正在運行的程序更改記憶體 oc。它是為 RTX3090 設計的,現階段的目標是 ethminer。它需要 set_mem.sh 和 ocmonitor.sh 在根目錄中運作。
wget https://raw.githubusercontent.com/jjziets/vasttools/main/ocminitor.sh sudo chmod +x ocminitor.sh sudo ./ocminitor.sh # I suggest running this in tmux or screen so that when you close the ssh connetion. It looks for ethminer and if it finds it it will set the oc based on your choice. you can also set powerlimits with nvidia-smi -pl 350
要在重新啟動時加載,請使用下面的 crontab
sudo (crontab -l; echo "@reboot screen -dmS ocmonitor /home/jzietsman/ocminitor.sh") | crontab - #replace the user with your user
挖礦不會像 Python 工作負載那樣對系統造成壓力,因此這也是一個很好的運行測試。
首先,設定一個維護窗口,然後一旦沒有客戶端運行,就可以進行壓力測試。
https://github.com/jjziets/pytorch-benchmark-volta
可以在資料夾 /app/ 中找到全套壓力測試 docker image jjziets/vastai-benchmarks:latest
stress-ng - CPU stress stress-ng - Drive stress stress-ng - Memory stress sysbench - Memory latency and speed benchmark dd - Drive speed benchmark Hashcat - Benchmark bandwithTest - GPU bandwith benchmark pytorch - Pytorch DL benchmark
#測試或bash介面
sudo docker run --shm-size 1G --rm -it --gpus all jjziets/vastai-benchmarks /bin/bash apt update && apt upgrade -y ./benchmark.sh
#使用預設設定運行結果儲存到./output。
sudo docker run -v ${PWD}/output:/app/output --shm-size 1G --rm -it --gpus all jjziets/vastai-benchmarks Run with params SLEEP_TIME/BENCH_TIME sudo docker run -v ${PWD}/output:/app/output --shm-size 1G --rm -it -e SLEEP_TIME=2 -e BENCH_TIME=2 --gpus all jjziets/vastai-benchmarks
您也可以進行 GPU 燒錄測試。
sudo docker run --gpus all --rm oguzpastirmaci/gpu-burn
如果您想為一個 GPU 運行它,請執行以下命令,將 x 替換為從 0 開始的 GPU 編號。
sudo docker run --gpus '"device=x"' --rm oguzpastirmaci/gpu-burn
*基於 leona/vast.ai-tools
這是一組用於監控機器崩潰的腳本。在大型電腦上運行客戶端,在遠端電腦上運行伺服器。如果在逾時(預設 12 秒)內沒有發送心跳,您會在 Telegram 上收到通知。 https://github.com/jjziets/Telegram-Vast-Uptime-Bot
基於 RTX 3090 120Mhs 的 eth。它設定了我的 2 台主機的價格。它與自訂Vast-cli 一起使用,可以在這裡找到https://github.com/jjziets/vast-python/blob/master/vast.py 管理器在這裡https://github.com/jjziets/vasttools / blob/main/setprice.sh
這應該在 vps 上運行,而不是在主機上運行。不要透過在主機上使用您的 Vast API 金鑰來暴露它。
wget https://github.com/jjziets/vast-python/blob/master/vast.py sudo chmod +x vast.py ./vast.py set api-key UseYourVasset wget https://github.com/jjziets/vasttools/blob/main/setprice.sh sudo chmod +x setprice.sh
管理閒置工作的最佳方法是透過龐大的 cli。據我所知,GUI 設定工作已損壞。因此,要設定空閒作業,請依照下列步驟操作。您需要下載大量的 cli 並執行以下命令。這個想法是將自己租為一份可中斷的工作。龐大的 cli 可讓您為所有 GPU 設定一項空閒作業或為每個執行個體設定一個 GPU。您也可以設定 SSH 連線方法或任何其他方法。前往 https://cloud.vast.ai/cli/ 並安裝您的 cli 風格。
設定您的帳戶金鑰,以便您可以使用龐大的 cli。您可以從您的帳戶頁面取得此金鑰。
./vast set api-key API_KEY
您可以使用我的 SetIdleJob.py 腳本根據您機器上設定的最低價格來設定您的空閒作業。
wget https://raw.githubusercontent.com/jjziets/vasttools/main/SetIdleJob.py
這是我如何挖掘到nicehash的範例
python3 SetIdleJob.py --args 'env | grep _ >> /etc/environment; echo "starting up"; apt -y update; apt -y install wget; apt -y install libjansson4; apt -y install xz-utils; wget https://github.com/develsoftware/GMinerRelease/releases/download/3.44/gminer_3_44_linux64.tar.xz; tar -xvf gminer_3_44_linux64.tar.xz; while true; do ./miner --algo kawpow --server stratum+tcp://kawpow.auto.nicehash.com:9200 --user 3LNHVWvUEufL1AYcKaohxZK2P58iBHdbVH.${VAST_CONTAINERLABEL:2}; done'
或者如果您不想使用預設值,則使用完整命令
python3 SetIdleJob.py --image nvidia/cuda:12.4.1-runtime-ubuntu22.04 --disk 16 --args 'env | grep _ >> /etc/environment; echo "starting up"; apt -y update; apt -y install wget; apt -y install libjansson4; apt -y install xz-utils; wget https://github.com/develsoftware/GMinerRelease/releases/download/3.44/gminer_3_44_linux64.tar.xz; tar -xvf gminer_3_44_linux64.tar.xz; while true; do ./miner --algo kawpow --server stratum+tcp://kawpow.auto.nicehash.com:9200 --user 3LNHVWvUEufL1AYcKaohxZK2P58iBHdbVH.${VAST_CONTAINERLABEL:2}; done' --api-key b149b011a1481cd852b7a1cf1ccc9248a5182431b23f9410c1537fca063a68b1
使用實例頁面上的日誌對 bash -c 指令進行故障排除
或者,您可以使用以下命令租用自己,然後登入並載入您想要運行的內容。確保將您的進程新增至 onstart.sh 以租用自己,首先使用機器 ID 找到您的機器
./vast search offers "machine_id=14109 verified=any gpu_frac=1 " # gpu_frac=1 will give you the instance with all the gpus.
或者
./vast search offers -i "machine_id=14109 verified=any min_bid>0.1 num_gpus=1" # it will give you the instance with one GPU
一旦你有了off_id。在這種情況下,使用 -i 開關進行搜尋將為您提供可中斷的 instance_id
假設您想使用 lolminer 進行挖礦
./vast create instance 9554646 --price 0.2 --image nvidia/cuda:12.0.1-devel-ubuntu20.04 --env '-p 22:22' --onstart-cmd 'bash -c "apt -y update; apt -y install wget; apt -y install libjansson4; apt -y install xz-utils; wget https://github.com/Lolliedieb/lolMiner-releases/releases/download/1.77b/lolMiner_v1.77b_Lin64.tar.gz; tar -xf lolMiner_v1.77b_Lin64.tar.gz -C ./; cd 1.77b; ./lolMiner --algo ETCHASH --pool etc.2miners.com:1010 --user 0xYour_Wallet_Goes_Here.VASTtest"' --ssh --direct --disk 100
它將以 0.2 的價格啟動實例。
./vast show instances # will give you the list of instance ./vast change bid 9554646 --price 0.3 # This will change the price to 0.3 for the instance
這是一個包含兩個程式和一些腳本的儲存庫,您可以使用它們來管理您的粉絲 https://github.com/jjziets/GPU_FAN_OC_Manager/tree/main
bash -c "wget https://github.com/jjziets/GPU_FAN_OC_Manager/raw/main/set_fan_curve; chmod +x set_fan_curve; CURRENT_PATH=$(pwd); nohup bash -c "while true; do $CURRENT_PATH/set_fan_curve 65; sleep 1; done" > output.txt & (crontab -l; echo "@reboot screen -dmS gpuManger bash -c 'while true; do $CURRENT_PATH/set_fan_curve 65; sleep 1; done'") | crontab -"
如果您的系統在大型運行時更新,或者更糟的是,當客戶租用您時,那麼您可能會被取消驗證或被禁止。建議僅在系統未租用並下架時進行更新。最好是設定清單的結束日期,並在該階段進行更新和升級。若要停止無人值守升級,請執行下列命令。
sudo apt purge --auto-remove unattended-upgrades -y sudo systemctl disable apt-daily-upgrade.timer sudo systemctl mask apt-daily-upgrade.service sudo systemctl disable apt-daily.timer sudo systemctl mask apt-daily.service
當系統空閒並除名時,執行以下命令。大量的 Demon 和 docker 服務被停止。像這樣升級 Nvidia 驅動程式也是一個好主意。如果您不這樣做,並且升級會破壞軟體包,您可能會被取消驗證,甚至被禁止使用。
bash -c ' sudo systemctl stop vastai; sudo systemctl stop docker.socket; sudo systemctl stop docker; sudo apt update; sudo apt upgrade -y; sudo systemctl start docker.socket ; sudo systemctl start docker; sudo systemctl start vastai'
本指南說明如何從現有磁碟機備份vastai Docker 資料並將其傳輸到新磁碟機。在本例中為 raid 驅動程式 /dev/md0
沒有客戶在運行,您也沒有從廣闊的市場中上市。
Docker 資料存在於目前磁碟機上。
安裝所需工具:
sudo apt install pv pixz
停止並停用相關服務:
sudo systemctl stop vastai docker.socket docker sudo systemctl disable vastai docker.socket docker
備份 Docker 目錄:建立/var/lib/docker
目錄的壓縮備份。確保作業系統磁碟機上有足夠的空間用於此備份。或將資料移至備份伺服器。請參閱https://github.com/jjziets/vasttools/blob/main/README.md#backup-varlibdocker-to-another-machine-on-your-network
sudo tar -c -I 'pixz -k -1' -f ./docker.tar.pixz /var/lib/docker | pv #you can change ./ to a destination directory
注意: pixz
利用多個核心來實現更快的壓縮。
解除安裝 Docker 目錄:如果您打算關閉並安裝新磁碟機:
sudo umount /var/lib/docker
更新/etc/fstab
:停用啟動時自動掛載目前 Docker 目錄以防止啟動問題:
sudo nano /etc/fstab
透過在行開頭新增#
來註解與/var/lib/docker
關聯的行。
對新磁碟機進行分割:(依照您的系統調整裝置名稱。本指南以 RAID 的/dev/md0
和 NVMe 磁碟機的/dev/nvme0n1
為例。)
sudo cfdisk /dev/md0
使用 XFS 格式化新分割區:
sudo mkfs.xfs -f /dev/md0p1
檢索 UUID :您需要 UUID 來更新/etc/fstab
。
sudo xfs_admin -lu /dev/md0p1
使用新磁碟機更新/etc/fstab
:
sudo nano /etc/fstab
新增以下行(將 UUID 替換為您擷取的 UUID):
UUID="YOUR_UUID_HERE" /var/lib/docker xfs rw,auto,pquota,discard,nofail 0 0
掛載新分割區:
sudo mount -a
確認掛載:
df -h
確保/dev/md0p1
(或適當的裝置名稱)已安裝到/var/lib/docker
。
恢復 Docker 資料:導航到根目錄:
光碟 /
解壓縮並恢復:確保將使用者變更為相關名稱
sudo cat /home/user/docker.tar.pixz | pv | sudo tar -x -I 'pixz -d -k'
啟用服務:
sudo systemctl enable vastai docker.socket docker
重新啟動:
sudo reboot
檢查所需的磁碟機是否已安裝至/var/lib/docker
並確保vastai
可以運作。
/var/lib/docker
備份到網路上的另一台計算機如果您希望將 Docker 設定遷移到另一台計算機,無論是更換磁碟機還是設定 RAID,請遵循本指南。對於此範例,我們假設備份伺服器的 IP 位址是192.168.1.100
。
暫時啟用 Root SSH 登入:在備份過程中確保 SSH 通訊不間斷至關重要,尤其是在傳輸壓縮 Docker 資料等大型檔案時。一個。開啟SSH配置:
sudo nano /etc/ssh/sshd_config
b.找到並更改行:
PermitRootLogin no
到:
PermitRootLogin yes
c.重新載入 SSH 配置:
sudo systemctl restart sshd
產生 SSH 金鑰並將其傳輸到備份伺服器:建立 SSH 金鑰:
sudo ssh-keygen
b.將 SSH 金鑰複製到備份伺服器:
sudo ssh-copy-id -i ~/.ssh/id_rsa [email protected]
停用 Root 密碼驗證:確保只有 SSH 金鑰才能用於 root 登錄,增強安全性。一個。修改SSH配置:
sudo nano /etc/ssh/sshd_config
b.將行更改為:
PermitRootLogin 禁止密碼
c.重新載入 SSH 配置:
sudo systemctl restart sshd
備份準備:備份前,請確保相關服務已停止:
sudo systemctl stop docker.socket sudo systemctl stop docker sudo systemctl stop vastai sudo systemctl disable vastai sudo systemctl disable docker.socket sudo systemctl disable docker
備份過程:此程序壓縮/var/lib/docker
目錄並將其傳輸到備份伺服器。一個。切換到root用戶並安裝必要的工具:
sudo su apt install pixz apt install pv
在 tmux 或 screen 中運行備份命令可能是個好主意,這樣如果您丟失 ssh 連接,該過程就會完成。 b.執行備份:
tar -c -I 'pixz -k -0' -f - /var/lib/docker | pv | ssh [email protected] "cat > /mnt/backup/machine/docker.tar.pixz"
恢復備份:確保您的新磁碟機安裝在/var/lib/docker
。一個。切換到root用戶:
sudo su
b.從備份還原:
cd / ssh [email protected] "cat /mnt/backup/machine/docker.tar.pixz" | pv | sudo tar -x -I 'pixz -d -k'
重新啟動服務:
sudo systemctl enable vastai sudo systemctl enable docker.socket sudo systemctl enable docker sudo reboot
重新啟動後:確保您的目標磁碟機已安裝到/var/lib/docker
並且vastai
可以運作。
使用具有開放連接埠的實例如果顯示顏色深度為 16 而不是 16 位,請嘗試另一個 vnc 檢視器。 TightVNC 在 Windows 上為我工作
首先告訴廣闊允許分配埠。使用 -p 8081:8081 並勾選直接指令。
找到一個開放連接埠的主機然後租用它。最好按需提供。前往客戶端實例頁面並等待連線按鈕
使用 ssh 連線到實例。
運行以下命令。第二部分可以放在 onstart.sh 中以在重新啟動時執行
bash -c 'apt-get update; apt-get -y upgrade; apt-get install -y x11vnc; apt-get install -y xvfb; apt-get install -y firefox;apt-get install -y xfce4;apt-get install -y xfce4-goodies' export DISPLAY=:20 Xvfb :20 -screen 0 1920x1080x16 & x11vnc -passwd TestVNC -display :20 -N -forever -rfbport 8081 & startxfce4
若要連接,請使用主機的 IP 和提供的連接埠。本例為 400010
然後享受桌面。遺憾的是這不是硬體加速的。所以沒有遊戲可以玩
我們將使用 ghcr.io/ehfd/nvidia-glx-desktop:latest
使用這個環境參數
-e TZ=UTC -e SIZEW=1920 -e SIZEH=1080 -e REFRESH=60 -e DPI=96 -e CDEPTH=24 -e VIDEO_PORT=DFP -e PASSWD=mypasswd -e WEBRTC_ENCODER=nvh264enc -e BASIC_AUTH_PASSWORD=mypasswd -p 8080:8080
找到一個開放連接埠的系統
加載完成後點擊打開
用戶名是用戶,密碼是您在本例中設定的mypasswd
點擊開始
Web 瀏覽器中的 3D 加速桌面環境
這將減少來自您的公共 IP 的拉取請求數量。 Docker 的匿名登入限制為每 6 小時 100 次拉取,它可以加快您的租賃的啟動時間。本指南提供有關如何使用 Docker Compose 設定 Docker 註冊表伺服器以及配置 Docker 用戶端以使用此註冊表的說明。先決條件 Docker 和 Docker Compose 安裝在本機 LAN 上具有大量快速儲存的伺服器上。 Docker 安裝在所有客戶端電腦上。
設定 Docker 註冊表伺服器 如果尚未安裝 docker-compose,請安裝。
sudo su curl -L "https://github.com/docker/compose/releases/download/v2.24.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose apt-get update && sudo apt-get install -y gettext-base
建立 docker-compose.yml 檔案:在伺服器上建立一個名為 docker-compose.yml 的文件,其中包含以下內容:
version: '3' services: registry: restart: unless-stopped image: registry:2 ports: - 5000:5000 environment: - REGISTRY_PROXY_REMOTEURL=https://registry-1.docker.io - REGISTRY_STORAGE_DELETE_ENABLED="true" volumes: - data:/var/lib/registry volumes: data:
此配置設定在連接埠 5000 上執行的 Docker 註冊表伺服器,並使用名為 data 的磁碟區進行儲存。啟動 Docker 註冊表:
在 docker-compose.yml 檔案所在目錄中執行以下命令:
sudo docker-compose up -d
該命令將啟動