كيفية استخدام أجهزة USB مع ماشينة افتراضية VMware vSphere

و المرادة الرئيسية للمتصل الافتراضي هي توائم جهازات الأجهزة التي يستخدمها المجالات الافتراضية على المستوى البرمجي. تم إنشاء جهازات مثل المحركات الافتراضية، الأقراص، الDVD-ROM، و بطاقات الفيديو، و بطاقات الشبكة، و أجهزة الإدخال و ما إلى ذلك، في جهاز المجال الافتراضي. لكن ماذا لو أردت ربط ما بين ماكينة المساعدة، المسح الافتراضي، متصل قرص الUSB، و قرص الصلب الUSB، و قارئ بطاقة المستخدم الذي يوجد في الUSB، و قواميس الأمن، و مفاتيح رخصة الUSB، و الأخرى؟

لجهازات الأخار الموجودة بمقابلة الUSB، يمكنك ربطها إلى جهاز المجال الافتراضي الذي يجري على VMware Workstation أو مضيف ESXi باستخدام ميزة المرور الى الUSB. سيتم تغطية هذه الميزة في VMware vSphere على مضافات ESXi، بما في ذلك المتطلبات و الخطوات لربط جهازات الUSB.

ما هو USB Pass-through?

ميزة مرور الUSB الافتراضية في VMware هي ميزة تسمح لك بربط جهاز أجهزة حقيقي موجود على مقبلة USB في مضيف الESXi الحقيقي إلى جهاز المجال الافتراضي كما لو أن الجهاز الحقيقي مُربوط إلى المجال الافتراضي مباشرة. يتم متاحة ميزة المرور الى الUSB منذ ESXi 4.1.

أسباب استخدام المرور المباشر لجهاز USB من مضيف ال ESXi إلى نظام تشغيل ضيف للماكينة الافتراضية تختلف. على سبيل المثال، إذا كان لديك ماسح أو ماكينة مضاعفة أقدم ولا يوجد لها مادات تقنية لأخطأ أصدقاء لنظم تشغيل Windows أحد الأصدقاء الأحدث. يمكنك تثبيت النسخة الأقدم من Windows التي تدعم الجهاز الUSB وتوصيل هذا الجهاز إلى الماكينة الافتراضية. إستخدام هذه الميزة بشكل عملي آخر هو عندما تحتاج إلى نسخ الملفات من أو إلى أقراص USB الجهاز الحقيقي من أو إلى الماكينة الافتراضية بسرعة عالية. قد يحدث أن يتوجب على المستخدمين استخدام برمجيات محمية بمفاتيح تجارية للأجهزة في الماكينات الافتراضية.

كيف تعمل USB Passthrough

هناك ثلاث مكونات رئيسية تتطلب للعملية البسيطة للمرور المباشر للUSB: المحكم، المحرك الUSB، والجهاز الUSB الحقيقي.

المحكم هو خدمة معينة على سيرفر ESXi. المحكم يبحث عن جهازاً حقيقياً من الUSB المرتبط بالسيرفر الحقيقي ومسؤول عن توجيه ترافيك الجهاز الUSB بين المضيف الحقيقي والماكينة الافتراضية. يمكن أن تتمكن من مستخدمة الجهاز الUSB من قبل ماكينة افتراضية واحدة فقط في الوقت واحد. يتم حجب دخول الجهاز الUSB المرتبط بالماكينة الافتراضية للماكينات الافتراضية الأخريات. يدعم المحكم الى 15 محركًاً للUSB (vSphere 7.0). يتم تشغيل الخدمة المعينة المتوفرة بالفعل في

مضخم USB يستخدم على الخادم ESXi المادي هو المضخم الذي يتم إتصاله بمنافذ USB المادية. يعمل مضخم USB المادي مع أجهزة USB المادية الموجودة في منافذ USB المادية على الخادم. يمكن لمضخمات USB أن تكون داخلية (يسمى أيضًا التكامل ويتم تضمينها في شريحة رئيسية) أو خارجية (تنفيذ كبطاقات PCI أو PCIe تتم وضعها في النوادي المناسبة على لوحة رئيسية الخادم). يعمل مضخم USB الداخلي كجسر بين قطار USB وقطار PCIe (أو PCI). يتم إتصال مضخم USB الداخلي ماديًا عبر عدد الخطوط PCIe المناسب إلى مجموعة الشرائح الرئيسية لللوحة.

