אנגליתצרפתיתספרדי

Ad


סמל OnWorks

bbvirt - מקוון בענן

הפעל את bbvirt בספק אירוח בחינם של OnWorks על אובונטו מקוון, פדורה מקוון, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

זוהי הפקודה bbvirt שניתן להפעיל בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

תָכְנִית:

שֵׁם


bbvirt - חיבור חם של התקני BitBabbler לדומיינים מנוהלים של libvirt

תַקצִיר


bbvirt פעולה [אפשרויות]

bbvirt לצרף|לנתק מכשיר [אפשרויות]

bbvirt לצרף-הכל|לנתק הכל [תחום] [אפשרויות]

תיאור


אל האני bbvirt התוכנית היא ניסיון להסיר חלק מהכאב ממה שיש כרגע
נדרש להפצת התקני USB מרובים בין המכונות הווירטואליות המארח והאורח.
אמנם ישנן מספר דרכים שבהן ניתן להגדיר ולנהל את זה, אך כרגע אין
מהם למעשה מספקים פתרון שלם וקוהרנטי בפני עצמם, כולם נופלים
קצרה מהסימן בצורה משמעותית ומעצבנת. המטרה כאן היא להרכיב
מספיק מהפריצות האלה כדי להשיג את כל הפונקציונליות שאנחנו רוצים עכשיו, עד ל-
התמיכה המקורית של libvirt עבור זה משתפרת מספיק כדי לא להזדקק לה יותר.

כרגע זה עוסק במכונות וירטואליות מנוהלות של libvirt QEMU/KVM.

מה do we רוצה?
ההתנהגות האידיאלית כאן היא די פשוטה. בהינתן מספר שרירותי כלשהו של BitBabbler
התקנים, אנחנו אמורים להיות מסוגלים להקצות אותם למחשב המארח או ל-VM אורח
לרוץ על זה, וברגע שאנחנו עושים את זה הם צריכים להתנהג בצורה הרגילה שמצופה מכל אחד
מכשיר USB.

- אם הם מחוברים לחשמל בעת הפעלת מכונת האורח, הם צריכים להיראות על ידי זה
מכונה כפי שהם יהיו על ידי המארח.

- אם הם מחוברים לאחר הפעלת המכונה, הם צריכים להיות מחוברים אליו
מכונה כפי שהם יהיו במארח.

- אם הם מנותקים מהחשמל בזמן שהמכונה פועלת, יש להסיר אותם בצורה נקייה
זה, כפי שהם יהיו על המארח.

למה לא יכול we יש את זה?
כרגע, libvirt נותן לנו שתי דרכים שבהן נוכל להקצות התקני USB מהמארח ל-a
דומיין אורח.

- אנחנו יכולים להקצות אותם לפי ספק ה-USB ומזהה המוצר שלהם. אבל זה עובד רק כשיש
הוא רק מכשיר בודד מסוג זה במארח. וזה די חסר תועלת ברובם
המקרים שאכפת לנו מהם כאן, שבהם המארח וכל אחד מהאורחים צפויים להגיע
הוקצו להם מכשיר אחד או יותר של BitBabbler משלהם.

- נוכל להקצות אותם לפי הכתובת הלוגית שלהם באוטובוס ה-USB. אבל זה לא קבוע
שנוכל להגדיר באופן סטטי עבור הדומיין. בכל פעם שמכשיר מחובר לחשמל, או
נחבר מחדש, או מאפס, או שהמחשב המארח מופעל מחדש, סביר להניח שכתובת זו תשתנה
מכיוון שהוא מוקצה באופן דינמי כאשר המכשיר נמנה באוטובוס.

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

הכשל הגדול עוד יותר, המשותף לכל השיטות הללו, הוא שכולן תלויות בו
המכשיר כבר מחובר לפני שהאורח מופעל. אם הוא מוכנס לאחר
האורח מופעל, או מוסר ונחבר מחדש בזמן שהאורח פועל, או אם המארח
אוטובוס או רכזת קופצים וגורמים לחיבור מחדש, ואז המכשיר לא יצורף (מחדש) ל-
אוֹרֵחַ. הדרך היחידה לתקן את זה אם זה קורה היא לחבר מחדש את המכשיר באופן ידני עם א
קסם מסתורי ב-XML (המסתמך על ידיעת הכתובת החדשה של המכשיר), או
כדי לכבות לחלוטין ולהפעיל מחדש את האורח. לא פסגת הידידותיות למשתמש
המבצע שאנו מחפשים כאן.

