আপনার VMWare ESXi হোস্টে, আপনি ভার্চুয়াল মেশিনের ভিতরে একটি সংযুক্ত স্থানীয় USB ডিভাইস/ফ্ল্যাশ ড্রাইভ/ডিস্ক পুনর্নির্দেশ করতে পারেন। এই প্রযুক্তিকে বলা হয় USB পাসথ্রু এবং ESXi 4.1 থেকে শুরু করে উপলব্ধ।
ধরুন, আমাদের কাজ হল ESXi 6.7 হোস্টের সাথে স্থানীয়ভাবে সংযুক্ত একটি বহিরাগত USB 3.0 ড্রাইভকে একটি ভার্চুয়াল মেশিনে পুনঃনির্দেশ করা। ভিএম থেকে সরাসরি আলাদা ইউএসবি ড্রাইভে ডাটা কপি করার জন্য আমাদের একটি ড্রাইভ অ্যাক্সেস করতে হবে।
VMWare USB পাসথ্রু
পাসথ্রু মোড একটি ESXi হোস্টের সাথে সংযুক্ত একটি ফিজিক্যাল ডিভাইসকে সরাসরি একটি ভার্চুয়াল মেশিনের গেস্ট OS-এ রিডাইরেক্ট করতে দেয়। পাসথ্রু মোডে আপনি একটি ভার্চুয়াল মেশিনকে একটি USB ড্রাইভ, একটি মডেম বা একটি PCI/USB কন্ট্রোলারে সরাসরি অ্যাক্সেস প্রদান করতে পারেন৷
ESXi-এ একটি USB ডিভাইস পুনঃনির্দেশ করতে, আপনার কিছু প্রধান উপাদানের প্রয়োজন হবে:
- সালিশকারী একটি ESXi হোস্টে একটি পৃথক পরিষেবা যা সংযুক্ত শারীরিক USB ডিভাইসগুলিকে স্ক্যান করে, একটি হোস্ট এবং একটি VM এর মধ্যে USB ডিভাইসের ট্র্যাফিককে রুট করে এবং একটি ডিভাইসে অ্যাক্সেস নিয়ন্ত্রণ করে (শুধুমাত্র একটি VM একটি সংযুক্ত USB ডিভাইস ব্যবহার করতে পারে)৷ একটি ইউএসবি আরবিট্রেটর একসাথে 15টি ইউএসবি কন্ট্রোলার ট্র্যাক করতে পারে৷
- 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 বা উচ্চতর প্রয়োজন৷
একটি USB ডিভাইসের মাধ্যমে ESXi VM এ পাস করুন
নেটিভ ইউএসবি পাসথ্রু মোডে, আপনি হোস্ট থেকে একটি VMWare ভার্চুয়াল মেশিনে একটি ফিজিক্যাল USB ডিভাইস সংযোগ করতে পারেন৷
এই পুনঃনির্দেশ পদ্ধতির প্রধান প্রয়োজনীয়তা এবং সীমাবদ্ধতা:
- ভার্চুয়াল হার্ডওয়্যার 7.0 বা নতুন;
- আপনি শুধুমাত্র একটি VM-এর জন্য একটি USB ডিভাইসে সরাসরি অ্যাক্সেস প্রদান করতে পারেন;
- একটি VM-এর জন্য পুনঃনির্দেশিত USB ডিভাইসের সর্বাধিক সংখ্যা হল 20;
- সংযুক্ত USB ডিভাইস থেকে একটি VM বুট সমর্থিত নয়৷ ৷
একটি VM-এর জন্য একটি ভার্চুয়াল USB কন্ট্রোলার যোগ করার পরে, আপনি হোস্টের সাথে সংযুক্ত একটি USB ড্রাইভ পুনঃনির্দেশ করতে পারেন:
- একটি নতুন হোস্ট USB ডিভাইস যোগ করুন VM সেটিংসে এবং যোগ করুন; ক্লিক করুন
- এটি যোগ করতে একটি ড্রপডাউন তালিকা থেকে একটি সংযুক্ত USB ডিভাইস নির্বাচন করুন;
- সংযুক্ত ফিজিক্যাল USB ড্রাইভ সহ একটি VM-এর জন্য vMotion সমর্থন সক্ষম করতে, ডিভাইস সংযুক্ত থাকাকালীন সমর্থন vMotion চেক করুন বিকল্প;
- তারপর USB ড্রাইভ ভার্চুয়াল মেশিনের গেস্ট OS-এ উপস্থিত হবে।
- আপনি একটি VM থামাতে বা পজ করতে পারবেন না। আপনি যদি মেশিনটি চালু করেন, তাহলে আপনাকে অবশ্যই ইউএসবি ডিভাইসটি সংযুক্ত হোস্টে ম্যানুয়ালি স্থানান্তর করতে হবে;
- DPM মোড সমর্থিত নয়, যেহেতু vCenter শক্তি সঞ্চয় করতে সংযুক্ত USB ডিভাইসের সাথে একটি হোস্ট বন্ধ করতে পারে;
- VM সহ ESXi হোস্ট এবং একটি ফিজিক্যাল USB ডিভাইস টিসিপি পোর্ট 902 এর মাধ্যমে vmk0 এর মাধ্যমে অ্যাক্সেসযোগ্য হতে হবে।
যদি একটি নতুন USB ডিভাইস যোগ করার সময় একটি vSphere ক্লায়েন্ট একটি বার্তা দেখায় যে কোনো USB ডিভাইস পাওয়া যায়নি (কোনও উপলব্ধ USB ডিভাইস ), এর মানে হল যে USB পাসথ্রু মোডে রিডাইরেক্ট করার জন্য VMWare আপনার USB ড্রাইভকে সমর্থন করে না। আপনি অফিসিয়াল VMWare ওয়েবসাইটে সামঞ্জস্যপূর্ণ USB ডিভাইসের তালিকা খুঁজে পেতে পারেন (তালিকাটি দীর্ঘ নয়)। “ESXi 6.7-এ একটি ESXi হোস্ট থেকে একটি ভার্চুয়াল মেশিনে পাসথ্রু করার জন্য পরীক্ষা করা USB ডিভাইসগুলি দেখুন ” নিবন্ধে বিভাগ https://kb.vmware.com/s/article/1021345।
এই ক্ষেত্রে আপনি ESXi হোস্ট থেকে পুরো USB কন্ট্রোলারটিকে একটি VM-এ রিডাইরেক্ট করতে পারেন৷
VMware PCI পাসথ্রু (VMDirectPath):একটি USB কন্ট্রোলারকে একটি VM এ পুনঃনির্দেশ করুন
VM থেকে একটি ফিজিক্যাল USB ডিভাইসে অ্যাক্সেস প্রদানের আরেকটি কম সুবিধাজনক পদ্ধতি হল ESXi হোস্ট থেকে পুরো USB কন্ট্রোলারকে পুনঃনির্দেশ করা। এই মোডটিকে VMDirectPath বলা হয় . এটি ব্যবহার করতে, আপনার সার্ভার চিপসেট অবশ্যই Intel Directed I/O সমর্থন করবে অথবা AMD I/O ভার্চুয়ালাইজেশন প্রযুক্তি (AMD IOMMU) , এবং এই মোডটি BIOS/UEFI সেটিংসে সক্রিয় করা হয়েছে৷
৷যদি একটি সার্ভারে শুধুমাত্র একটি USB কন্ট্রোলার ইনস্টল করা থাকে এবং আপনি এটি একটি VM-এ পুনঃনির্দেশ করেন, তাহলে আপনি স্থানীয়ভাবে (কীবোর্ড, মাউস) আপনার হোস্টের সাথে সংযুক্ত USB ডিভাইসগুলি ব্যবহার করতে পারবেন না। এই ক্ষেত্রে, সার্ভারে একটি অতিরিক্ত PCI USB কন্ট্রোলার যোগ করা ভাল।
একটি হোস্টের একাধিক 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
দেখুন ইউএসবি আরবিট্রেটর আপনার ড্রাইভ সনাক্ত করেছে কিনা তা জানতে:
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
আপনি যদি ফাইল কপি করতে ESXi শেল থেকে সরাসরি USB স্টিক অ্যাক্সেস করতে চান তবেই usbarbitrator পরিষেবা বন্ধ করুন৷
তাই আমরা VM-এ পুনঃনির্দেশিত করার জন্য USB কন্ট্রোলারের নম্বর পেয়েছি।
- একটি ফিজিক্যাল ইউএসবি কন্ট্রোলার রিডাইরেক্ট করতে, আপনার VM চালু আছে এমন ESXi হোস্ট নির্বাচন করুন এবং ম্যানেজ করুন এ যান -> সেটিংস -> PCI ডিভাইস -> সম্পাদনা করুন;
- PCI ডিভাইসের তালিকায় প্রয়োজনীয় USB কন্ট্রোলার আইডি দ্বারা নির্বাচন করুন (আমার উদাহরণে, এটি
00:1D.0
, কন্ট্রোলারকে বলা হয়C610/X99 series chipset USB Enhanced Host Controller #1 Intel Corporation
); - ইউএসবি কন্ট্রোলারের স্থিতি অবশ্যই অনুপলব্ধ থেকে পরিবর্তন করতে হবে (এই ডিভাইসটি বর্তমানে VM ব্যবহার করার জন্য উপলব্ধ নয়৷ ) থেকে উপলব্ধ (এই ডিভাইসটি ভিএম ব্যবহারের জন্য উপলব্ধ ) ঠিক আছে ক্লিক করুন;
- পরিবর্তনগুলি সংরক্ষণ করতে, আপনার ESXi হোস্ট পুনরায় চালু করুন;
- হোস্ট বুট করার পরে, আপনার VM বন্ধ করুন এবং একটি নতুন ডিভাইস যোগ করুন (নতুন ডিভাইস -> PCI ডিভাইস -> যোগ করুন ) ড্রপডাউন তালিকা থেকে আপনার USB কন্ট্রোলার নির্বাচন করুন (উদাহরণস্বরূপ,
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 রিজার্ভ করুন। - ভিএম চালু করুন এবং নিশ্চিত করুন যে গেস্ট ওএস-এ USB ড্রাইভ উপস্থিত হয়েছে। আমার ক্ষেত্রে, সংযুক্ত USB ড্রাইভ “Toshiba External USB 3.0 USB Device ” গেস্ট উইন্ডোজ সার্ভার 2012 R2 এ হাজির হয়েছে।
VMDirectPath মোডে, আপনি একটি VM-এ দুটি পর্যন্ত শারীরিক PCI ডিভাইস রিডাইরেক্ট করতে পারেন।
একটি পুনঃনির্দেশিত PCI ডিভাইসের সাথে একটি VM-এ কিছু বিধিনিষেধ রয়েছে:আপনি একটি VM (সাসপেন্ড) করতে পারবেন না, অন্য হোস্টে vMotion সঞ্চালন করতে পারবেন না (এটি যৌক্তিক, যেহেতু আপনি একটি শারীরিক কন্ট্রোলারের সাথে আবদ্ধ) বা স্ন্যাপশট তৈরি করতে পারেন৷হাইপার-ভি ভৌত ইউএসবি ডিভাইসের ভিএম-এ পুনঃনির্দেশ সমর্থন করে।