ค้นหาเว็บไซต์

อุปกรณ์ USB Passthrough (เปลี่ยนเส้นทาง) ไปยังเครื่องเสมือน Hyper-V


ข้อเสียที่สำคัญอย่างหนึ่งของ Hyper-V เหนือไฮเปอร์ไวเซอร์อื่น ๆ (เช่น VMWare ESXi หรือ Proxmox) คือการขาดคุณสมบัติในการเปลี่ยนเส้นทางอุปกรณ์ USB จากโฮสต์ไปยังเครื่องเสมือน ตั้งแต่เวอร์ชัน Hyper-V 2012 R2 มีการเปลี่ยนแปลงหลายอย่างเกี่ยวกับตัวเลือก USB Passthrough แต่ฟังก์ชันนี้ยังด้อยกว่าของคู่แข่ง ในบทความนี้ เราจะพูดถึงเฉพาะของการเปลี่ยนเส้นทาง USB ใน Hyper-V

ภาพรวมของ Hyper-V USB Passthrough

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

ข่าวร้ายก็คือ Hyper-V ไม่รองรับ USB passthrough ที่มีคุณสมบัติครบถ้วน คุณไม่สามารถเปลี่ยนเส้นทางอุปกรณ์ USB ตามอำเภอใจจากโฮสต์จริงไปยังเครื่องเสมือน (VMWare ดีกว่ามากในเรื่องนี้ - ดูบทความ USB passthrough ใน VMWare ESXi) มีตัวเลือกในตัวหลายตัวสำหรับการใช้อุปกรณ์ USB ภายนอกใน Hyper-V VM แต่ทั้งหมดมีข้อจำกัดที่สำคัญ ปัจจุบัน คุณสามารถใช้วิธีต่อไปนี้เพื่อเปลี่ยนเส้นทางอุปกรณ์ USB ไปยังเครื่องเสมือน Hyper-V

  • การเปลี่ยนเส้นทางไดรฟ์ USB จากโฮสต์ Hyper-V

  • โหมดเซสชันที่ได้รับการปรับปรุงบนคอนโซล Hyper-V;

  • การเปลี่ยนเส้นทาง USB ผ่าน RDP;

  • การใช้โซลูชันซอฟต์แวร์/ฮาร์ดแวร์สำหรับการเปลี่ยนเส้นทาง USB ผ่านเครือข่าย (USB over IP)

สถานการณ์สุดท้ายเกี่ยวข้องกับการใช้โซลูชันของบุคคลที่สามเพื่อใช้งาน USB ผ่าน IP สามารถเป็นฮับ USB ของเครือข่าย ซึ่งเป็นโซลูชันซอฟต์แวร์สำหรับเปลี่ยนเส้นทางอุปกรณ์ USB ผ่านเครือข่าย TCP/IP จากเซิร์ฟเวอร์อื่น โซลูชันเชิงพาณิชย์ยอดนิยมส่วนใหญ่จะได้รับเงิน (AnywhereUSB, DigiUSB) ฟรีรวมถึง VirtualHere USB (ฟรีสำหรับ USB dongle หนึ่งตัวและเซิร์ฟเวอร์เป้าหมายหนึ่งตัว) และโครงการโอเพ่นซอร์สที่ค่อนข้างเก่า

usbip.sourceforge.net

(ส่วนเซิร์ฟเวอร์ใช้งานบน Linux สามารถติดตั้งไคลเอ็นต์บน Windows ได้)

การเข้าถึงฮาร์ดไดรฟ์ USB จากเครื่องเสมือน Hyper-V

คุณสามารถเปลี่ยนเส้นทางไดรฟ์ USB ที่เชื่อมต่อกับโฮสต์ได้โดยตรงภายในเครื่องเสมือน Hyper-V ที่กำลังทำงานอยู่ มาดูวิธีให้เครื่องเสมือน Hyper-V เข้าถึงไดร์ฟ USB ของโฮสต์โดยตรง

หมายเหตุ

  1. คู่มือนี้ใช้ได้กับไดรฟ์ USB ที่ระบบตรวจพบว่าแก้ไขแล้วเท่านั้น คุณไม่สามารถเปลี่ยนเส้นทางไปยัง VM ด้วยแฟลชไดรฟ์ USB, สมาร์ทการ์ด และอุปกรณ์แบบถอดได้อื่นๆ (แม้ว่าจะมีเคล็ดลับเล็กน้อยในการทำให้ Windows มองเห็นอุปกรณ์แบบถอดได้ว่าเป็นฮาร์ดไดรฟ์ถาวร)

  2. สำหรับไดรฟ์เหล่านี้ คุณไม่สามารถสร้างภาพรวม/จุดตรวจสอบได้

  1. เชื่อมต่อไดรฟ์ USB ภายนอกเข้ากับโฮสต์ Hyper-V (อาจเป็นโฮสต์ใดก็ได้ที่ติดตั้ง Windows และบทบาท Hyper-V หรือเซิร์ฟเวอร์ Microsoft Hyper-V ฟรี) ไดรฟ์จะปรากฏในระบบและจะมีการกำหนดอักษรระบุไดรฟ์ (หากยังไม่ได้กำหนดอักษรระบุไดรฟ์ ให้ตรวจสอบบทความ)

  2. เปิด การจัดการดิสก์ (

    diskmgmt.msc

    ) ที่คอนโซล คลิกขวาที่ไดรฟ์ (ในตัวอย่างของเรา ID ของไดรฟ์ USB ขนาด 20 GB คือดิสก์ 1) และเลือก ออฟไลน์

    หากคุณใช้ Windows Server Core หรือ Hyper-V Server ซึ่งไม่มีสแน็ปอิน mmc แบบกราฟิกบางส่วน คุณสามารถจัดการดิสก์ในเครื่องของคุณโดยใช้โมดูล Disk Management PowerShell คำสั่งต่อไปนี้สามารถแสดงรายการฟิสิคัลดิสก์บนโฮสต์และทำให้ดิสก์ที่ระบุออฟไลน์:

    Get-Disk
    Get-Disk -Number 1 |Set-Disk -IsOffline:$true 

  3. เรียกใช้ Hyper-V Manager และเปิดคุณสมบัติของเครื่องเสมือนซึ่งจำเป็นต้องเชื่อมต่อไดรฟ์ USB ในส่วน ตัวควบคุม SCSI ให้เพิ่มดิสก์ใหม่ โดยระบุว่าเป็นดิสก์จริง (ฮาร์ดดิสก์จริง) ในเมนูแบบเลื่อนลง เลือกไดรฟ์ USB ของคุณ (จะมีลักษณะดังนี้: Disk 1 20.00 Gb Bus 0 Lun 0 Target 1)

    หมายเหตุ คุณไม่จำเป็นต้องปิดเครื่องเสมือนเพื่อเพิ่มฮาร์ดไดรฟ์ SCSI สำหรับอุปกรณ์ SCSI รองรับไดรฟ์ hot-add และ hot-remove

  4. ตอนนี้เราจะแสดงวิธีเข้าถึงดิสก์ USB บนโฮสต์ Hyper-V จากระบบปฏิบัติการเกสต์ของเครื่องเสมือนที่ใช้ Windows เปิดคอนโซลเครื่องเสมือนหรือเชื่อมต่อผ่าน RDP เข้าสู่ระบบเกสต์ OS เรียกใช้ตัวจัดการดิสก์ ระบบปฏิบัติการควรเห็นไดรฟ์ใหม่ หากอยู่ในสถานะออฟไลน์ ให้คลิกขวาและเลือก ออนไลน์ ในขณะนี้ ไม่มีการกำหนดอักษรชื่อไดรฟ์หรือจุดต่อเชื่อมให้กับพาร์ติชันบนดิสก์ USB ในการแก้ไขปัญหานี้ ให้คลิกขวาที่พาร์ติชันบนดิสก์แล้วเลือก “เปลี่ยนอักษรและเส้นทางของไดรฟ์ ” จากเมนูบริบท กำหนดอักษรระบุไดรฟ์ว่างให้กับพาร์ติชันหรือระบุจุดต่อเชื่อม

นั่นคือทั้งหมด! คุณได้เชื่อมต่อสื่อ USB ภายนอกโดยตรงเข้ากับเครื่องเสมือน Hyper-V และตอนนี้สามารถใช้งานได้แล้ว

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

หากต้องการถอดไดรฟ์ USB อย่างปลอดภัย คุณสามารถเปิดคอนโซล Hyper-V Manager และไปที่หน้าต่างการตั้งค่าเครื่องเสมือน ในส่วน ตัวควบคุม SCSI เลือกฮาร์ดไดรฟ์ที่คุณต้องการนำออกแล้วคลิก นำออก บันทึกการเปลี่ยนแปลงของคุณ หลังจากนั้น คุณสามารถถอดฮาร์ดไดรฟ์ออกจากพอร์ต USB ของโฮสต์ Hyper-V ได้

เปลี่ยนเส้นทางอุปกรณ์ USB ไปยัง VM ด้วย Hyper-V Enhanced Session Mode

