การใช้งาน USB Passthrough ใน Proxmox VE สำหรับ VMs และ LXCs ทำอย่างไร?

การผ่าน USB ช่วยให้ผู้ใช้งาน Proxmox VE เชื่อมต่ออุปกรณ์จริงเข้ากับเครื่องเสมือนหรือคอนเทนเนอร์ได้ คู่มือนี้อธิบายพื้นฐาน ขั้นตอนการตั้งค่า ตัวเลือกขั้นสูง และวิธีแก้ปัญหาทั่วไป อ่านต่อเพื่อเชี่ยวชาญการผ่าน USB ในสภาพแวดล้อมของคุณ

download-icon
ดาวน์โหลดฟรี
สำหรับ VM, OS, DB, ไฟล์, NAS, ฯลฯ
offroad-seachua

Updated by ออฟโรด แซ่ฉั่ว on 2025/10/31

สารบัญ
  • PVE USB passthrough คืออะไร และทำไมคุณต้องใช้?

  • ข้อกำหนดเบื้องต้นสำหรับการผ่านอุปกรณ์ USB ใน Proxmox VE

  • PVE จัดการ USB Passthrough ภายในอย่างไร?

  • วิธีที่ 1 การส่งอุปกรณ์ USB ไปยังเครื่องเสมือนผ่านเว็บ UI

  • วิธีที่ 2 การส่งอุปกรณ์ผ่านไปยังคอนเทนเนอร์ LXC

  • วิธีที่ 3 การส่งต่อคอนโทรลเลอร์แบบเต็มรูปแบบโดยใช้การกำหนด PCIe

  • แนวทางปฏิบัติที่ดีที่สุดสำหรับ USB Passthrough ใน Proxmox VE

  • การแก้ปัญหาทั่วไปเกี่ยวกับ PVE USB Passthrough

  • การปกป้อง Proxmox VM ด้วย Vinchin

  • คำถามที่พบบ่อยเกี่ยวกับการผ่าน USB สำหรับ PVE

  • สรุป

ฟีเจอร์ USB passthrough เป็นสิ่งสำคัญสำหรับผู้ใช้งาน Proxmox VE  จำนวนมาก โดยช่วยให้คุณสามารถเชื่อมต่ออุปกรณ์ USB จริง เช่น อุปกรณ์ยึดลิขสิทธิ์ หรือเครื่องอ่านสมาร์ทการ์ด เข้ากับเครื่องเสมือนหรือคอนเทนเนอร์ ราวกับว่าเสียบเข้าโดยตรง แต่แท้จริงแล้วเกิดอะไรขึ้นเบื้องหลัง และคุณจะทำให้ทำงานได้อย่างมั่นคงในสภาพแวดล้อมที่แตกต่างกันได้อย่างไร

ในคู่มือนี้ เราจะสร้างความเข้าใจให้คุณอย่างเป็นขั้นตอน—ตั้งแต่การแมปอุปกรณ์พื้นฐานไปจนถึงการผ่านคอนโทรลเลอร์ขั้นสูง—พร้อมสำรวจแนวทางแก้ไขปัญหาทั่วไปอย่างเป็นรูปธรรม ไม่ว่าคุณจะกำลังใช้งานห้องปฏิบัติการที่บ้านหรือจัดการโครงสร้างพื้นฐานระดับองค์กร การเชี่ยวชาญการผ่าน USB จะสามารถปลดล็อกศักยภาพใหม่ๆ ในสภาพแวดล้อมเสมือนของคุณได้

PVE USB passthrough คืออะไร และทำไมคุณต้องใช้?

โดยพื้นฐานแล้ว ยูเอสบีพาสทรูผ่านช่วยให้เครื่องเสมือน (VM) หรือคอนเทนเนอร์ LXC เข้าถึงอุปกรณ์ยูเอสบีจริงที่ต่อกับโฮสต์พร็อกซ์ม็อกซ์ของคุณได้ สิ่งนี้หมายความว่า ซอฟต์แวร์ภายในระบบแกนส์สามารถใช้งานกุญแจฮาร์ดแวร์ ไดรฟ์จัดเก็บข้อมูล อุปกรณ์ซิกบี้ หรืออุปกรณ์ต่อพ่วงอื่นๆ ได้เหมือนกับการใช้งานบนฮาร์ดแวร์จริง

