OnWorks Linux ו-Windows Online WorkStations

לוגו

אירוח מקוון בחינם עבור תחנות עבודה

<הקודם | תוכן | הבא>

1.5.3. מעבר מכשיר / Hotplug


אם במקום ה-hotplugging המתואר כאן אתה רוצה לעבור תמיד דרך מכשיר הוסף את תוכן ה-xml של המכשיר לייצוג ה-xml הסטטי של האורח שלך באמצעות למשל עריכת virsh. במקרה כזה אתה לא צריך להשתמש לצרף/ לנתק. ישנם סוגים שונים של מעבר. הסוגים הזמינים עבורך תלויים בהגדרות החומרה והתוכנה שלך.

• USB hotplug/מעבר

• VF hotplug/Passthrough


תמונה

2 http://libvirt.org/uri.html

3 https://libvirt.org/migration.html#offline

4 https://libvirt.org/migration.html

5 http://wiki.qemu.org/Features/PostCopyLiveMigration

6 https://wiki.ubuntu.com/QemuKVMMigration


אבל שני הסוגים מטופלים בצורה מאוד דומה ולמרות שישנן דרכים שונות לעשות זאת (למשל גם באמצעות qemu monitor), מומלץ לבצע שינוי כזה באמצעות libvirt. כך libvirt יכול לנסות לנהל עבורך כל מיני מקרים מיוחדים וגם להסתיר קצת את הבדלי הגרסאות.


באופן כללי בעת הפעלת hotplug דרך libvirt אתה יוצר קטע xml שמתאר את המכשיר בדיוק כפי שהיית עושה בתיאור אורח סטטי.7 מכשיר USB מזוהה בדרך כלל על ידי מזהי ספק/מוצר:


פונקציות וירטואליות מוקצות בדרך כלל באמצעות ה-PCI-ID שלהן (דומיין, אפיק, חריץ, פונקציה).



תמונה

כדי לקבל את הפונקציה הוירטואלית מלכתחילה היא מאוד תלויה במכשיר ולכן לא ניתן לכסות אותה במלואה כאן. אבל באופן כללי זה כרוך בהקמת iommu, הרשמה דרך VFIO8 ולפעמים מבקשים מספר VFs. הנה דוגמה ב-ppc64el כדי לקבל 4 VFs במכשיר:


$ sudo modprobe vfio-pci

# לזהות מכשיר

$ lspci -n -s 0005:01:01.3 0005:01:01.3 0200: 10df:e228 (rev 10)

# הירשם ובקש VFs

$ echo 10df e228 | sudo tee /sys/bus/pci/drivers/vfio-pci/new_id

$ echo 4 | sudo tee /sys/bus/pci/devices/0005\:01\:00.0/sriov_numvfs


לאחר מכן, אתה מצרף או מנתק את המכשיר באמצעות libvirt על ידי קישור האורח עם קטע ה-xml.


virsh attach-device

# השתמש במכשיר בתוך האורח

virsh detach-device


תמונה

ישנן מספר בעיות ידועות הקשורות בהקשר להגנה על לבוש המגן על "יותר מדי". ייתכן שיהיה עליך לצבוט חריגים בפרופילי ה-apparmor עד הבאגים 15522419 (עבור USB) ו-https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/1679704 (עבור הקצאת VF) נפתרו. כדי לבדוק אם אתה מושפע, צפה ב-dmesg בזמן שאתה משתמש בתכונת המעבר/חיבור החם של USB/VF וודא אם אתה רואה הכחשה של apparmor10.


תמונה

7 https://libvirt.org/formatdomain.html

8 https://www.kernel.org/doc/Documentation/vfio.txt

9 https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1552241

10 http://wiki.apparmor.net/index.php/AppArmor_Failures#Messages_in_the_Log_files


מחשוב ענן מערכת ההפעלה המוביל ב-OnWorks: