ได้การ์ดจอมือสอง NVIDIA Quadro P600 มาในงบเพียง 900 บาท จะนำมาใช้รันงาน AI ขนาดเล็ก
ในบล็อกนี้ จะไม่ใช้วิธี GPU Passthrough เพื่อเชื่อมต่อกับ VM แต่จะเลือกใช้งานผ่าน Container (CT) บน Proxmox แทน เพราะวิธีนี้สะดวกกว่าและสามารถแชร์การ์ดจอให้ หลาย CT ใช้งานพร้อมกัน ได้ง่ายกว่า
ตรวจสอบว่าระบบเห็นการ์ดจอ แล้วหรือยัง lspci | grep NVIDIA
01:00.0 VGA compatible controller: NVIDIA Corporation GP107GL [Quadro P600] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GP107GL High Definition Audio Controller (rev a1)
ติดตั้งเครื่องมือที่จำเป็นสำหรับคอมไพล์ไดรเวอร์ NVIDIA
apt install -y dkms build-essential pve-headers-$(uname -r)
ติดตั้ง NVIDIA Driver สำหรับ Linux x64
wget https://us.download.nvidia.com/XFree86/Linux-x86_64/580.82.09/NVIDIA-Linux-x86_64-580.82.09.run
chmod +x NVIDIA-Linux-x86_64-580.82.09.run
./NVIDIA-Linux-x86_64-580.82.09.run --dkms
หลังจากติดตั้งไดรเวอร์เสร็จแล้ว
ตรวจสอบว่าโมดูล NVIDIA ถูกติดตั้งและเชื่อมกับ DKMS สำเร็จหรือไม่ dkms status
nvidia/580.82.09, 6.14.11-4-pve, x86_64: installed
ตรวจสอบรายละเอียดของการ์ดจอ NVIDIA nvidia-smi
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.82.09 Driver Version: 580.82.09 CUDA Version: 13.0 |
+-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 Quadro P600 On | 00000000:01:00.0 Off | N/A |
| 34% 42C P8 N/A / N/A | 0MiB / 2048MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| No running processes found |
+-----------------------------------------------------------------------------------------+
แชร์ GPU ให้ Container (CT) โดยการเช็ค ls -l /dev/nvidia*
crw-rw-rw- 1 root root 195, 0 Nov 2 12:03 /dev/nvidia0
crw-rw-rw- 1 root root 195, 255 Nov 2 12:03 /dev/nvidiactl
crw-rw-rw- 1 root root 510, 0 Nov 2 12:03 /dev/nvidia-uvm
crw-rw-rw- 1 root root 510, 1 Nov 2 12:03 /dev/nvidia-uvm-tools
/dev/nvidia-caps:
total 0
cr-------- 1 root root 235, 1 Nov 2 12:03 nvidia-cap1
cr--r--r-- 1 root root 235, 2 Nov 2 12:03 nvidia-cap2
แก้ไขไฟล์ config CT nano /etc/pve/lxc/<CT_ID>.conf จากนั้น pct reboot <CT_ID>
dev1: /dev/nvidia0
dev2: /dev/nvidiactl
dev3: /dev/nvidia-uvm
dev4: /dev/nvidia-uvm-tools
dev5: /dev/nvidia-caps/nvidia-cap1
dev6: /dev/nvidia-caps/nvidia-cap2
โยนไฟล์ NVIDIA Driver (ที่โหลดไว้บน host) ไปยัง CT
pct push <CT_ID> NVIDIA-Linux-x86_64-580.82.09.run /home/teera/NVIDIA-Linux-x86_64-580.82.09.run
เข้าไปยัง CT pct enter <CT_ID> เพื่อติดตั้ง NVIDIA Driver
chmod +x NVIDIA-Linux-x86_64-580.82.09.run
sudo ./NVIDIA-Linux-x86_64-580.82.09.run -no-kernel-modules
หลังติดตั้งเสร็จ เช็คสถานะบน CT nvidia-smi
💡 Tips:
หากมีการอัปเดต Kernel ควรติดตั้ง header ใหม่และให้ DKMS คอมไพล์โมดูลอัตโนมัติ
apt install pve-headers-$(uname -r) && dkms autoinstall
เพื่อให้ GPU พร้อมใช้งานทุกครั้งที่บูตเครื่อง set crontab ให้รันคำสั่งเปิดโหมด Persistence Mode
# auto run nvidia-smi at boot
@reboot /usr/bin/nvidia-smi -pm 1