สิ่งนี้ทำงานอย่างไร? สำหรับเครื่องเสมือน (VMs) Proxmox ใช้การสนับสนุนในตัวของ QEMU เพื่อเปลี่ยนเส้นทางการรับส่งข้อมูล USB จากโฮสต์ไปยังระบบปฏิบัติการของเครื่องลูกข่าย (guest OS) ส่วนคอนเทนเนอร์ (LXCs) จะอาศัยคุณสมบัติของเคอร์เนลลินุกซ์ เช่น cgroups และ namespaces เพื่อเปิดเผยโหนดอุปกรณ์อย่างปลอดภัย

ทำไมสิ่งนี้สำคัญ? แอปพลิเคชันทางธุรกิจหลายตัวต้องการการเข้าถึงฮาร์ดแวร์โดยตรง ตัวอย่างเช่น:

  • ใช้คีย์ความปลอดภัยแบบฮาร์ดแวร์สำหรับการพิสูจน์ตัวตนสองชั้น

  • การเชื่อมต่อไดรฟ์ภายนอกเพื่อถ่ายโอนข้อมูล

  • การติดตั้งเครื่องอ่านสมาร์ทการ์ดสำหรับการเข้าสู่ระบบอย่างปลอดภัย

  • การรวมอุปกรณ์ IoT ผ่านตัวรับส่งสัญญาณ Zigbee หรือ Z-Wave

หากไม่มีการตั้งค่าพาสทรูที่เหมาะสม อุปกรณ์เหล่านี้จะยังคงมองไม่เห็นภายในเครื่องเสมือนของคุณ การทำความเข้าใจวิธีการทำงานของพาสทรู และข้อจำกัดต่างๆ จะช่วยให้คุณหลีกเลี่ยงความยุ่งยากในอนาคตได้

ข้อกำหนดเบื้องต้นสำหรับการผ่านอุปกรณ์ USB ใน Proxmox VE

ก่อนตั้งค่าการผ่านอุปกรณ์ USB ใน Proxmox VE ให้ตรวจสอบความต้องการพื้นฐานบางประการ:

ขั้นตอนแรก ตรวจสอบให้แน่ใจว่า BIOS/UEFI ของเซิร์ฟเวอร์เปิดใช้งานการจำลองเสมือน (Intel VT-d หรือ AMD-Vi) แล้ว สำหรับกรณีการผ่านต่อคอนโทรลเลอร์ PCIe (กรณีใช้งานขั้นสูง) ให้เปิดใช้งานการสนับสนุน IOMMU โดยเพิ่ม intel_iommu=on หรือ amd_iommu=on ลงในพารามิเตอร์การบูตเคอร์เนลของคุณ

ต่อไป ให้ทราบว่าคุณมีคอนโทรลเลอร์ USB ประเภทใด—EHCI (USB 2.0) หรือ xHCI (USB 3.x)—เนื่องจากสิ่งนี้มีผลต่อความเข้ากันได้และความเสถียรเมื่อผ่านคอนโทรลเลอร์ทั้งหมด

ในที่สุด โปรดจำไว้ว่าเวอร์ชันใหม่ของ Proxmox อาจจัดการสิทธิ์การใช้งานอุปกรณ์แตกต่างออกไป เนื่องจากการเปลี่ยนแปลงกฎ udev หรือการอัปเดตเคอร์เนล ควรตรวจสอบหมายเหตุเกี่ยวกับความเข้ากันได้เสมอ ก่อนทำการอัปเกรดระบบจริง

PVE จัดการ USB Passthrough ภายในอย่างไร?  

