debian: Headless Nvidia for Cryptomining

strict warning: Only variables should be passed by reference in /sys1/sysb/var/www/thaitux.info/drupal/modules/book/book.module on line 559.

ลองศึกษาการขุดเหมืองเงินคริปโตด้วยการ์ดจอ Nvidia

ปัญหาคือทดลองในเซิร์ฟเวอร์ที่ไม่ได้ต่อจอภาพไว้ และไม่ได้ลง Xserver ไว้ การใช้งานผ่าน ssh จึงปรับแต่งอะไรไม่ได้เลย การใช้ค่าที่ติดตั้งมาจากโรงงาน ทำให้การ์ดร้อนจัดจนใช้งานจริงไม่ได้
ปัญหาต่อมาคือไดรเวอร์บนลินุกซ์ล้าสมัยเล็กน้อย ใช้กับการ์ดจอใหม่ ๆ ไม่ค่อยได้ หรือใช้ได้แต่ไม่ดีพอ
(ระบบปฏิบัติการที่ใช้ คือ debian stretch)

ทางแก้คือ

แก้ปัญหาใช้งาน nvidia-settings ผ่าน ssh

ทำที่เครื่องเซิร์ฟเวอร์ที่ติดตั้งการ์ด Nvidia ไว้

ก่อนอื่น ถือว่าเราได้ลงไดรเวอร์ของ Nvidia มาแล้ว ด้วยคำสั่งดังนี้

$ sudo apt install nvidia-driver nvidia-smi nvidia-settings nvidia-xconfig

ต้องลง Xorg และเพื่อให้สะดวกในการเริ่มต้นและออกจาก X จึงติดตั้ง desktop manager ตัวเล็กไว้ด้วย คือ lightdm

$ sudo apt install lightdm

แก้ไข xorg.conf ให้สามารถใช้งานการปรับแต่งการ์ดจอได้ แล้วก็เริ่ม Xserver ใหม่ด้วยคำสั่ง

$ sudo nvidia-xconfig -a --cool-bits=31 --allow-empty-initial-configuration
$ sudo systemctl restart lightdm

ทำที่เครื่องลูก ที่ใช้งาน ssh
ssh เข้าไปที่เซิร์ฟเวอร์ ทำการ merge ค่า $DISPLAY หลักของ X ซึ่งก็คือของการ์ดจอ เข้ากับค่า $DISPLAY ของเราที่มาจาก ssh แล้วก็เรียกใช้ nvidia-settings ผ่านค่าดิสเพลย์หลัก

$ ssh -X root@SERVER
# xauth merge /var/run/lightdm/root/\:0
# nvidia-settings -c :0

จะสามารถใช้งานการปรับแต่งได้ตามต้องการ โดยตรวจดูค่าที่ปรับแต่งแล้ว ด้วยคำสั่ง nvidia-smi

ที่มา

แก้ปัญหาไดรเวอร์ลินุกซ์ล้าสมัย ด้วยการคอมไพล์รุ่นใหม่บน svn เอง

ติดตั้งแพ็คเกจที่ใช้งาน

$ sudo apt install subversion svn-buildpackage
$ sudo apt build-dep nvidia-driver

ดาวน์โหลดรุ่นใหม่จาก svn และคอมไพล์
*** อย่าลืมแก้ค่าในตัวแปร $TARGET ให้เป็นไดเรคทอรี่ที่เราต้องการ ***

$ TARGET=nvidia-graphics-drivers; mkdir $TARGET; cd $TARGET
$ svn co svn://anonscm.debian.org/pkg-nvidia/packages/nvidia-graphics-drivers/branches/384
$ cd 384
$ debian/rules get-orig-source
$ mkdir ../tarballs
$ mv nvidia-graphics-drivers* ../tarballs
$ svn-buildpackage --svn-ignore -us -uc -rfakeroot

จะได้ไฟล์แพ็คเกจนามสกุล .deb มาอยู่ในไดเรคทอรี่ ../build-area
ต่อไปก็สร้าง local repository จากไดเรคทอรี่ดังกล่าว ทำการแก้ไข apt/source ลบไดรเวอร์เก่า (ถ้ามี) แล้วก็ติดตั้งของใหม่

$ cd ../build-area
$ dpkg-scanpackages . /dev/null > Packages
$ sudo vi /etc/apt/sources.list.d/nvidia-384.list
deb [ trusted=yes ] file:$TARGET/nvidia-graphics-drivers/build-area ./
$ sudo systemctl stop lightdm
$ sudo apt-get remove ^nvidia ^libnvidia
$ sudo apt update
$ sudo apt install nvidia-driver nvidia-smi nvidia-settings nvidia-xconfig

บูตเครื่องใหม่ ก็จะสามารถใช้งานไดรเวอร์รุ่นใหม่ได้แล้ว

ที่มา

จบ

 

Thai Search

Google Search

Custom Search

Theme

Who's online

There are currently 0 users and 3 guests online.