ในเวอร์ชันของ Hyper-V ที่เปิดตัวใน Windows Server 2012 R2/8.1 อุปกรณ์ USB ใดๆ สามารถส่งต่อไปยังเครื่องเสมือนจากคอมพิวเตอร์ไคลเอนต์โดยใช้ โหมดเซสชันขั้นสูง (ESM) เครื่องมือ Hyper-V Manager vmconnect.exe ใช้เพื่อเชื่อมต่อ ช่วยให้คุณเชื่อมต่อกับคอนโซลเครื่องเสมือนและเลือกอุปกรณ์ USB ที่คุณต้องการเปลี่ยนเส้นทาง

ก่อนอื่นคุณต้องเปิดใช้งานโหมดเซสชันขั้นสูงในการตั้งค่าเซิร์ฟเวอร์ Hyper-V สามารถทำได้โดยใช้ PowerShell:

Set-VMHost -EnableEnhancedSessionMode $true

หรือในการตั้งค่า Hyper-V -> โหมดเซสชันขั้นสูง

เริ่มบริการการจัดการเครื่องเสมือน Hyper-V ใหม่:

Get-Service vmms | Restart-Service

ในส่วน Integration Services ของการตั้งค่า VM คุณต้องเปิดใช้งานตัวเลือก Guest Services

ในการเปลี่ยนเส้นทางอุปกรณ์ USB ผ่านโหมดเซสชันขั้นสูง คุณต้องเปิดคอนโซล Hyper-V เลือกเครื่องเสมือน และคลิกปุ่ม เชื่อมต่อ หรือคุณสามารถเรียกใช้

vmconnect.exe

เครื่องมือ (การเชื่อมต่อเครื่องเสมือน) ระบุเซิร์ฟเวอร์ Hyper-V และชื่อเครื่องเสมือน เครื่องมือ vmconnect รองรับตัวเลือกบรรทัดคำสั่งบางอย่าง ดังนั้นคุณจึงสามารถให้ไฟล์ bat แบบกำหนดเองพร้อมตัวเลือกที่คุณต้องการแก่ผู้ใช้

หาก VM รองรับโหมดเซสชันขั้นสูง หน้าต่างที่คล้ายกับคุณสมบัติการเชื่อมต่อ RDP จะปรากฏขึ้น คลิก แสดงตัวเลือก -> ทรัพยากรในเครื่อง -> อุปกรณ์และทรัพยากรในเครื่อง -> เพิ่มเติม

เลือกอุปกรณ์ USB บนคอมพิวเตอร์ของคุณเพื่อเปลี่ยนเส้นทางไปยัง VM หากอุปกรณ์ที่คุณต้องการไม่ได้เชื่อมต่ออยู่ ให้เลือก “อุปกรณ์ Plug and Play (PnP) อื่นๆ ที่รองรับ” และ “ตัวเลือกอุปกรณ์ที่ฉันเสียบในภายหลัง”

ตอนนี้อุปกรณ์ USB ทั้งหมดที่เชื่อมต่อกับคอมพิวเตอร์ของคุณจะพร้อมใช้งานโดยอัตโนมัติในเซสชันคอนโซลของเครื่องเสมือน Hyper-V

คุณสมบัติหลักและข้อจำกัดของโหมดเซสชันขั้นสูงของ Hyper-V:

  • เฉพาะ Windows เท่านั้นที่รองรับในฐานะระบบปฏิบัติการเกสต์ (เริ่มจาก Windows 8.1/Windows Server 2012 R2)

  • คุณไม่จำเป็นต้องเข้าถึงเครือข่ายโดยตรงไปยังเครื่องเสมือน การเชื่อมต่อทั้งหมดทำผ่านโฮสต์ Hyper-V (คุณเชื่อมต่อผ่านเครือข่ายผ่านพอร์ต TCP 2179) และ Hyper-V เชื่อมต่อกับ VM ผ่าน VMBus

  • ต้องติดตั้ง Hyper-V Manager บนคอมพิวเตอร์ของลูกค้า

วิธีนี้คล้ายกับการเปลี่ยนเส้นทางอุปกรณ์ USB จากโลคัลโฮสต์ผ่านเซสชัน RDP เราจะไม่พิจารณารายละเอียดมากกว่านี้

หากคุณกำลังเปลี่ยนเส้นทางอุปกรณ์ USB ผ่านเครือข่าย (USB ผ่าน IP หรือผ่านเซสชัน RDP) คุณยังคงสามารถเข้าถึงคีย์ USB ได้แม้ว่าจะย้ายเครื่องเสมือนไปยังโฮสต์อื่นแล้ว (Hyper-V Live Migration/vMotion)

บทความที่เกี่ยวข้อง