วิธีการตั้งค่า SR-IOV สำหรับ NIC บน Proxmox VE

Published on April 29, 2025
วิธีการตั้งค่า SR-IOV สำหรับ NIC บน Proxmox VE

ในระบบ Virtualization สมัยใหม่ การเพิ่มประสิทธิภาพการเชื่อมต่อเครือข่ายและการเข้าถึงฮาร์ดแวร์โดยตรงเป็นสิ่งสำคัญ โดยเฉพาะในงานที่ต้องการ Bandwidth สูง หรือ Latency ต่ำ เช่น ระบบฐานข้อมูลขนาดใหญ่, AI/ML หรือ Virtual Desktop Infrastructure (VDI) หนึ่งในเทคโนโลยีที่ช่วยได้คือ SR-IOV (Single Root I/O Virtualization) ซึ่งทำให้สามารถแบ่ง Physical NIC ออกเป็นหลาย Virtual Function (VF) เพื่อมอบให้กับ VM ได้โดยตรง ลดภาระการทำงานของ Hypervisor ลงอย่างมาก

ในขณะเดียวกันเทคนิค PCI Passthrough ก็เป็นอีกทางเลือกที่ให้ VM เข้าถึงอุปกรณ์ PCIe เช่น GPU หรือ NIC ได้โดยตรงผ่าน VFIO (Virtual Function I/O) ซึ่งมีประโยชน์อย่างยิ่งในการเพิ่มประสิทธิภาพสำหรับงานเฉพาะทาง

บทความนี้จะอธิบายวิธีการตั้งค่า SR-IOV สำหรับ NIC  บน Proxmox VE  ซึ่งเป็นเวอร์ชันล่าสุด ณ ปัจจุบัน โดยจะครอบคลุมตั้งแต่การตั้งค่า Kernel Module, การปรับแต่ง BIOS, การกำหนด IOMMU, ไปจนถึงการเพิ่ม Virtual Function ให้กับ VM อย่างถูกต้อง

ตัวอย่างการทำ GPU Passthrough บน Proxmox VE

1. เช็ก BIOS และเปิดการตั้งค่าที่จำเป็น
– เข้า BIOS ของเครื่องเซิร์ฟเวอร์

เปิดใช้งาน

  • VT-d (สำหรับ Intel) หรือ AMD-Vi (สำหรับ AMD)
  • SR-IOV

หมายเหตุ ซึ่งท่าน จะต้องเปิดใช้งาน Intel Virtualization / Intel VT-d และ SR-IOV ใน NIC ผ่าน BIOS ก่อน

SR-IOV

เปิดใช้งาน SR-IOV

 

2. การเตรียม ISO ที่สามารถบูต Proxmox VE เพื่อติดตั้งให้เรียบร้อย  พร้อมเข้าสู่ระบบ

 

SR-IOV

 

หน้าแดชแบอด Proxmox VE

 

3. การตรวจสอบการสนับสนุน IOMMU

สามารถตรวจยืนยันว่า IOMMU เปิดใช้งานอยู่หรือไม่โดยใช้ Shell ของ Proxmox ด้วยคำสั่งต่อไปนี้:

# dmesg | grep -e DMAR -e IOMMU

 

SR-IOV

 

# dmesg | grep 'remapping'

 

SR-IOV

 

*** หาก IOMMU ไม่แสดงเป็นเปิดใช้งาน ให้ไปทำการเปิดใช้งาน SR-IOV ที่  BIOS  ให้เรียบร้อย 

 

4. การกำหนดค่า Proxmox

เมื่อติดตั้ง Proxmox แล้ว ให้ล็อกอินเข้าสู่ระบบ และเพิ่มพารามิเตอร์การบูตเคอร์เนล  “intel_iommu=on” และ “iommu=pt” ใน /etc/default/grub:

 # vi /etc/default/grub

ทำการเพิ่มพารามิเตอร์ บรรทัดนี้

 GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"

 

SR-IOV
** อย่าลืม save