مضخم USB الافتراضي هو جهاز محاكي يُنشأ خصيصًا للآلة الافتراضية التي تعمل على مشغل أجهزة الافتراضية. يتفاعل مضخم USB الافتراضي مع مضخم USB المادي عندما يمرر جهاز USB المادي من مضيف ESXi المادي إلى نظام الأوشا الضيف في الآلة الافتراضية. يتطلب وجود مضخم USB الافتراضي في تكوين الآلة الافتراضية لاستخدام خاصية USB passthrough في الآلة الافتراضية. يمكن إرتباط أكبر من ثمانية مضخمات USB الافتراضية بالآلة الافتراضية على مضيف ESXi. إذا كان عليك إزالة مضخم USB الافتراضي من تكوين الآلة الافتراضية، فعليك أولاً إزالة جميع أجهزة USB المتصلة بذلك المضخم. يتم تثبيت تعريف USB VMware على نظام تشغيل الضيف بعد إضافة مضخم USB الافتراضي إلى تكوين الآلة الافتراضية.

جهاز USB المادي هو أي جهاز USB يملك واجهة USB ومنفذ USB للاتصال بالكمبيوتر. يمكن إرتباط أكبر من 20 جهاز USB بالآلة الافتراضية أو مضيف ESXi واحد.

معايير USB وأوضاع المضخمات هي:

  • plaintext
    USB 2.0 و USB 1.1 (EHCI+UHCI)
  • USB 3.0 (xHCI) النسخة الجهازية 8 من البرمجيات أو أعلى

بعد إتصال جهاز USB مادي إلى الآلة الافتراضية باستخدام ميزة VMware USB passthrough، قد تحتاج إلى تثبيت تعريفات جهاز USB المتصل في نظام تشغيل الضيوف.

التوقعات لـ USB 3.0

USB 3.0 متوفر لخوادم ESXi من بداية VMware vSphere 5.5 patch 3. هذا يتطلب تعريف USB xHCI في تهيئة الآلة الافتراضية. توقعات نظام التشغيل لاستخدام USB 3.0 passthrough هي: Windows 8.1 أو أعلى، Windows Server 2012 R2 أو أعلى، أو Linux مع نواة Linux 2.6.35 أو أعلى. الأجهزة USB 3.1 تدعم سرعتها الكاملة من بداية VMware vSphere 7.0.

قيود USB Passthrough

هناك بعض القيود التي يجب أن تكون علي علم بها قبل بدء استخدام ميزة USB passthrough:

  • لا يمكن استخدام قرص USB كقرص إقلاع لآلة افتراضية.
  • إذا تم إستخدام قرص USB لـ إقلاع ESXi، لا يمكن ربط هذا القرص USB بآلة افتراضية.
  • تتطلب النسخة الجهازية الافتراضية 7 أو أعلى لآلة افتراضية.

بعض الأجهزة USB قد لا تدعمها VMware:

  • محاور USB
  • أجهزة الصوت والكاميرات التي تستخدم نقل البيانات التعاوني
  • بعض لوحات المفاتيح والفأرات USB (يمكن العثور على تفاصيل أكثر في المقالة 1021345 من VMware)
  • بعض البطاقات الذكية التي تستخدم CCID قد تحتاج إلى تكوين إضافي للاتصال بجهاز وهمي.

vMotion ممكن للماكينات التي تعمل بواسطة الأجهزة USB الموصولة مباشرة. بمجرد إعداد الجهاز الوهمي بشكل صحيح وتمكين vMotion، ستظل الأجهزة USB متصلة بالجهاز الوهمي بعد الهجرة إلى مضيف ESXi آخر.

