הפונקציה העיקרית של היפרווייזור היא להדמות מכשירים המשמשים על ידי מכונות וירטואליות ברמת התוכנה. מכשירים נוצרים במכונה וירטואלית, בין אם מדריכים וירטואליים, דיסקים, DVD-ROM, כרטיסי וידאו, כרטיסי רשת, מכשירי קלט וכו '. אבל מה אם ברצונך לחבר מדפסת, סורק, כונן פלאש USB, כונן קשיח חיצוני USB, קורא כרטיסי חכם USB, מקראי אבטחה, מפתחות רישיון USB וכו '?
למכשירים חיצוניים פיזיים עם ממשק USB, ניתן לצרוב אותם למכונה וירטואלית הפועלת על VMware Workstation או שרת ESXi באמצעות תכונת העברת USB. פוסט הבלוג הזה מכסה את השימוש בתכונה זו ב-VMware vSphere על מארחי ESXi, כולל דרישות והשלבים לחיבור מכשירי USB.
מהו העברת USB?
העברת מכשיר USB של VMware היא תכונה שמאפשרת לך לחבר מכשיר USB פיזי המחובר ליציאת USB של שרת ESXi פיזי למכונה וירטואלית כאילו המכשיר ה-USB היה מחובר ישירות למכונה וירטואלית. העברת VMware היא תכונה הזמינה החל מ-ESXi 4.1.
הסיבות לשימוש במעבר יחיד להתקן USB משרת ESXi אל מערכת ההפעלה האורח של מכונה וירטואלית יכולות להיות שונות. לדוג', יש לך סורק או מדפסת ישנים שאין להם דרייברים עבור גרסאות ה-OS האחרונות בווינדוס. באפשרותך להתקין את הגרסה הישנה של ווינדוס הנתמכת על ידי התקן USB ולחבר את ההתקן הזה למכונה וירטואלית. מקרה שימוש נוסף לתכונה זו הוא כאשר יש צורך להעתיק קבצים מהדיסק הקשיח של USB או אליו/ממנו ממכונה וירטואלית ישירות במהירות גבוהה. יתכן כי משתמשים יצטרכו להשתמש בתוכנה שמוגנת על ידי מפתחות רישיון USB המוגנים על מכונות וירטואליות.
איך מעבר ה-USB עובד
יש שלושה רכיבים ראשיים הנדרשים לתפקוד של מעבר ה-USB: הווכחן, בקר ה-USB וההתקן הפיזי של USB.
הווכחן הוא שירות מיועד על משרת ESXi. הווכחן סורק את ההתקנים הפיזיים של USB המחוברים לשרת הפיזי ואחראי לניתוב תעבורת ההתקנים של USB בין מארח פיזי ומכונה וירטואלית. רק מכונה יכולה לגשת אל ההתקן של USB בכל פעם. גישה להתקן USB המחובר למכונה אחת נחסמת עבור מכונות וירטואליות אחרות. הווכחן של USB תומך עד 15 בקרי USB (vSphere 7.0). השירות של הווכחן מופעל ב-ESXi כברירת מחדל.
A USB controller used on a physical ESXi server is the controller to which physical USB ports are connected. The physical USB controller works with physical USB devices inserted into the physical USB ports of the server. USB controllers can be onboard (they are also called integrated and are built-in on a chip in a motherboard) or external (implemented as PCI or PCIe cards that are inserted into the appropriate slots on a motherboard of a server). The onboard USB controller acts as a bridge between a USB bus and a PCIe (or PCI) bus. The onboard USB controller is physically connected by the appropriate number of PCIe lanes to a chipset on a motherboard.
A virtual USB controller is an emulated device created especially for a virtual machine running on a hypervisor. A virtual USB controller interacts with a physical USB controller when you passthrough a physical USB device from a physical ESXi server to a guest OS on the VM. Presence of a virtual USB controller in VM configuration is required to use the USB passthrough feature on the VM. A maximum of eight virtual USB controllers can be connected to a VM on an ESXi host. If you need to remove a virtual USB controller from a VM configuration, you have to remove all USB devices connected to that controller first. VMware USB driver is installed in a guest OS after adding a virtual USB controller to VM configuration.
A physical USB device is any USB device that has a USB interface and USB port for being connected to a computer. Maximum 20 USB devices can be connected to a single VM or ESXi host.
תקני USB ומצבי בקר הם:
- USB 2.0 ו-USB 1.1 (EHCI+UHCI)
- USB 3.0 (xHCI) גרסת חומרה של מכונה 8 או גבוהה יותר
לאחר החיבור של התקן USB פיזי למכונה וירטואלית באמצעות תכונת המעבר האוטומטית של VMware USB, ייתכן שתצטרך להתקין דרייברים עבור התקן USB המחובר במערכת ההפעלה האורח.
דרישות ל- USB 3.0: USB 3.0 זמין לשרתי ESXi החל מ- VMware vSphere 5.5 גרסה 3. נדרש בקר USB xHCI בהגדרת VM למטרה זו. דרישות המערכת לשימוש בעברת USB 3.0 הן: Windows 8.1 או מעלה, Windows Server 2012 R2 או מעלה, או Linux עם ליבת Linux 2.6.35 או מעלה. התקני USB 3.1 נתמכים במהירות המרבית שלהם החל מ- VMware vSphere 7.0
מגבלות לעברת USB
ישנן מספר מגבלות שיש לדעת עליהן לפני התחלת שימוש בתכונת העברת USB:
- A USB drive cannot be used as a boot drive for a VM.
- אם נעשה שימוש במקור ההפעלה של ESXi באמצעות דיסק USB, לא ניתן לצרוב את דיסק ה- USB הזה ל- VM.
- גרסת חומרה וירטואלית 7 או מעלה נדרשת ל- VM.
ישנם מכשירי USB שייתכן שלא ייתמכו על ידי VMware:
- ממירי USB
- מכשירי שמע ומצלמות וידאו שמשתמשים בהעברת נתונים אסינכרונית
- חלק ממקלדות ועכברי USB (ניתן למצוא פרטים במאמר 1021345 של VMware)
- כרטיסי חכמה שמשתמשים בפרוטוקול CCID עשויים לדרוש הגדרות נוספות לחיבור ל- VM
vMotion אפשרי עבור VM עם מכשירי עברת USB מחוברים. לאחר הגדרת VM תקינה והפעלת vMotion, מכשירי USB נשארים מחוברים ל- VM לאחר ההעברה לשרת ESXi אחר
ישנן הגבלות ל- vMotion עבור VM שמשתמשים בדיסקים בעברת USB:
- ניהול הכוח המבוזר (DPM) אינו נתמך מאחר ומארח ESXi לא יכול להיכבות לחיסכון בכוח מבלי לנתק מכשיר USB מתוך מכונה וירטואלית (מכשיר USB מנותק אם המארח מוכבה על ידי DPM). יש להשבית את DPM במארח זה.
- אי-תקיפות אינה נתמכת.
- A VM cannot be suspended or powered off (otherwise USB devices are disconnected from a VM and they can be reconnected only after migration of the VM to the initial ESXi server to which USB devices are physically connected). The VM must be manually migrated to the ESXi host with the attached USB device when you need to power on this VM. Linux guests that were resumed can mount USB devices to different mount points after reconnection.
- מארחי ESXi שיש להם מכונות וירטואליות עם מכשירי העברת USB חייבים להיות נגישים דרך ממשק הליבה של המכונה הוירטואלית vmk0 (לרשת הניהול) ופורט TCP 902.
יש לנתק מכשירי USB ממכונה וירטואלית לפני שימוש בתכונת ההוספה החמה והוספת מעבד, זיכרון או מכשירי PCI. אחרת, מכשירי USB ינתקו באופן אוטומטי, וכאשר אתה משתמש בתכונת ההוספה החמה, ניתן לאבד חלק מהנתונים. אם אתה משעה מכונה ואז ממשיך את המכונה, מכשירי USB ינתקו ואז יתחברו מחדש למכונה שוב.
לגבי יצירת כונן USB וירטואלי של VMware או כונן פלאש וירטואלי לצריבה למכונה וירטואלית הרצה על ESXi או VMware Workstation, בדיוק כמו שתצמיד דיסק פלופי וירטואלי או דיסק CD/DVD כרגע אפשרות זו אינה אפשרית.
איך לחבר מכשיר USB למכונה וירטואלית
עכשיו שהתמכרנו עם התיאוריה, אנו יכולים לעבור לחלק המעשי ולהסתכל על הגדרה ב-VMware vSphere.
- הכנס מכשיר USB ליציאת USB של השרת שלך ESXi. במקרה שלי, אני הולך להכניס כונן פלאש USB.
- ניתן לבדוק האם המכשיר USB מחובר ל-ESXi לאחר מכן בממשק השורת פקודה של ESXi:
lsusb - כפי שאפשר לראות בצילום המסך למטה, הכונן הבלוקי שלי מחובר כעת לשרת ESXi.
- שירות השובץ ה-USB חייב לפעול. אפשר לבדוק את סטטוס השירות באמצעות הפקודה:
chkconfig usbarbitrator –list - אם השובץ ה-USB נעצר, אפשר להתחיל את השובץ ה-USB באמצעות הפקודה:
/etc/init.d/usbarbitrator startהערה: לקרוא עוד על ESXiCLI בפוסט הבלוג.
ה-VM ממוקם על מארח ESXi שנמצא תחת הניהול של שרת vCenter בדוגמה שלי. Windows מותקן כמערכת הפעולה המארחת ב-VM שלי. פתח את קלינטק VMware vSphere, עבור אל מארחים ושיחות. בעמוד הניווט בחר מכונת וירטואלית לה ברצונך לחבר את המכשיר USB באמצעות תכונת העברה ישירה. ה-VM צריכה להיות במצב כיבוי. עליך להתקין כלים וירטואליים של וומר במערכת הפעולה המארחת.
- כאשר ה-VM נבחרת, לחץ על פעולות > ערוך הגדרות.
- בחלון ערוך הגדרות, בדוק האם בתצורת ה-VM קיים בקר USB. אם הבקר USB חסר, לחץ על הוסף מכשיר חדש > בקר USB, ובחר את סוג בקר ה-USB (USB 2.0 או USB 3.0).
- אם בקר USB זמין, עליך להוסיף את המכשיר USB שמחובר לשרת ESXi למכונת הווירטואלית שלך. לחץ על הוסף מכשיר חדש> מכשיר USB של מארח
- A new string is added to the VM configuration. In the New USB Host device string, select one USB device that you want to connect to the VM. Now I have two USB flash drives attached to my physical ESXi server, and I’m connecting the Verbatim Flash drive to my VM (Verbatim product 0x0302).
אם יש צורך בתמיכת vMotion, פתח את מכשיר USB חדש של המארח ובחר בתיבת הסימון "תמיכה ב-vMotion כאשר המכשיר מחובר". יש לקחת בחשבון את דרישות והגבלות ה-vMotion. לחץ על אישור כדי לשמור את ההגדרות ולסגור את החלון.
- הפעל מכונה וירטואלית. לאחר הטעינה של מערכת ההפעלה אורח, המתן עד שהזיכרון הפלאש USB יאותחל ויותקן. לאחר מכן פתח את מנהל ההתקנים של Windows. לחץ ימינה על המחשב שלי ובתפריט ההקשר לחץ על ניהול. בחלון ניהול מחשב, לחץ על מנהל ההתקנים והרחב את המקטע כונני דיסק (בשל החיבור של זיכרון פלאש USB, המכשיר צריך להופיע תחת קטגוריית ההתקנים הזו). אפשר לראות מכשיר USB של Verbatim, זהו שם הזיכרון הפלאש USB שמחובר למכונה הווירטואלית עם תכונת העברת USB של VMware.
- פתח את ניהול דיסק בחלון ניהול המחשב וודא שנקבע למנה הדיסק שהתקן כונן USB. במקרה שלי, הכול נכון, ואני יכול כעת להעתיק נתונים מהכונן USB לדיסק הווירטואלי של מכונת וירטואלית במערכת הפועלת Windows ולהיפך.
עברת כרטיסי PCI של VMware
אם התקן ה-USB שברצונך לחבר למכונה וירטואלית באמצעות תכונת העברת USB של VMware אינו נתמך על ידי VMware, ניתן לנסות להשתמש בתכונת העברת PCI ולחבר את בקר ה-USB הפיזי כולו שיש לו ממשק PCI למכונה וירטואלית.
אם לשרת ESXi שלך יש בקר USB המחובר למנגנון PCI, ניתן להעביר את התקן PCI הזה למכונה וירטואלית. העברת PCI של VMware נקראת גם VMDirectPass. שיטה זו פחות נוחה משימוש בהעברת USB אך יכולה לעזור לך להשלים את המשימה.
דרישות
נדרש תמיכה בטכנולוגיית Directed I/O של Intel או בטכנולוגיית IOMMU של AMD בחומרת השרת ובאפשרות להפעיל אותה ב-UEFI/BIOS. אם יש לך רק בקר USB אחד בשרת שלך, יש להחביא לו בקר USB נוסף כדי למנוע אובדן חיבורים להתקני USB המשמשים על ידי שרת ה-ESXi הפיזי שלך.
הגבלות ומגבלות:
- A VM cannot be suspended.
- A VM cannot be migrated to other ESXi hosts with vMotion.
- אין תמיכה בצילומיות של מכונה וירטואלית.
בואו נסתכל על תהליך החיבור של מכשיר USB ל-VM על ידי עברת PCI והחיבור של כל בקר USB שבו מחובר מכשיר USB ל-VM.
- כדי לזהות את מכשיר ה-USB ואת בקר ה-USB שבו מחובר מכשיר ה-USB שלך (אם ישנם מספר בקרי USB מותקנים על השרת שלך) השתמש בפקודה זו:
lsusb -v | grep -e Bus -e iSerial - מצא את המחרוזת עם שם מכשיר ה-USB שמחובר לבקר ה-USB וזהה את המזהה של הבקר (לדוגמה, bus002).
- תוכל לבדוק את יומן ה-VMkernel בעת החיבור של מכשיר USB לשרת ESXi:
tail -f /var/log/vmkernel.log | grep -i USB - פתח את ממשק ה-VMware vSphere Client ועבור אל מארחים ואשכולות.
- בחר את מארח ESXi שבו ה-VM (אליה תרצה לחבר מכשיר USB) נמצאת.
- עבור אל כרטיסיית הגדרות, ואז בחר התקני PCI בתוך הסעיף חומרה.
- מצא ובחר את בקר ה-USB הרצוי ברשימת ההתקנים של PCI על ידי השימוש במזהה שזיהית בקודם.
- מצב הבקר שנבחר צריך כעת להשתנות ל-זמין.
- לחץ אישור כדי לשמור את ההגדרות.
- הפעל מחדש את מארח ה-ESXi כדי שהשינויים ייכנסו לתוקף.
- וודא כי ה-VM שלך מכובה. עבור אל הגדרות ה-VM, לחץ על הוסף מכשיר חדש > מכשיר PCI > הוסף. בחר את בקר ה-USB שלך בתפריט הנפתח באמצעות המזהה הנכון.
- הדלק את ה-VM. בדוק התקנים במערכת האורח. אם Windows מותקן על ה-VM, פתח את מנהל ההתקנים, ואז בדוק את הבקרים והתקני האחסון.
מחבר כרטיסי חכם USB
כמה מכשירי USB שיש להם קטגוריה המתאימה של CCID עשויים לא להיות נתמכים כברירת מחדל לחיבור ל-VMs. הודעת השגיאה "לא ניתן לחבר 'path:0/1/6/1' למכונה וירטואלית זו. לא נמצא המכשיר" מוצגת. בלוגים, ניתן לראות את ההודעה:
(vmx-vcpu-0) לא טען ממשק 0 לפני השימוש
PCSCD הוא הדמון ESXi ששולט בקוראי כרטיסי חכם. גישה לכרטיסי חכם USB מנוטרלת עבור מכונות וירטואליות כדי למנוע סכסוכים משום שכרטיס חכם נדרש על ידי שרת ESXi. כתוצאה, אין אפשרות להשתמש בנפרוש USB עם הגדרת ברירת המחדל עבור כרטיסי חכם USB. עליך לערוך את התצורה של מארח ESXi כדי לאפשר נפרוש USB עבור כרטיסי חכם USB.
- עצור את מכונת הווירטואל. פתח את הגדרות המכונה הווירטואלית, בחר בלשונית אפשרויות ה-VM, ולאחר מכן לחץ על ערוך תצורה.
- בחלון פרמטרי התצורה, לחץ הוסף פרמטרי תצורה.
כאלטרנטיבה, ניתן לערוך את קובץ התצורה של ה-VMX של המכונה הווירטואלית בממשק שורת פקודה על ידי התחברות למסוף ESXi באמצעות לקוח SSH. - ערוך או הוסף את השורה הזו לתצורת ה-VM אם הפרמטר לא קיים:
usb.generic.allowCCID = “TRUE” - שמור את תצורת ה-VM.
- עצור את שירות ה-PCSCD באמצעות פקודה זו בשורת הפקודה של ESXi:
sudo /etc/init.d/pcscd stop - ודא כי שירות ה-PCSCD אינו רץ:
ps | grep pcscd - הפעל את ה-VM ובדוק התקנים כדי לוודא שקורא כרטיסי USB מחובר כעת ל-VM.
מסקנה
ניתן לחבר מגוון מכשירים המחוברים ליציאות USB של שרתי ESXi פיזיים למכונות וירטואליות ישירות ולהשתמש בהם במערכות ההפעלה האורח של ה-VM כמו שאתה משתמש במכשירי USB אלו על מחשבים פיזיים רגילים. ניתן אף להעביר מכונות וירטואליות באמצעות מכשירי USB חיצוניים המחוברים למארח ESXi האב עם vMotion למארח אחר. למרות מספר המגבלות, תכונת המעבר האוטומטי של USB של VMware מוסיפה יותר יכולות וגמישות במצבים שונים.
גיבוי מעבדי VMware חשוב עבור אלו שמשתמשים ב-VMware vSphere. הורד את NAKIVO Backup & Replication ונסה את פתרון ההגנה על נתונים הכולל הזה כדי להגן על מעבדי VMware vSphere שלך ועל נתונים אחרים בסביבה שלך.
Source:
https://www.nakivo.com/blog/how-to-use-usb-devices-with-a-vmware-vsphere-virtual-machine/