מה יכול we do על את זה?
היה תיקון שנשלח ל-libvirt לפני כמה שנים שהיה מאפשר מכשיר
יצוין גם על ידי מזהה מוצר ה-USB שלו וגם על ידי המספר הסידורי שלו, אבל זה קיבל קצת דחיפה-
חזרה, ועד כה עדיין לא יושמה במעלה הזרם. זה היה הולך רחוק
כדי להפוך את זה גם לקל וגם לנקי, מה שמשאיר לנו רק את היבט ה-hotplug להתמודד
עם. נשאיר על כך חרטה עצבנית כתרגיל לקורא...

חלופה נוספת היא שנוכל להאציל את מציאת הכתובת הלוגית של המכשיר ל-hotplug
מנהל כמו udev(7). זה אטרקטיבי במובן זה שאנחנו יכולים לדעת מתי הכתובת
של מכשיר משתנה ולמה הוא משתנה, אבל udev כשלעצמו אינו ידידותי במיוחד ל
רעיון של התאמה אישית של אדמין מקומי (אמנם זה אפשרי, אבל נראה שהוא מקבל
מיואש יותר ויותר) והשימוש בו עדיין דורש דבק חיצוני כלשהו
לתרגם את האירועים שלו למשהו ש-libvirt יכול לפעול לפיו כדי להגדיר את האורח
מְכוֹנָה.

אל האני bbvirt התוכנית מספקת את הדבק הזה, ושיטה ידידותית למשתמש להקצות איזה
התקנים צריכים להיות שייכים לאיזה דומיינים אורח, וחזית קצה שניתן להפעיל באופן ידני
או על ידי משימות אחרות הנשלטות על ידי מנהל כדי להוסיף או להסיר התקני BitBabbler במהירות ובקלות
מכל אחת ממכונות האורחים הפועלות.

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

ברור שיש לנו עוד דרך לעבור כדי להגיע לאידיאל שלנו כאן.

מה if we מכה it עם *שתיים* פטישים?
נראה שיש רק שתי דרכים שבהן נוכל לקבל הודעה על הוויה של מכונת אורח
התחיל בהווה. האחד כרוך בהפעלת תהליך דמון נוסף, מה שיצליח
קצת יותר מסתם לשבת ולחכות שמישהו יתחיל אורח כדי שהוא יוכל לספר לנו
בקשר לזה. אבל אז יהיה לנו עוד דבר להגדיר, תהליך נוסף
ריצה, ועוד בעיות עם להבין איך להבטיח שלא נפסיד במירוץ מתי
המארח מופעל, בין קבלת הסט הראשוני של אירועי המכשיר, תהליך זה
מוכן ופעיל, וכל האורחים שיופעלו אוטומטית בעת האתחול בפועל.

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

יש דרך שלישית, אבל זה יכלול דרישה מהמנהל המקומי להפעיל את כל האורחים
מכונות דרך עטיפה משלנו, במקום באמצעות כל מנגנון שהם כבר מכירים
ולהשתמש. מה שלא מתאים לתמיכה בהתקני USB אחרים באותו מצב, ביניהם
הדרכים הרבות שיהיו פתרון נורא להנחיל לאנשים.

אבל יש פרצה שאנחנו יכולים לנצל. אנחנו יכולים להשתמש בהוק libvirt qemu כדי להפעיל את a
לשנות אירוע עבור udev, שיכול בתורו לעורר bbvirt בערך באותו אופן שזה יהיה
לקרות אם המכשיר היה באמת מחובר, מה שנותן לנו את השכבה הנוספת של עקיפה
אנחנו צריכים להיות מסוגלים לעשות זאת בבטחה מהקרס. רוב גולדברג היה גאה, ו
חלק מהחלקים עשויים לדרוש הרכבה ידנית, אבל עם כל זה במקום, אנחנו יכולים לקבל
משהו שדומה לפונקציונליות USB רגילה במכונות האורחים.

זה לא יפה, אבל זה יעבוד עם מה שאנחנו צריכים לעבוד איתו.

אוקי, רק לספר me איפה ל מכה זה.
כדי לחבר את זה יחד, תצטרך לוודא את כל האפשרויות הבאות:

- udev(7) מותקנים כללים מחבילת bit-babbler. אם התקנת את זה
מחבילות דביאן שאמור להיעשות כבר. אם לא עשית זאת, תצטרך
התקן את הכללים שנמצאים ב debian/bit-babbler.udev מחבילת המקור ועד א
מקום מתאים במערכת שלך (כנראה /etc/udev/rules.d).

- bbvirt(1) הסקריפט מותקן במקום שבו udev הכללים ימצאו את זה. אם אתה
לא התקינו את זה מחבילות דביאן, וזה לא נמצא ב / usr / bin, אז תצטרך
לצבוט את udev כללים שיתאימו.

- המכשירים שבהם ברצונך להשתמש במכונות אורחים, והמכונות בהן ברצונך להשתמש בהן,
מצוינים ב bbvirt קובץ תצורה. מיקום ברירת המחדל לכך הוא
/etc/bit-babbler/vm.conf. אם ברצונך להשתמש בקובץ אחר, תצטרך להעביר אותו
מיקום עם --config אפשרות ב udev חוקים, ועדכן את הסקריפט Hook השתמש בזה
גם קובץ. הפרטים של מה שאתה יכול לשים בקובץ זה מתוארים ב-
תְצוּרָה אפשרויות להלן.

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

עד שתהיה דרך בטוחה שנוכל להתקין את זה מבלי להתנגש או להחליף
וו קיים, כולם יצטרכו לעשות את השלב הזה באופן ידני. אם התקנת
חבילות דביאן, אז סקריפט ה-hook לדוגמה שסיפקנו עבור זה יכול להיות
נמצא ב /usr/share/doc/bit-babbler/examples/qemu-hook. אם לא עשית את זה אפשר למצוא
in libvirt/qemu-hook של חבילת המקור.

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

זה אמור לכסות את כל האוטומציה הדרושה, אבל אתה יכול גם לצרף ולנתק מכשירים
גם באופן ידני בכל עת. פרטי העשייה יתוארו בהמשך
סָעִיף. אחרת, עם כל האמור לעיל, אין סיבה אחרת שצריך להפעיל
bbvirt באופן ישיר.

אפשרויות


ישנם שני מצבי פעולה עיקריים עבור bbvirt אשר נבחרו על ידי האותיות
אפשרות פעולה. אם הפעולה שיש לבצע היא לצרף or לנתק אז רק מכשיר בודד
יפעלו, ואיזה מכשיר יש לציין במפורש, גם אם
יש רק מכשיר אחד במארח באותו זמן. בעת הפעלת bbvirt באופן ידני,
מה היא מכשיר ניתן לציין על ידי המספר הסידורי שלו, הכתובת הלוגית שלו באוטובוס (ב-
טופס busnum:devnum, שניתן כמספרים שלמים עשרוניים), או הכתובת הפיזית שלו באוטובוס (ב-
טופס busnum-נמל[.נמל ...]).

אם הפעולה שיש לבצע היא לצרף-הכל or לנתק הכל, ואז המכשיר/ים שיש לפעול לפיהם הם
נבחר על ידי תחום עמותה במקום. אם תחום מצוין במפורש, ואז הכל
התקנים המוקצים לאותו דומיין אורח בקובץ התצורה יפעלו
על באותו אופן כאילו bbvirt הופעל עבור כל אחד מהם בנפרד עם
לצרף or לנתק פעולה. אם לא תחום מסופק, ולאחר מכן כל האורח המוגדר
דומיינים יפעלו בדרך זו.

האפשרויות הנוספות הבאות זמינות:

-ג, --config
ציין קובץ תצורה חלופי שממנו ייבא את הקצאות המכשיר.
אם הנתיב לקובץ לא מסופק במפורש, הוא יחפש ב
מה היא /etc/bit-babbler ספרייה (עם א .conf סִיוֹמֶת).

-ג, --התחבר=URI
ציין את וירש(1) חיבור URI להשתמש. זה יעקוף את א DOMAIN_URI סט
עבור הדומיין בקובץ התצורה. אם זה לא מוגדר באמצעות אחד מאלה
שיטות ואז את וירש ברירת מחדל עבור המשתמש הפועל bbvirt יהיה בשימוש.

-ד, --דומיין=שם
ציין את תחום ה-libvirt שבו יש לפעול. זה עשוי לשמש כדי לעקוף את המכשיר
הקצאה מקובץ התצורה כאשר bbvirt מופעל באופן ידני, או לפעול
במכשיר או בדומיין שאינם מצוינים כעת בקובץ התצורה.

-ב, --busnum=NUM
ציין את מספר אוטובוס ה-USB שאליו ההתקן מחובר. אפשרות זו היא בעיקר
נהגו להימנע bbvirt צריך לחפש את זה כשזה כבר ידוע (כגון מתי
זה נקרא מא udev כְּלָל). בדרך כלל אין הרבה סיבה להעביר את זה אם
מזמין bbvirt באופן ידני, מכיוון שאתה יכול פשוט לציין את המכשיר לפי הלוגיקה שלו או
כתובת פיזית במקום.

-ד, --devnum=NUM
ציין את מספר התקן ה-USB שהמכשיר מוקצה כעת. ביחד עם
מספר האוטובוס, זה יוצר את הכתובת הלוגית של המכשיר. אפשרות זו היא
משמש בעיקר כדי להימנע bbvirt צריך לחפש את זה כשזה כבר ידוע (כגון
כמו כשקוראים לו מא udev כְּלָל). בדרך כלל אין הרבה סיבות לעבור
זה אם מעורר bbvirt באופן ידני, מכיוון שאתה יכול פשוט לציין את המכשיר לפי שלו
כתובת הגיונית במקום.