هناك قيود vMotion للماكينات الوهمية التي تستخدم أقراص USB الموصولة مباشرة:

  • إدارة الطاقة الموزعة (DPM) غير مدعومة لأن مضيف ESXi لا يمكن تعطيله لتوفير الطاقة دون قطع الاتصال بجهاز USB من جهاز وهمي (ستنقطع الجهاز USB إذا تم تعطيل المضيف باستخدام DPM). يجب تعطيل DPM على هذا المضيف.
  • المرونة غير مدعومة.
  • لا يمكن إيقاف الجهاز الوهمي أو إغلاقه (في غير ذلك، ستنقطع الأجهزة USB من الجهاز الوهمي ويمكن إعادة الاتصال بعد تهجير الجهاز الوهمي إلى مضيف ESXi الأصلي الذي يتم وصل الأجهزة USB الىه موقعيا). يجب تهجير الجهاز الوهمي يدويا إلى مضيف ESXi الذي يحتوي على الجهاز USB الموصول عندما تحتاج إلى تشغيل هذا الجهاز الوهمي. يمكن للضيوف Linux التي تم استئنافها تحميل الأجهزة USB في نقاط التحميل المختلفة بعد إعادة الاتصال.
  • يجب أن يكون مضيفي ESXi الذين لديهم أجهزة وهمية مع أجهزة USB الموصولة مباشرة قابلين للوصول عن طريق واجهة نوادي الجهاز الوهمي vmk0 (للشبكة الإدارية) ومنفذ TCP 902.

قم بإيقاف أجهزة USB من جهاز المجاملة الافتراضية قبل استخدام ميزة الإضافة الحارة وإضافة معالجات، ذاكرة أو أجهزة PCI. إلا أنه سيتم إيقاف تلقائيًا أجهزة USB وقد يخسر البعض من البيانات أثناء استخدام ميزة الإضافة الحارة. إذا أيقظت جهاز المجاملة الافتراضية ثم أعدتها ، ستتم إيقاف ومجددة اتصال أجهزة USB بالمجاملة الافتراضية.

حيال إنشاء قرص افتراضي للUSB أو قرص افتراضي للفلاش للاتصال بالجهاز الافتراضي الذي يتجه إلى ESXi أو VMware Workstation، تمامًا كما تلقاء قرص افتراضي الفولي أو قرص افتراضي CD/DVD، هذه الخيارات غير مدعومة حاليًا.

كيفية تواصل أجهزة USB بالمجاملة الافتراضية

وبعد أن أعرفنا عن النظرية، يمكننا الان أن ننتقل إلى الجزء العملي ونرى الإعدادات في VMware vSphere.

  1. أمسك بقرص الفلاش الUSB وضعًا في منصة USB على سerveر ESXi. في حالتي سأضع قرص الفلاش الUSB.
  2. يمكنك من ثم أن ترى إذا كان قام بالاتصال الأجهزة USB بالESXi في واجهة الأوامر الخاصة بESXi:

    lsusb

  3. وكما ترون في الصورة التالية، قرصي الفلاش الآن متصل بالسرور الESXi.

  4. يجب أن يكون خدمة المتوازن الUSB تشتغل. يمكنك أن ترى حالة الخدمة مع الأمر:

    chkconfig usbarbitrator --list

  5. إذا تم إيقاف وسيط الـ USB، يمكنك بدء تشغيله باستخدام الأمر

    /etc/init.d/usbarbitrator start

    ملاحظة: اقرأ المزيد عن ESXiCLI في منشور المدونة.

    توجد الآلة الافتراضية على مضيف ESXi الذي تتم إدارته بواسطة vCenter Server في مثالي. تم تثبيت Windows كنظام تشغيل ضيف على الآلة الافتراضية الخاصة بي. افتح VMware vSphere Client، وانتقل إلى المضيفون والمجموعات. في جزء المستكشف، حدد آلة افتراضية تريد توصيل جهاز USB بها باستخدام ميزة التمرير. يجب أن تكون الآلة الافتراضية مغلقة. يجب عليك تثبيت أدوات VMware على نظام التشغيل الضيف.

  6. حينما تم تحديد الآلة الافتراضية، انقر في Actions > Edit settings.

  7. في نافذة Edit Settings، تأكد من وجود مستقبل أوبيس في إعدادات الآلة الافتراضية. إذا كان مفقودًا، قم بالنقر في Add New Device > USB Controller، ثم اختر نوع مستقبل الأوبيس (USB 2.0 أو USB 3.0).
  8. إذا كان موجودًا، يتوجب عليك إضافة جهاز الUSB المتصل بالمضيف ESXi إلى الآلة الافتراضية الخاصة بك. قم بالنقر في Add New Device > Host USB Device.
  9. يتم إضافة سطر جديد للإعدادات الخاصة بالماكينة الافتراضية. في سطر New USB Host تحدد جهاز الUSB الذي تريد ربطه إلى الماكينة الافتراضية. لدي الآن قناة شغلية أقراص الUSB تربط بجهاز الESXi الافتراضي الحقيقي وأقوم بربط قناة شغلية Verbatim الخاصة بي إلى ماكينتي الافتراضية (منتج Verbatim 0x0302). إذا كان عليك تفعيل دعم الvMotion يجب توسيع New USB Host وتحدد المربع “Support vMotion while device is connected”. تأمل التحتياجات والقيود المتعلقة بvMotion. انقر OK لحفظ الإعدادات وإغلاق تلك النافذة.
  10. بدء ماكينة افتراضية. حتى تتحمل نظام المضيف ثم تنتظر لتنشأ وتثبيت القناة الشغلية الUSB. بعدها ، فتح مدير الأجهزة التقنية لويندوز. قم بالضغط على My Computer ومن قائمة المنوال الفرعية ، قم بالضغط على Manage. في نافذة Computer Management ، قم بالضغط على Device Manager وقم بتوسيع القسم Disk drives (لأنه قمنا بربط قناة شغلية USB ، يجب أن يظهر هذا الجهاز في تلك الفئة الموجودة للأجهزة). يمكننا رؤية جهاز Verbatim الUSB الذي هو اسم قناة الUSB الخاصة بي تربط بالماكينة الافتراضية بواسطة ميزة VMware USB Passthrough.
  11. ar
    افتح إدارة الأقراص في نافذة إدارة الكمبيوتر وتأكد أن القرص الصغير الشحني لديه وحدة قرص معينة. في حالتي، كل شيء صحيح، والآن يمكنني نسخ البيانات من القرص الصغير الشحني إلى القرص الافتراضي للVM في النظام الضيف Windows والعكس بالعكس.

