debian: Headless Nvidia for Cryptomining
ลองศึกษาการขุดเหมืองเงินคริปโตด้วยการ์ดจอ 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
ที่มา
- gt.net: nvidia-settings over ssh sees my local GPU?
- bitcointalk.org: HOW TO SET UP OVERCLOCKING AND FAN CONTROL ON UBUNTU 16.04 FOR NVIDIA CARDS
- ดูรายละเอียดค่า CoolBits จาก archlinux.org: NVIDIA/Tips and tricks
แก้ปัญหาไดรเวอร์ลินุกซ์ล้าสมัย ด้วยการคอมไพล์รุ่นใหม่บน 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
บูตเครื่องใหม่ ก็จะสามารถใช้งานไดรเวอร์รุ่นใหม่ได้แล้ว
ที่มา
- wiki.debian.org: NvidiaGraphicsDrivers
- linuxconfig.org: Easy way to create a Debian package and local package repository
จบ
- Printer-friendly version
- Log in or register to post comments
- 84303 reads
Recent comments