الهدف هو إعداد قائمة بالأدوات التي يمكن استخدامها مع Vastai. الأدوات مجانية للاستخدام والتعديل والتوزيع. إذا وجدت هذا مفيدًا وترغب في التبرع، يمكنك إرسال تبرعاتك إلى المحافظ التالية.
بيتكوين 15qkQSYXP2BvpqJkbj2qsNFb6nd7FyVcou
XMR 897VkA8sG6gh7yvrKrtvWningikPteojfSgGff3JAUs3cu7jxPDjhiAZRdcQSYPE2VGFVHAdirHqRZEpZsWyPiNK6XPQKAg
RVN RSgWs9Co8nQeyPqQAAqHkHhc5ykXyoMDUp
USDT(ETH ERC20) 0xa5955cf9fe7af53bcaa1d2404e2b17a1f28aac4f
باي بال PayPal.Me/cryptolabsZA
دليل تثبيت المضيف لـ واسعة
اختبار التحقق الذاتي
إصلاح Speedtest-cli لواسعة
لوحة التحليلات
راقب درجات حرارة Nvidia 3000/4000 Core وGPU Hotspot وVram
خطأ في nvml عند استخدام أوبونتو 22 و24
إزالة رسائل الخطأ الحمراء Pressitent
الذاكرة اوك
مراقب اوك
اختبار الضغط على وحدات معالجة الرسومات على نطاق واسع باستخدام معيار Python لـ RTX3090
Telegram-Vast-Uptime-Bot
التحديث التلقائي لسعر قائمة المضيف بناءً على أرباح التعدين
وظيفة الخلفية أو وظيفة الخمول واسعة النطاق
ضبط سرعات المروحة إذا كان لديك نظام بدون رأس
قم بإزالة حزمة الترقيات غير المراقبة
كيفية تحديث المضيف
كيفية نقل برنامج تشغيل عامل الإرساء الواسع إلى محرك أقراص آخر
النسخ الاحتياطي varlibdocker إلى جهاز آخر على شبكتك
الاتصال بتشغيل المثيل باستخدام VNC لرؤية واجهة المستخدم الرسومية للتطبيقات
إعداد سطح المكتب المتسارع ثلاثي الأبعاد في متصفح الويب على فاستاي
أوامر مفيدة
كيفية إعداد سجل عامل إرساء للأنظمة الموجودة على شبكتك
#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 : تم تصميم البرامج النصية لتعمل على Ubununt 20.04 أو الأحدث.
تنزيل وإعداد vastcli
:
قم بتنزيل أداة Vast.ai CLI باستخدام الأمر التالي:
wget https://raw.githubusercontent.com/vast-ai/vast-python/master/vast.py -O واسعة chmod +x واسع
قم بتعيين مفتاح Vast.ai API الخاص بك:
./ مجموعة واسعة من مفتاح واجهة برمجة التطبيقات 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 CLI على التواصل مع خوادم 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 سودو بيثون nvml_fix.py
إذا كانت لديك رسالة خطأ حمراء على جهازك والتي تأكدت من معالجتها. قد يكون من المفيد حذف /var/lib/vastai_kaalia/kaalia.log وإعادة التشغيل
sudo rm /var/lib/vastai_kaalia/kaalia.log sudo systemctl restart vastai
إذا كنت لا ترغب في إعداد لوحة تحكم Analytics وتريد فقط رؤية جميع المؤقتات على وحدة معالجة الرسومات الخاصة بك، فيمكنك استخدام الأداة أدناه
sudo wget https://github.com/jjziets/gddr6_temps/raw/master/nvml_direct_access sudo chmod +x nvml_direct_access sudo ./nvml_direct_access
قم بتعيين OC لـ 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
التعدين لا يضغط على نظامك مثلما تفعل أحمال عمل بايثون، لذلك يعد هذا اختبارًا جيدًا للتشغيل أيضًا.
أولاً، قم بتعيين نافذة الصيانة، وبعد عدم وجود أي عملاء قيد التشغيل، يمكنك إجراء اختبار التحمل.
https://github.com/jjziets/pytorch-benchmark-volta
يمكن العثور على مجموعة كاملة من اختبارات التحمل في docker image jjziets/vastai-benchmarks:latest in المجلد /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
# واجهة اختبار أو باش
sudo docker run --shm-size 1G --rm -it --gpus all jjziets/vastai-benchmarks /bin/bash apt update && apt upgrade -y ./benchmark.sh
#Run باستخدام الإعدادات الافتراضية يتم حفظ النتائج في ./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
إذا كنت تريد تشغيله لوحدة معالجة رسومات واحدة، فقم بتشغيل الأمر أدناه، مع استبدال x برقم وحدة معالجة الرسومات الذي يبدأ من 0.
sudo docker run --gpus '"device=x"' --rm oguzpastirmaci/gpu-burn
*استنادًا إلى أدوات ليونا/واسعة.ai
هذه مجموعة من البرامج النصية لمراقبة أعطال الجهاز. قم بتشغيل العميل على جهازك الضخم والخادم على جهاز بعيد. يمكنك الحصول على إشعارات على Telegram إذا لم يتم إرسال نبضات القلب خلال المهلة المحددة (الافتراضي 12 ثانية). https://github.com/jjziets/Telegram-Vast-Uptime-Bot
استنادًا إلى RTX 3090 120Mhs للأخلاقيات. فهو يحدد سعر مضيفي الثاني. إنه يعمل مع 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 الواسعة. على حد علمي، فإن وظيفة تعيين واجهة المستخدم الرسومية معطلة. لذلك، لتعيين مهمة خاملة، اتبع الخطوات التالية. ستحتاج إلى تنزيل CLI الواسع وتشغيل الأوامر التالية. الفكرة هي أن تؤجر نفسك كوظيفة غير متقطعة. يتيح لك CLI الواسع تعيين مهمة خاملة واحدة لجميع وحدات معالجة الرسومات أو وحدة معالجة رسومات واحدة لكل مثيل. يمكنك أيضًا ضبط طريقة اتصال 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
فيما يلي مثال على كيفية استخدامي لـnichash
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 معرّف مثيل غير قابل للمقاطعة
لنفترض أنك تريد التعدين باستخدام 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
لا يوجد عملاء قيد التشغيل وأنك غير مدرج في السوق الواسعة.
توجد بيانات عامل الإرساء على محرك الأقراص الحالي.
تثبيت الأدوات المطلوبة :
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
.
تمكين تسجيل الدخول إلى Root SSH مؤقتًا : من الضروري ضمان اتصال SSH دون انقطاع أثناء عملية النسخ الاحتياطي، خاصة عند نقل الملفات الكبيرة مثل بيانات Docker المضغوطة. أ. افتح تكوين SSH:
sudo nano /etc/ssh/sshd_config
ب. تحديد موقع وتغيير الخط:
PermitRootLogin no
ل:
PermitRootLogin yes
ج. أعد تحميل تكوين SSH:
sudo systemctl restart sshd
إنشاء مفتاح SSH ونقله إلى خادم النسخ الاحتياطي : أ. قم بإنشاء مفتاح SSH:
sudo ssh-keygen
ب. انسخ مفتاح SSH إلى خادم النسخ الاحتياطي:
sudo ssh-copy-id -i ~/.ssh/id_rsa [email protected]
تعطيل مصادقة كلمة مرور الجذر : تأكد من إمكانية استخدام مفتاح 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
ونقله إلى خادم النسخ الاحتياطي. أ. قم بالتبديل إلى المستخدم الجذر وتثبيت الأدوات اللازمة:
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
. أ. التبديل إلى المستخدم الجذر:
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 بالنسبة لي على النوافذ
أخبر أولاً واسعة للسماح بتعيين المنفذ. استخدم -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
استخدم معلمات 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
ابحث عن نظام يحتوي على منافذ مفتوحة
عند الانتهاء من التحميل انقر فوق فتح
اسم المستخدم هو المستخدم وكلمة المرور هي ما قمت بتعيينه mypasswd في هذه الحالة
ضرب البداية
بيئة سطح المكتب المتسارعة ثلاثية الأبعاد في متصفح الويب
سيؤدي هذا إلى تقليل عدد طلبات السحب من عنوان IP العام الخاص بك. يقتصر Docker على 100 عملية سحب لكل 6 ساعات لتسجيل الدخول غير المجهول، ويمكنه تسريع وقت بدء تشغيل الإيجارات الخاصة بك. يوفر هذا الدليل إرشادات حول كيفية إعداد خادم تسجيل Docker باستخدام Docker Compose، بالإضافة إلى تكوين عملاء Docker لاستخدام هذا السجل. المتطلبات الأساسية: يتم تثبيت Docker وDocker Compose على الخادم الذي يحتوي على مساحة تخزين سريعة كبيرة على شبكة LAN المحلية الخاصة بك. يتم تثبيت Docker على جميع الأجهزة العميلة.
إعداد Docker Registry Server، قم بتثبيت 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 ويستخدم وحدة تخزين تسمى البيانات للتخزين. ابدأ سجل Docker:
قم بتشغيل الأمر التالي في الدليل الذي يوجد به ملف docker-compose.yml الخاص بك:
sudo docker-compose up -d
سيتم تمييز هذا الأمر بنجمة