تمرير PCI من VMware

إذا لم يكن الجهاز الشحني الذي تريد الاتصال به إلى VM باستخدام خاصية تمرير USB من VMware يدعمها VMware، يمكنك محاولة استخدام خاصية تمرير PCI وربط مشغل USB الفيزيائي الكامل الذي يملك واجهة PCI إلى VM.

إذا كان لخادمك ESXi وحدة تحكم USB مدرجة في قفص PCI، يمكنك تمرير هذا الجهاز PCI إلى الآلة الافتراضية. يُدعى تمرير PCI من VMware أيضًا VMDirectPass. هذه الطريقة أقل ملاءمة من استخدام تمرير USB، ولكن يمكنها مساعدتك على إنجاز المهمة.

الشروط

يتوجب أن تكون تقنية Intel Directed I/O أو تقنية AMD I/O Virtualization (AMD IOMMU) تدعمها الأجهزة الخادمة وتمكنها في UEFI/BIOS. إذا كان لديك وحدة تحكم USB واحدة فقط على خادمك، يجب عليك ربط وحدة تحكم USB إضافية لتجنب فقدان الاتصال بأجهزة USB تستخدمها الخادم الفيزيائي الأصلي لESXi.

القيود والحدود:

  • لا يمكنك تعليق الآلة الافتراضية.
  • لا يمكن تحريك الآلة الافتراضية إلى مضيفين ESXi أخرين باستخدام vMotion.
  • لا يتم دعم اللقطات الافتراضية للآلة.

لنأخذ منظورًا على دائرة عمل تواصل جهاز USB باستخدام تقاسم PCI وتواصل المعالج الUSB بأكمله حيث يتم تواصل الجهاز USB به.

  1. لتحديد الجهاز الUSB والمعالج الUSB الذي يربط إليه (إذا كانت مع Installed multiple USB controllers on your server) يمكنك استخدام هذا الأمر:

    lsusb -v | grep -e Bus -e iSerial

  2. إيجاد السطر مع اسم جهازك الUSB المربوط إلي المعالج الUSB وتحديد معرفة الجهاز المسؤول (مثلاً bus002).
  3. يمكنك مراقبة سجل الVMkernel عندما توصل جهاز USB إلى 服务器 ESXi:

    tail -f /var/log/vmkernel.log | grep -i USB

  4. افتح VMware vSphere Client وذهب إلى Hosts and Clusters.
  5. إختار المضيف الESXi الذي يقطن فيه (الجهاز الافتراضي الذي يحتاج لتوصل جهاز USB).
  6. اذهب إلى اللوحة Configure واختار PCI Devices في القسم Hardware.
  7. إبحث واختار المعالج الUSB المطلوب من قائمة الأجهزة PCI باستخدام المعرفة التي detected من قبل.
  8. سيتغير حالة مُعَرِض المُقَدّم المُخْتَلِفة إلى Available.
  9. اضغط OK لحفظ الإعدادات.
  10. أعد مضيف الESXi لتأتي فعالية التغييرات.
  11. تأكد من أن جهازك الافتراضي مغلق. اذهب إلى إعدادات المجال الافتراضي، وانقر في إضافة جهاز جديد > جهاز PCI > إضافة. اختر معالج الUSB الخاص بك من قائمة المنتجات باسم المعرفي الصحيح.
  12. اعد جهازك الافتراضي. أتفقد جهازاً في نظام المستخدم الجاهز. إذا كان يحتوي نظام Windows على جهازك الافتراضي، فافتح مدير الجهازات وأتفقد القرارات والأجهزة التخزينية.