เช็ค cpu

 # dmesg | grep cpu

SR-IOV

 # dmesg | grep intel

SR-IOV

 # more /proc/cpuinfo

SR-IOV

รันคำสั่ง “update-grub” หลังจากทำการเปลี่ยนแปลงที่จำเป็นเพื่อใช้การเปลี่ยนแปลง

 # update-grub

SR-IOV

 

เข้าเพิ่ม Kernel Modules สามารถทำได้โดยเพิ่มโมดูลเหล่านี้ลงใน ‘ /etc/modules ‘ **ทำหน้าที่เป็นตัวกลางส่งผ่าน

 # vi /etc/modules

จากนั้นเพิ่มพารามิเตอร์

vfio 
vfio_iommu_type1 
vfio_pci
vfio_virqfd 

SR-IOV
** อย่าลืม save

 

หลังจากเปลี่ยนแปลงโมดูลใดๆ ที่เกี่ยวข้องแล้ว คุณต้องรีเฟรช initramfs ของคุณ ใน Proxmox VE สามารถทำได้โดยดำเนินการดังนี้:

# update-initramfs -u -k all

SR-IOV

จากนั้นทำการ reboot เครื่อง Server Proxmox VE

ทำการเช็ค device name ของ NIC ในรูปเราจะได้ค่าเป็นดังนี้

SR-IOV

 

ทำการตรวจสอบอุปกรณ์ NIC

 # Ispci

SR-IOV
เมื่อใช้คำสั่ง Ispci ท่านจะเห็น Virtual NIC จำนวนทั้งหมดขึ้นมา

SR-IOV

 

เท่านั้นก็เสร็จเรียบร้อย

 

5. การกำหนดค่าไคลเอนต์

เมื่อถึงจุดนี้ ให้สร้าง VM ใหม่ใน Proxmox สำหรับบทช่วยสอนนี้ เราได้ติดตั้ง CentOS-7-x86_64-DVD-1810

  • การสร้าง VM คุณสามารถสร้าง VM ใหม่ผ่านอินเทอร์เฟซเว็บของ Proxmox เมื่อเข้าสู่ระบบแล้ว คุณสามารถเลือกปุ่ม “Create VM” ที่มุมขวาบนของอินเทอร์เฟซได้

SR-IOV

ตั้งชื่อ VM คลิก Next

SR-IOV

เลือก ISO Image คลิก Next

SR-IOV

กำหนดค่าระบบแล้ว คลิก Next

SR-IOV

กำหนดค่า Disk แล้ว คลิก Next

SR-IOV

กำหนดค่า CPU แล้ว คลิก Next

SR-IOV

กำหนดค่า Memory แล้ว คลิก Next

SR-IOV

กำหนดค่า Network แล้ว คลิก Next

SR-IOV

ตรวจสอบรายละเอียด  จากนั้นคลิก Next

6. การเพิ่ม GPU 

เมื่อสร้าง VM แล้ว คุณสามารถเพิ่ม GPU ได้ผ่านแท็บฮาร์ดแวร์ภายใต้คอนโซล VM ใน Proxmox

 

SR-IOV

เลือก VM  —> Hardware

SR-IOV

เลือกปุ่ม Add  ->  PCI Device

SR-IOV

เลือก Raw Device และค้นหา GPU ของคุณ

SR-IOV

คลิก Add

SR-IOV

 

จากนั้นคุณทำการติดตั้งและเข้าสู่ระบบระบบปฏิบัติการแล้ว ให้ตรวจสอบว่า GPU แสดงขึ้นมาโดยเรียกใช้สั่ง   lspci

 # lspci

 

SR-IOV

 