เมื่อคุณกำหนดอุปกรณ์ USB จริงให้กับเครื่องเสมือนโดยใช้ Proxmox VE:

1. โฮสต์ตรวจจับอุปกรณ์ผ่านรหัสผู้ผลิตเฉพาะตัว (idVendor) และรหัสผลิตภัณฑ์ (idProduct)

2. QEMU สร้างตัวแทนเสมือนของอุปกรณ์นั้นภายในเครื่องเสมือน

3. การสื่อสารทั้งหมดระหว่างซอฟต์แวร์และฮาร์ดแวร์ของผู้ใช้ไหลผ่านช่องทางนี้—เลี่ยงการจำลองเพื่อให้ได้ความเร็วใกล้เคียงกับระบบจริง

สำหรับคอนเทนเนอร์ LXC:

1. โฮสต์เปิดเผยโหนด /dev เฉพาะเจาะจงโดยใช้ bind mounts

2. สิทธิ์การใช้งาน Cgroup ควบคุมว่าอุปกรณ์ใดจะมองเห็นได้ภายในแต่ละคอนเทนเนอร์

3. สัญลักษณ์เชื่อมต่อแบบเพอร์ซิสเทนต์ภายใต้ /dev/serial/by-id ช่วยรักษาเส้นทางให้มีเสถียรภาพแม้ว่าอุปกรณ์จะถูกถอดหรือเสียบกลับเข้ามาใหม่ก็ตาม

วิธีการโดยตรงนี้ทำให้ประสิทธิภาพสูง แต่ต้องการการกำหนดค่าอย่างระมัดระวัง โดยเฉพาะในด้านสิทธิ์การเข้าถึงและขอบเขตของการแยกตัว

วิธีที่ 1 การส่งอุปกรณ์ USB ไปยังเครื่องเสมือนผ่านเว็บ UI

วิธีที่ง่ายที่สุดในการส่งอุปกรณ์ USB ไปยังเครื่องเสมือนคือผ่านอินเทอร์เฟซเว็บของ Proxmox วิธีนี้เหมาะสำหรับผู้ใช้ส่วนใหญ่ที่รันระบบปฏิบัติการ Linux หรือ Windows เป็นไคลเอนต์

  1. เสียบอุปกรณ์ USB ที่ต้องการเข้ากับพอร์ตที่ว่างอยู่บนโฮสต์เซิร์ฟเวอร์ของคุณ

  2. ในเว็บ UI ให้เลือก VM เป้าหมาย

  3. คลิก Hardware แล้วเลือก Add > USB Device

  4. เลือกหนึ่งในตัวเลือกต่อไปนี้:

    • ใช้รหัสผู้ขาย/อุปกรณ์ USB สำหรับอุปกรณ์เฉพาะที่คงที่

    • ใช้พอร์ต USB สำหรับการตั้งค่าที่ยืดหยุ่น โดยอุปกรณ์ใดๆ ที่เสียบเข้ากับพอร์ตเฉพาะจะถูกส่งผ่านไปยังเป้าหมาย

  5. บันทึกการเปลี่ยนแปลงและรีสตาร์ทเครื่อง VM ภายในระบบปฏิบัติการของคุณ ให้รันคำสั่ง lsusb (สำหรับ Linux) หรือตรวจสอบ Device Manager (สำหรับ Windows) เพื่อยืนยันว่าอุปกรณ์ถูกผ่านต่ออย่างถูกต้อง

วิธีที่ 2 การส่งอุปกรณ์ผ่านไปยังคอนเทนเนอร์ LXC

การส่งอุปกรณ์จริงไปยังคอนเทนเนอร์ LXC อาจทำได้ยากกว่าเนื่องจากการแยกสภาพแวดล้อมที่เข้มงวดกว่า แต่ยังคงสามารถทำได้

เคล็ดลับที่ 1: การใช้เส้นทางอุปกรณ์คงที่