اتصال بطاقة الUSB الذكية

بعض جهازات الUSB التي تمتلك فئة CCID مناسبة قد لا تستدعي دائمًا دعم اتصال بالأعداد الافتراضية. تظهر رسالة الخطأ “لا يمكن الاتصال ب ‘path:0/1/6/1’ إلى هذا الجهاز الافتراضي. لم يتم إيجاد هذا الجهاز”. يمكنك رؤية رسالة في السجلات:

(vmx-vcpu-0) لم يتم استعمال وسيط 0 قبل الاستخدام

PCSCD هو جهاز الدعم الخاص بESXi الذي يسيطر على قارئات البطاقات الذكية. يتم تعطيل معالجة دخول بطاقات الUSB الذكية للأعداد الافتراضية لتجنب الصراعات، لأن ماستخدم مضيف ESXi يتطلب بطاقة ذكية. ونتيجةً لذلك، لا يمكن استخدام التوصيل المستقبلي للUSB مع إعدادات التوصيل الافتراضي الإفتراضية الإفتراضية. يتوجب عدة تحرير تعيينات جهاز المضيف ESXi لتمكين التوصيل المستقبلي للUSB لبطاقات الUSB الذكية.

  1. اتوقف جهازك الافتراضي. افتح إعدادات المجال الافتراضي، اختر شريحة
  2. في نافذة المparameters الاعدادي, انقر على إضافة مparameters اعدادي.

    أو بمجرد تواصلك بواجهة الأمر باستخدام متصل الSSH إلى مكان تشغيل الESXi يمكنك تحرير ملف اعدادات VMX للمجهور الافتراضي.

  3. قم بتعديل أو إضافة هذه الخطوة إلى تشغيل المجهور الافتراضي إذا كان المparameters غير موجود:

    usb.generic.allowCCID = "TRUE"

  4. حفظ إعدادات المجهور الافتراضي.
  5. أغلق خدمة PCSCD باستخدام أمر هذا على خط أوامر الESXi:

    sudo /etc/init.d/pcscd stop

  6. تأكد من أن خدمة PCSCD ليست في حالة تشغيل:

    ps | grep pcscd

  7. قم بتشغيل المجهور الافتراضي وراقب الأجهزة للتأكد من أن قارئ البطاقة الذكرية USB متصل بالمجهور الافتراضي.

ختام

يمكنك اتصال الأجهزة المتصلة بأعمدة الUSB على المضيفات المادية ل ESXi بمجاز إلى الماكينات الافتراضية وإستخدامها في أنظمة تشغيل المجالات الافتراضية كما تستخدم هذه الأجهزة الUSB في الحواسب الافتراضية البشرية. يمكنك حتى استغلال مجموعات من الأجهزة الUSB الخارجية المتصلة بمضيف ال ESXi الرئيسي مع vMotion للتحويل إلى مضيف آخر. بالرغم من بعض القيود، توفر ميزة VMware USB passthrough أكثر قدرات ومرونة في مجموعة من الأحيان.

الأحاديث الافتراضية ل VMware مهمة للأشخاص الذين يستخدمون VMware vSphere. تحميل NAKIVO Backup & Replication وتجربة هذه الحلول الجاهزة للحماية الشاملة لحماية ماكينات VMware vSphere الافتراضية والبيانات الأخرى في بيئتك.

Source:
https://www.nakivo.com/blog/vmware-administration-essentials-configuring-esxi-vm-networks-2/