-נ, --ריצה יבשה
אל תצרף או תנתק מכשירים, רק הראה מה היה מנסים אם זה היה א
ריצה חיה. אפשרות זו מרמזת על רמה מינימלית של --מִלוּלִי, אבל המלל עשוי
להגדיל עוד יותר על ידי העברת אפשרות זו במפורש.

-ב, --מִלוּלִי
לעשות יותר רעש לגבי מה באמת קורה. ניתן להעביר אותו מספר פעמים
להגביר את מידת המלל עוד יותר.

-?, - עזרה
הצג סיכום קצר של האפשרויות הזמינות.

תְצוּרָה אפשרויות


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

עבור כל תחום אורח, שני משתנים שולטים בהתנהגות של bbvirt:

DOMAIN_URI_תחום=URI
משתנה זה הוא אופציונלי, ומגדיר את וירש(1) חיבור URI להשתמש מתי
חיבור או ניתוק מכשירים מהנתון תחום. אם --לְחַבֵּר האפשרות היא
הועבר במפורש ל bbvirt זה יעקוף את מה שמוגדר כאן. אם החיבור
URI אינו מוגדר באמצעות אף אחת מהשיטות הללו, אז ה- וירש ברירת המחדל עבור המשתמש
ריצה bbvirt יהיה בשימוש (שבדרך כלל יהיה root אם יפעל מ udev).

DOMAIN_RNG_תחום=( מכשיר סידורי מספרים ... )
משתנה זה נדרש אם יש מעבר אוטומטי של מכשירים לדומיין
רצוי. זהו מערך bash, מאוכלס ברשימה מופרדת מרווחים של כל
מספרים סידוריים של המכשיר שברצונך להקצות להם תחום. זה לא שגיאה עבור
מכשירים שיופיעו כאן שאינם מחוברים כעת. חשוב לעשות זאת
ודא שהמכשירים מוקצים רק למכשיר אחד תחום אמנם, וכי מכשירים
שהוקצו לדומיינים אורחים לא ישמש את א זרעים(1) מופע פועל על
מארח (שפירושו ה זרעים יש להעביר לתצורה רשימה מפורשת של
המכשירים שבהם הוא עשוי להשתמש גם כן).

יש להשתמש כאן תמיד במספר הסידורי של המכשיר. לא ניתן לציין מכשיר לפי
הכתובת הלוגית או הפיזית שלו באוטובוס (כמו שאתה יכול ברוב המקומות האחרים שבהם
אנחנו לוקחים מזהה מכשיר).

השתמש ב-bbvirt באינטרנט באמצעות שירותי onworks.net


שרתים ותחנות עבודה בחינם

הורד אפליקציות Windows & Linux

  • 1
    wxPython
    wxPython
    קבוצה של מודולי הרחבה של Python ש
    לעטוף את שיעורי GUI חוצי הפלטפורמות
    wxWidgets.. קהל: מפתחים. מִשׁתַמֵשׁ
    ממשק: X Windows System (X11), Win32 ...
    הורד את wxPython
  • 2
    packfilemanager
    packfilemanager
    זהו מנהל הקבצים של חבילת Total War
    פרויקט, החל מגרסה 1.7. א
    היכרות קצרה עם Warscape
    מודינג:...
    הורד את packfilemanager
  • 3
    IPerf2
    IPerf2
    כלי תעבורת רשת למדידה
    ביצועי TCP ו-UDP עם מדדים
    סביב תפוקה והשהייה כאחד. ה
    היעדים כוללים שמירה על פעילות פעילה
    קוד iperf...
    הורד את IPerf2
  • 4
    fre:ac - ממיר שמע בחינם
    fre:ac - ממיר שמע בחינם
    fre:ac הוא ממיר שמע ותקליטור בחינם
    מרטש לפורמטים ומקודדים שונים.
    הוא כולל MP3, MP4/M4A, WMA, Ogg
    פורמט Vorbis, FLAC, AAC ו-Bonk
    תמיכה, ...
    הורד fre:ac - ממיר שמע בחינם
  • 5
    מטפלוטליב
    מטפלוטליב
    Matplotlib היא ספרייה מקיפה
    ליצירת סטטי, אנימציה ו
    הדמיות אינטראקטיביות ב- Python.
    Matplotlib עושה דברים קלים ו
    דבר קשה...
    הורד את Matplotlib
  • 6
    בוטמן
    בוטמן
    כתוב את הלוגיקה של הצ'אטבוט שלך פעם אחת ו
    חבר אותו לאחד מהזמינים
    שירותי הודעות, כולל אמזון
    Alexa, Facebook Messenger, Slack,
    טלגרם או אפילו אתה...
    הורד את BotMan
  • עוד »

פקודות לינוקס

Ad