เส้นทางคงที่ภายใต้ /dev/serial/by-id จะให้ลิงก์อุปกรณ์ที่เสถียร แม้หลังจากถอดและเสียบอุปกรณ์ใหม่แล้วก็ตาม เพื่อใช้วิธีนี้:

  1. บนโฮสต์ ให้รัน:
    ls -l /dev/serial/by-id
    ตัวอย่างผลลัพธ์:

    lrwxrwxrwx 1 root root 13 Sep 9 10:54 usb-Silicon_Labs_CP210x-if00-port0 -> ../../ttyUSB0
  2. ในเว็บ UI ให้เลือกคอนเทนเนอร์เป้าหมายแล้วคลิก ทรัพยากร

  3. คลิก เพิ่ม > การส่งต่ออุปกรณ์ แล้วป้อนเส้นทางอุปกรณ์เต็ม (เช่น /dev/serial/by-id/...)

  4. บันทึกการเปลี่ยนแปลงและรีสตาร์ทคอนเทนเนอร์

เคล็ดลับที่ 2: การแก้ไขการตั้งค่า LXC ด้วยตนเอง

หากไม่สามารถใช้พาธถาวรได้ หรือคุณต้องการควบคุมสิทธิ์การเข้าถึงอย่างละเอียดมากขึ้น:

  1. แก้ไขไฟล์กำหนดค่าคอนเทนเนอร์ที่ /etc/pve/lxc/<CTID>.conf และเพิ่ม:

    lxc.cgroup2.devices.allow: c 188:* rwm
    lxc.mount.entry: /dev/ttyUSB0 dev/ttyUSB0 none bind,optional,create=file
  2. รีบูตคอนเทนเนอร์เพื่อประยุกต์ใช้การเปลี่ยนแปลง

การจัดการสิทธิ์และการเชื่อมต่ออุปกรณ์ใหม่

บางครั้งการถอดและเสียบอุปกรณ์ใหม่อาจทำให้สิทธิ์ถูกรีเซ็ตหรือการจัดสรรโหนดใน /dev เปลี่ยนแปลง ในการจัดการสิ่งนี้:

  1. สร้างกฎ UDEV แบบคงที่:
    สร้างกฎ UDEV ที่กำหนดเองเพื่อปรับการแก้ไขสิทธิ์และการสร้างลิงก์เชิงสัญลักษณ์โดยอัตโนมัติ:

    SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK+="mydevice", GROUP="lxcuser", MODE="0660"

    รีโหลดกฎ UDEV ด้วยคำสั่ง:

    udevadm control --reload && udevadm trigger
  2. ทำให้การเริ่มต้นคอนเทนเนอร์ใหม่อัตโนมัติหลังจากเหตุการณ์เสียบอุปกรณ์ใหม่:
    รวมตัวทริกเกอร์ UDEV กับสคริปต์เพื่อให้เริ่มต้นคอนเทนเนอร์ใหม่อัตโนมัติหลังจากเหตุการณ์เสียบอุปกรณ์ใหม่:

    pct restart <CTID>

วิธีที่ 3 การส่งต่อคอนโทรลเลอร์แบบเต็มรูปแบบโดยใช้การกำหนด PCIe

