Computer >> คอมพิวเตอร์ >  >> ระบบ >> Windows Server

USB Device Passthrough (เปลี่ยนเส้นทาง) ไปยัง Hyper-V Virtual Machine

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

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

ผ่าน USB หมายถึงความสามารถในการเปลี่ยนเส้นทางอุปกรณ์ USB จากโฮสต์ไฮเปอร์ไวเซอร์ (หรือผ่านเครือข่ายจากเซิร์ฟเวอร์/อุปกรณ์อื่น) ไปยังเครื่องเสมือน เมื่อใช้ USB passthrough คุณจะเปลี่ยนเส้นทางแท่ง 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 หนึ่งเครื่องและเซิร์ฟเวอร์เป้าหมายหนึ่งเครื่อง) และโครงการโอเพ่นซอร์สที่ค่อนข้างเก่า 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 คือ Disk 1) และเลือก ออฟไลน์ . USB Device Passthrough (เปลี่ยนเส้นทาง) ไปยัง Hyper-V Virtual Machine หากคุณใช้ Windows Server Core หรือ Hyper-V Server ซึ่งไม่มี mmc แบบกราฟิกบางส่วน snap-ins คุณสามารถจัดการดิสก์ในเครื่องของคุณโดยใช้โมดูล Disk Management PowerShell คำสั่งต่อไปนี้สามารถแสดงรายการฟิสิคัลดิสก์บนโฮสต์และทำให้ดิสก์ที่ระบุออฟไลน์:
    Get-Disk
    Get-Disk -Number 1 |Set-Disk -IsOffline:$true

    USB Device Passthrough (เปลี่ยนเส้นทาง) ไปยัง Hyper-V Virtual Machine
  3. เรียกใช้ Hyper-V Manager และเปิดคุณสมบัติของเครื่องเสมือน ซึ่งจำเป็นต้องเชื่อมต่อไดรฟ์ USB ใน ตัวควบคุม SCSI ส่วน เพิ่มดิสก์ใหม่ ระบุว่าเป็นฟิสิคัล (ฮาร์ดดิสก์จริง ). ในเมนูแบบเลื่อนลง ให้เลือกไดรฟ์ USB ของคุณ (จะมีลักษณะดังนี้:Disk 1 20.00 Gb Bus 0 Lun 0 Target 1 ). หมายเหตุ . คุณไม่จำเป็นต้องปิดเครื่องเสมือนเพื่อเพิ่มฮาร์ดไดรฟ์ SCSI สำหรับอุปกรณ์ SCSI รองรับไดรฟ์ hot-add และ hot-remove USB Device Passthrough (เปลี่ยนเส้นทาง) ไปยัง Hyper-V Virtual Machine
  4. ตอนนี้เราจะแสดงวิธีเข้าถึงดิสก์ USB บนโฮสต์ Hyper-V จาก guest OS ของเครื่องเสมือนที่ใช้ Windows เปิดคอนโซลเครื่องเสมือนหรือเชื่อมต่อผ่าน RDP เข้าสู่ระบบระบบปฏิบัติการแขก เรียกใช้ตัวจัดการดิสก์ ระบบปฏิบัติการควรเห็นไดรฟ์ใหม่ หากออฟไลน์อยู่ ให้คลิกขวาและเลือก ออนไลน์ . ในขณะนี้ ยังไม่มีการกำหนดอักษรชื่อไดรฟ์หรือจุดเชื่อมต่อให้กับพาร์ติชั่นบนดิสก์ USB ในการแก้ไขปัญหานี้ ให้คลิกขวาที่พาร์ติชั่นบนดิสก์และเลือก “เปลี่ยนอักษรระบุไดรฟ์และเส้นทาง ” จากเมนูบริบท กำหนดอักษรระบุไดรฟ์ฟรีให้กับพาร์ติชันหรือระบุจุดต่อเชื่อม USB Device Passthrough (เปลี่ยนเส้นทาง) ไปยัง Hyper-V Virtual Machine

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

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

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

เปลี่ยนเส้นทางอุปกรณ์ USB ไปยัง VM ด้วยโหมดเซสชันที่ปรับปรุง Hyper-V

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

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

Set-VMHost -EnableEnhancedSessionMode $true

หรือในการตั้งค่า Hyper-V -> Enhanced Session Mode

USB Device Passthrough (เปลี่ยนเส้นทาง) ไปยัง Hyper-V Virtual Machine

เริ่มบริการ Hyper-V Virtual Machine Management:
Get-Service vmms | Restart-Service

ใน บริการบูรณาการ ของการตั้งค่า VM คุณต้องเปิดใช้งาน บริการแขก ตัวเลือก

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

USB Device Passthrough (เปลี่ยนเส้นทาง) ไปยัง Hyper-V Virtual Machine

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

USB Device Passthrough (เปลี่ยนเส้นทาง) ไปยัง Hyper-V Virtual Machine

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

USB Device Passthrough (เปลี่ยนเส้นทาง) ไปยัง Hyper-V Virtual Machine

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

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

  • เฉพาะ Windows เท่านั้นที่ได้รับการสนับสนุนในฐานะแขก OS (เริ่มจาก Windows 8.1 / Windows Server 2012 R2)
  • คุณไม่จำเป็นต้องเข้าถึงเครือข่ายโดยตรงไปยังเครื่องเสมือน การเชื่อมต่อทั้งหมดทำผ่านโฮสต์ Hyper-V (คุณเชื่อมต่อผ่านเครือข่ายผ่านพอร์ต TCP 2179) และ Hyper-V จะเชื่อมต่อกับ VM ผ่าน VMBus
  • ต้องติดตั้ง Hyper-V Manager บนคอมพิวเตอร์ไคลเอนต์

วิธีนี้คล้ายกับการเปลี่ยนเส้นทางอุปกรณ์ USB จากโฮสต์ในพื้นที่ผ่านเซสชัน RDP เราจะไม่พิจารณาเรื่องนี้ในรายละเอียดเพิ่มเติม USB Device Passthrough (เปลี่ยนเส้นทาง) ไปยัง Hyper-V Virtual Machine

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