ดังนั้น SR-IOV (Single Root I/O Virtualization) เป็นเทคนิคที่ช่วยให้ Network Interface Card (NIC) สามารถสร้าง Virtual Functions (VF) หลายตัวจาก Physical Function (PF) ตัวเดียว เพื่อแบ่งทรัพยากรส่งตรงให้ VM ใช้งานได้โดยไม่ผ่าน hypervisor มากเกินไป (ใกล้เคียงกับ PCI Passthrough) ซึ่งจะได้ประสิทธิภาพสูงสุดและ latency ต่ำที่สุด หากคุณทำตามขั้นตอนทั้งหมดอย่างเคร่งครัด เครื่องเสมือน (VM) ของคุณก็ไม่น่าจะมีปัญหาในการตรวจจับอุปกรณ์ PCIe ทั่วไป  ทั้งนี้สามารถทำตามคู่มือแบบวีดีโอได้ที่ Youtube 

AVESTA  ให้บริการทั้งงานขายระบบ System , Networks  ติดตั้ง อัพเกรด Configure และอื่น ๆ หากท่านมีคำถามสามารถติดต่อเพื่อขอข้อมูลเกี่ยวกับการบริการของเราได้ตลอดเวลา ด้วยประสบการณ์ยาวนานนับสิบปี

RVTools เครื่องมือสำหรับผู้ดูแล VMware ใช้วิเคราะห์ VM, Sizing และ Migration ระบบ

ในโลกของระบบเสมือน VMware การตรวจสอบและจัดการเครื่องเสมือน (VMs) เป็นสิ่งสำคัญสำหรับผู้ดูแลระบบเพื่อให้การทำงานมีประสิทธิภาพและลดความเสี่ยง การใช้ RVTools เป็นเครื่องมือช่วยให้ผู้ดูแลสามารถเข้าถึงข้อมูลเชิงลึกของ VM, คลัสเตอร์,...

Read more »

การย้าย VMs จาก VMware ESXi ไปหา Proxmox VE และ ข้อควรระวังต่างๆ

เรียกว่า การใช้งาน Proxmox VE นั้นได้รับความนิยมอย่างก้าวกระโดด เพราะมีผู้ที่ใช้งาน VMware จำนวนมาก ที่เปลี่ยนมาใช้งาน Proxmox...

Read more »

Consignment System เพื่อการได้เปรียบในการเพิ่มความหลากหลายสินค้า

ระบบฝากขายสินค้า (Consignment System) คืออะไร และทำไมร้านค้าสมัยใหม่ต้องมี ในยุคที่การแข่งขันทางการค้าเพิ่มสูงขึ้น ร้านค้าปลีกหรือร้านสะดวกซื้อมักต้องการเสนอสินค้าที่หลากหลายให้ลูกค้าเลือกมากที่สุด เพื่อเพิ่มโอกาสในการขาย แต่การจะสต็อกสินค้าทั้งหมดด้วยเงินทุนของร้านเองนั้นไม่ใช่เรื่องง่าย และ...

Read more »

วิธีติดตั้ง Zabbix Agent บน Ubuntu (Linux) พร้อมเพิ่ม Host ใน Zabbix step by step

Zabbix เป็นซอฟต์แวร์ประเภท Open Source Monitoring Solution ที่ใช้สำหรับการมอนิเตอร์ และเก็บข้อมูลจากอุปกรณ์และระบบไอทีต่างๆ แบบ Real-time...

Read more »

ติดตั้ง Proxmox Datacenter Manager BETA พร้อมเพิ่ม Proxmox VE | คู่มือฉบับเริ่มต้น

Proxmox Datacenter Manager (PDM) คือเครื่องมือใหม่จากทีมพัฒนาเดียวกับ Proxmox VE (Virtual Environment) ที่ออกแบบมาเพื่อช่วยบริหารจัดการระบบเสมือน...

Read more »

ทำความรู้จักกับ RealVNC On-Premise Management Console

On-Premise Management Console นั้นเป็นซอฟต์แวร์ที่ออกแบบมาสำหรับการจัดการ RealVNC Connect On-Premise หรือการเชื่อมต่อภายในองค์กร โดยถือว่าเป็นซอฟต์แวร์ใหม่ที่เพิ่งออกมาเมื่อเดือน กันยายน...

Read more »