अपने VMWare ESXi होस्ट पर, आप वर्चुअल मशीन के अंदर संलग्न स्थानीय USB डिवाइस/फ्लैश ड्राइव/डिस्क को पुनर्निर्देशित कर सकते हैं। इस तकनीक को USB पासथ्रू . कहा जाता है और ESXi 4.1 से शुरू होकर उपलब्ध है।
मान लीजिए, हमारा कार्य एक बाहरी USB 3.0 ड्राइव को स्थानीय रूप से ESXi 6.7 होस्ट से वर्चुअल मशीन में पुनर्निर्देशित करना है। हमें VM से सीधे डेटा को एक अलग USB ड्राइव में त्वरित रूप से कॉपी करने के लिए एक ड्राइव तक पहुंचने की आवश्यकता है।
VMWare USB पासथ्रू
पासथ्रू मोड ईएसएक्सआई होस्ट से जुड़े भौतिक उपकरण को सीधे वर्चुअल मशीन के अतिथि ओएस पर पुनर्निर्देशित करने की अनुमति देता है। पासथ्रू मोड में आप वर्चुअल मशीन को यूएसबी ड्राइव, मॉडेम या पीसीआई/यूएसबी कंट्रोलर तक सीधे पहुंच प्रदान कर सकते हैं।
ESXi में USB डिवाइस को रीडायरेक्ट करने के लिए, आपको कुछ मुख्य घटकों की आवश्यकता होगी:
- मध्यस्थ एक ESXi होस्ट पर एक अलग सेवा है जो कनेक्टेड भौतिक USB उपकरणों को स्कैन करती है, एक होस्ट और एक VM के बीच USB डिवाइस ट्रैफ़िक को रूट करती है, और एक डिवाइस तक पहुंच को नियंत्रित करती है (केवल एक VM एक कनेक्टेड USB डिवाइस का उपयोग कर सकता है)। एक USB मध्यस्थ एक साथ अधिकतम 15 USB नियंत्रकों को ट्रैक कर सकता है।
- USB नियंत्रक — एक USB नियंत्रक को भौतिक होस्ट और वर्चुअल मशीन दोनों पर स्थापित किया जाना चाहिए।
VMWare ESXi पर VM के लिए USB नियंत्रक स्थापित करने के लिए, VM सेटिंग खोलें और एक नया उपकरण जोड़ें - एक USB नियंत्रक . USB नियंत्रक जोड़ते समय, उसके प्रकार का चयन करें:
- USB 2.0 (EHCI+UHCI) - USB 2.0 और USB 1.1 उपकरणों का समर्थन करने वाला नियंत्रक;
- USB 3.0 (xHCI) - तेज़ USB 3.0 उपकरणों का समर्थन करता है, इसके लिए वर्चुअल हार्डवेयर संस्करण 8 या उच्चतर की आवश्यकता होती है।
एक यूएसबी डिवाइस को ESXi VM में पास करें
नेटिव यूएसबी पासथ्रू मोड में, आप एक भौतिक यूएसबी डिवाइस को होस्ट से वीएमवेयर वर्चुअल मशीन से कनेक्ट कर सकते हैं।
इस पुनर्निर्देशन विधि की मुख्य आवश्यकताएं और प्रतिबंध:
- वर्चुअल हार्डवेयर 7.0 या नया;
- आप केवल एक वीएम के लिए यूएसबी डिवाइस तक सीधी पहुंच प्रदान कर सकते हैं;
- VM के लिए पुनर्निर्देशित USB उपकरणों की अधिकतम संख्या 20 है;
- संलग्न USB डिवाइस से VM बूट समर्थित नहीं है।
VM के लिए वर्चुअल USB कंट्रोलर जोड़ने के बाद, आप होस्ट से कनेक्टेड USB ड्राइव को रीडायरेक्ट कर सकते हैं:
- नया जोड़ें USB डिवाइस होस्ट करें VM सेटिंग में और जोड़ें; . क्लिक करें
- एक कनेक्टेड USB डिवाइस को जोड़ने के लिए ड्रॉपडाउन सूची से चुनें;
- कनेक्टेड भौतिक USB ड्राइव वाले VM के लिए vMotion समर्थन को सक्षम करने के लिए, डिवाइस कनेक्ट होने पर vMotion का समर्थन करें जांचें विकल्प;
- फिर वर्चुअल मशीन के अतिथि OS में USB ड्राइव दिखाई देगी।
- आप किसी VM को रोक या रोक नहीं सकते। यदि आप मशीन को चालू करते हैं, तो आपको इसे मैन्युअल रूप से उस होस्ट पर माइग्रेट करना होगा जिससे USB डिवाइस कनेक्ट है;
- डीपीएम मोड समर्थित नहीं है, क्योंकि वीसेंटर बिजली बचाने के लिए कनेक्टेड यूएसबी डिवाइस के साथ एक होस्ट को बंद कर सकता है;
- VM के साथ ESXi होस्ट और एक भौतिक USB डिवाइस को TCP पोर्ट 902 पर vmk0 के माध्यम से एक्सेस किया जाना चाहिए।
यदि कोई नया USB उपकरण जोड़ते समय vSphere क्लाइंट एक संदेश दिखाता है कि कोई USB उपकरण नहीं मिला है (कोई उपलब्ध USB उपकरण नहीं ), इसका मतलब है कि VMWare USB पासथ्रू मोड में पुनर्निर्देशित करने के लिए आपके USB ड्राइव का समर्थन नहीं करता है। आप आधिकारिक VMWare वेबसाइट पर संगत USB उपकरणों की सूची पा सकते हैं (सूची लंबी नहीं है)। "ESXi 6.7 में एक ESXi होस्ट से वर्चुअल मशीन के लिए पासथ्रू के लिए परीक्षण किए गए USB डिवाइस की जाँच करें। लेख में अनुभाग https://kb.vmware.com/s/article/1021345.
इस स्थिति में आप ESXi होस्ट से संपूर्ण USB नियंत्रक को VM पर पुनर्निर्देशित कर सकते हैं।
VMware PCI पासथ्रू (VMDirectPath):USB नियंत्रक को VM पर पुनर्निर्देशित करें
वीएम से भौतिक यूएसबी डिवाइस तक पहुंच प्रदान करने के लिए एक और, कम सुविधाजनक तरीका ईएसएक्सआई होस्ट से पूरे यूएसबी नियंत्रक को रीडायरेक्ट करना है। इस मोड को VMDirectPath . कहा जाता है . इसका उपयोग करने के लिए, आपके सर्वर चिपसेट को Intel Directed I/O . का समर्थन करना चाहिए या AMD I/O वर्चुअलाइजेशन टेक्नोलॉजी (AMD IOMMU) , और यह मोड BIOS/UEFI सेटिंग्स में सक्षम है।
यदि सर्वर पर केवल एक यूएसबी नियंत्रक स्थापित है और आप इसे वीएम पर रीडायरेक्ट करते हैं, तो आप स्थानीय रूप से अपने होस्ट से जुड़े यूएसबी डिवाइस (कीबोर्ड, माउस) का उपयोग नहीं कर पाएंगे। इस मामले में, सर्वर में एक अतिरिक्त पीसीआई यूएसबी नियंत्रक जोड़ना बेहतर है।
यदि किसी होस्ट के पास एकाधिक USB नियंत्रक हैं, तो आप ESXi शेल के माध्यम से कनेक्टेड USB डिवाइस और नियंत्रक संख्या की पहचान कर सकते हैं। USB उपकरणों की सूची प्रदर्शित करने के लिए:
# lsusb -v | grep -e Bus -e iSerial
आउटपुट में USB ड्राइव से संबंधित लाइन ढूंढें। उदाहरण के लिए:
Bus 002 Device 003: ID 0280:a00c Toshiba America Info. Systems, Inc.
फिर नियंत्रक संख्या (Bus02 .) द्वारा रूट हब और उसके iSerial की पहचान करें , इस मामले में):
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 3.0 root hub iSerial 1 0000:00:1D.0यदि आपको अपना USB ड्राइव नहीं दिखाई देता है, तो इसे भौतिक रूप से डिस्कनेक्ट करने का प्रयास करें और इसे फिर से कनेक्ट करें। देखें
vmkernel.log
यह जानने के लिए कि क्या USB मध्यस्थ ने आपकी ड्राइव का पता लगाया है:
tail -f /var/log/vmkernel.log | grep -i USB
cpu0:33271)<6>usb 4-2: new SuperSpeed USB device number 5 using xhci_hcd cpu0:33271)<6>usb 4-2: New USB device found, idVendor=0480, idProduct=b207 cpu0:33271)<6>usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 cpu0:33271)<6>usb 4-2: Product: External USB 3.0 cpu0:33271)<6>usb 4-2: Manufacturer: TOSHIBA cpu0:33271)<6>usb 4-2: SerialNumber: 20180528012427F cpu0:33271)<6>usb 4-2: Vendor: 0x0480, Product: 0xb207, Revision: 0x0315 cpu0:33271)<6>usb 4-2: Interface Subclass: 0x06, Protocol: 0x50 cpu0:33271)WARNING: LinScsiLLD: scsi_add_host:573: vmkAdapter (usb-storage) sgMaxEntries rounded to 255. Reported size was 65535 cpu0:33271)<6>usb-storage 4-2:1.0: interface is claimed by usb-storage cpu0:33271)<6>usb 4-2: device is not available for passthrough cpu0:33271)<6>usb 4-2: usbfs: registered usb0405 cpu0:33207)<6>usb-storage 4-2:1.0: suspended
यदि आपके ESXi होस्ट द्वारा USB ड्राइव का पता नहीं लगाया गया है, तो सुनिश्चित करें कि usbarbitrator
सेवा चल रही है:
#chkconfig usbarbitrator --list
Usbarbitrator सेवा को केवल तभी बंद करें जब आप फ़ाइलों को कॉपी करने के लिए USB स्टिक को सीधे ESXi शेल से एक्सेस करना चाहते हैं।
तो हमें VM पर पुनर्निर्देशित करने के लिए USB नियंत्रक की संख्या मिल गई है।
- भौतिक USB नियंत्रक को पुनर्निर्देशित करने के लिए, उस ESXi होस्ट का चयन करें जिस पर आपका VM चल रहा है और प्रबंधित करें पर जाएं -> सेटिंग -> पीसीआई उपकरण -> संपादित करें;
- PCI उपकरणों की सूची में आवश्यक USB नियंत्रक को उसकी आईडी से चुनें (मेरे उदाहरण में, यह
00:1D.0
है। , नियंत्रक कोC610/X99 series chipset USB Enhanced Host Controller #1 Intel Corporation
कहा जाता है ); - USB नियंत्रक की स्थिति अनुपलब्ध . से बदलनी चाहिए (यह उपकरण वर्तमान में VMs के उपयोग के लिए उपलब्ध नहीं है ) से उपलब्ध (यह उपकरण VMs के उपयोग के लिए उपलब्ध है ) ओके पर क्लिक करें;
- परिवर्तनों को सहेजने के लिए, अपने ESXi होस्ट को पुनरारंभ करें;
- होस्ट को बूट करने के बाद, अपना VM बंद करें और एक नया उपकरण जोड़ें (नया उपकरण -> पीसीआई डिवाइस -> जोड़ें ) ड्रॉपडाउन सूची में अपना यूएसबी कंट्रोलर चुनें (उदाहरण के लिए,
0000:00:1D| Intel Corporation USB Chipset…
);यदि PCI डिवाइस जोड़ते समय VM सेटिंग्स में निम्न संदेश दिखाई देता है:"Warning: The VM will not power on until its memory reservation equals its memory size
”, अपने VM के लिए कुछ RAM आरक्षित करें। - VM को चालू करें और सुनिश्चित करें कि USB ड्राइव अतिथि OS में दिखाई दे रहा है। मेरे मामले में, कनेक्टेड यूएसबी ड्राइव “तोशिबा बाहरी यूएसबी 3.0 यूएसबी डिवाइस अतिथि Windows Server 2012 R2 में दिखाई दिया है।
VMDirectPath मोड में, आप अधिकतम दो भौतिक PCI उपकरणों को VM पर पुनर्निर्देशित कर सकते हैं।
पुनर्निर्देशित PCI डिवाइस वाले VM पर कुछ प्रतिबंध हैं:आप किसी VM (निलंबित) को रोक नहीं सकते हैं, किसी अन्य होस्ट को vMotion निष्पादित नहीं कर सकते हैं (यह तार्किक है, क्योंकि आप एक भौतिक नियंत्रक से बंधे हैं) या स्नैपशॉट नहीं बना सकते।हाइपर-V भौतिक USB उपकरणों को VM पर पुनर्निर्देशित करने का भी समर्थन करता है।