เพื่อประสิทธิภาพสูงสุด คุณอาจต้องการส่งต่อคอนโทรลเลอร์ USB ทั้งตัว แทนที่จะเป็นอุปกรณ์รายตัว ซึ่งเป็นประโยชน์อย่างยิ่งสำหรับอุปกรณ์ที่มีอัตราการถ่ายโอนข้อมูลสูง เช่น SSD ภายนอก

  1. เปิดใช้งาน IOMMU ใน BIOS และตัวบูตโหลดเดอร์ (intel_iommu=on หรือ amd_iommu=on)

  2. ค้นหาที่อยู่คอนโทรลเลอร์โดยใช้:
    lspci | grep -i usb

  3. หากจำเป็น ให้ผูกไดรเวอร์คอนโทรลเลอร์โดยใช้เครื่องมือ VFIO:

    echo "8086:a36d" > /sys/bus/pci/drivers/vfio-pci/new_id
  4. ในเว็บ UI ให้เลือก VM เป้าหมาย คลิก Hardware จากนั้น Add > PCI Device

  5. เลือกที่อยู่คอนโทรลเลอร์ที่เหมาะสมแล้วยืนยัน

    คำเตือนที่สำคัญ: หลีกเลี่ยงการกำหนดรูทฮับ/ตัวควบคุมที่จัดการคีย์บอร์ด/เมาส์ เว้นแต่คุณจะมีเครื่องมือจัดการระยะไกลพร้อมใช้งาน เพราะอาจทำให้คุณไม่สามารถเข้าถึงระบบได้

    แนวทางปฏิบัติที่ดีที่สุดสำหรับ USB Passthrough ใน Proxmox VE

    เมื่อมีการผ่านอุปกรณ์จริงระหว่างโฮสต์และไคลเอ็นต์ ควรยึดหลักการ สิทธิ์น้อยที่สุด เสมอ เพื่อลดความเสี่ยงด้านความปลอดภัย

  • อย่าให้สิทธิ์การเข้าถึงที่กว้างขวางเกินกว่าที่จำเป็น ให้ส่งเฉพาะรหัสผู้จำหน่าย/ผลิตภัณฑ์ที่ต้องการเท่านั้น

  • ตรวจสอบบันทึกอย่างสม่ำเสมอเพื่อหาความผิดปกติ โดยเฉพาะหลังจากการอัปเกรดหรือเปลี่ยนฮาร์ดแวร์

  • ในสภาพแวดล้อมที่มีผู้ใช้หลายคน ควรพิจารณาใช้ข้อจำกัดแบบกลุ่มผ่านกฎ/สคริปต์ UDEV แบบกำหนดเองเพื่อจำกัดการเข้าถึงอุปกรณ์

  • การแก้ปัญหาทั่วไปเกี่ยวกับ PVE USB Passthrough

    หากอุปกรณ์ไม่ถูกระบุหรือสิทธิ์การใช้งานล้มเหลว:

    1. ตรวจสอบการตรวจจับ USB:
      เรียกใช้คำสั่ง lsusb บนโฮสต์และเกสต์เพื่อยืนยันการตรวจจับ

    2. ข้อผิดพลาดของสิทธิ์การเข้าถึง:
      ตรวจสอบสิทธิ์การเป็นเจ้าของกลุ่ม/ผู้ใช้ภายใต้ /dev และแก้ไขโดยใช้ chown หรือ chmod

    3. ความล้มเหลวจากการเสียบปลั๊กร้อน:
      ตรวจสอบให้แน่ใจว่าเปิดใช้งาน QEMU agent ภายในเครื่องเสมือน และใช้สคริปต์เพื่อทำให้การเริ่มต้นคอนเทนเนอร์ใหม่สำหรับ LXC อัตโนมัติ

    การปกป้อง Proxmox VM ด้วย Vinchin

    หลังจากการตั้งค่าสภาพแวดล้อม PVE ที่น่าเชื่อถือแล้ว รวมถึงคุณสมบัติขั้นสูงอย่างการผ่าน USB คุณจะต้องการการสำรองข้อมูลที่มีความทนทานเพื่อความอุ่นใจและการวางแผนความต่อเนื่องทางธุรกิจ

    Vinchin Backup & Recovery  เป็นโซลูชันสำรองข้อมูลเครื่องเสมือนระดับองค์กรที่โดดเด่น รองรับมากกว่าสิบห้าแพลตฟอร์มหลัก รวมถึงการรองรับเฉพาะสำหรับ Proxmox VE พร้อมกับ VMware, Hyper-V, oVirt, OLVM, RHV, XCP-ng, XenServer, OpenStack, ZStack และอื่นๆ อีกมากมาย ทั้งหมดนี้จัดการผ่านแพลตฟอร์มเดียว

    คุณสมบัติสำคัญ ได้แก่ เทคโนโลยีการสำรองข้อมูลแบบเพิ่มเติม ซึ่งช่วยลดการใช้พื้นที่จัดเก็บ การลบข้อมูลซ้ำ และการบีบอัดข้อมูล ในตัว การโยกย้ายระบบจากเวอร์ชันหนึ่งไปอีกเวอร์ชันหนึ่ง (V2V migration) อย่างราบรื่นระหว่างแพลตฟอร์มที่แตกต่างกัน ความสามารถในการกู้คืนข้อมูลในระดับละเอียด รวมถึงการสำรองข้อมูลอัตโนมัติตามกำหนดเวลา พร้อมนโยบายการเก็บรักษาข้อมูลที่ยืดหยุ่น—ทั้งหมดนี้ออกแบบมาเพื่อประสิทธิภาพในการทำงานระดับใหญ่ โดยไม่กระทบต่อความน่าเชื่อถือหรือความเร็ว

    คอนโซลเว็บ Vinchin ที่ใช้งานง่ายทำให้การปกป้องเครื่องเสมือน Proxmox ทุกเครื่องเป็นเรื่องง่ายดาย:

    1. เลือก Proxmox VM ที่ต้องการสำรองข้อมูล 

    เลือก Proxmox VM เพื่อสำรองข้อมูล

    2. เลือกที่จัดเก็บข้อมูลสำรอง

    เลือกสถานที่สำรองข้อมูล

    3. ตั้งค่ากลยุทธ์การสำรองข้อมูล 

    กำหนดกลยุทธ์การสำรองข้อมูล

    4. ส่งงาน

    ส่งงาน

    ผู้ใช้งานนับพันทั่วโลกไว้วางใจ Vinchin ด้วยคะแนนรีวิวสูงในหลากหลายอุตสาหกรรม และตอนนี้คุณสามารถทดลองใช้ฟีเจอร์ทุกฟรึด้วยช่วงทดลองใช้งานแบบครอบคลุมเป็นเวลา 60 วัน

    คำถามที่พบบ่อยเกี่ยวกับการผ่าน USB สำหรับ PVE

    คำถามที่ 1: ฉันสามารถเสียบ USB ใหม่แบบ hot-plug เพื่อให้ Windows Server ของฉันตรวจจับได้ทันทีไหม?

    คำตอบ: ได้ ตราบเท่าที่เปิดใช้งานการรองรับ hotplug ในการตั้งค่า QEMU และติดตั้ง Guest Tools แล้ว อุปกรณ์จะปรากฏขึ้นทันทีโดยไม่ต้องรีบูต

    คำถามที่ 2: แอป LXC ของฉันเขียนไฟล์ไม่ได้ แม้ว่าฉันจะส่งผ่าอะแดปเตอร์ซีเรียลแล้ว — ทำไมเป็นแบบนี้?

    คำตอบ: ตรวจสอบสิทธิ์การเป็นเจ้าของกลุ่มหรือบิตโหมดภายใต้ /dev ; ปรับเปลี่ยนโดยใช้กฎ udev แบบกำหนดเอง หรือคำสั่ง chmod/chown ตามความจำเป็น

    สรุป

    การเข้าถึงที่ยืดหยุ่นของ PVE ช่วยให้ผู้ดูแลระบบสามารถเชื่อมต่ออุปกรณ์ต่อพ่วงทางกายภาพเกือบทุกชนิด - ตั้งแต่อุปกรณ์ใช้งานเดียวไปจนถึงคอนโทรลเลอร์ความเร็วสูงทั้งหมด - เข้ากับงานประมวลผลเสมือนจริงได้อย่างปลอดภัยและมีประสิทธิภาพ ด้วยการสำรองข้อมูลที่เชื่อถือได้จาก Vinchin ข้อมูลสำคัญของคุณจะได้รับการปกป้องไม่ว่าสถานการณ์จะซับซ้อนแค่ไหน ลองใช้ Vinchin วันนี้ และมั่นใจในประสิทธิภาพสูงสุดได้อย่างสบายใจ

แชร์บน:

Categories: VM Backup