זוהי הפקודה pvmd3PVM שניתן להריץ בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות החינמיות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS.
תָכְנִית:
שֵׁם
pvmd, pvmd3 - דמון PVM
תַקצִיר
pvmd [ -אפשרויות ] [ קובץ מארח ]
תיאור
Pvmd3 הוא תהליך דמון אשר מתאם מארחי יוניקס במכונה וירטואלית. pvmd3
חייבים לרוץ על כל מארח בקבוצה. הם מספקים את התקשורת ובקרת התהליך
פונקציות הנדרשות לתהליכי ה-PVM של המשתמש. ניתן להפעיל את הדמון באופן ידני באמצעות
ארגומנט קובץ המארח שיפעיל אוטומטית את ה-pvmds המרוחקים. המקומי והמרחוק
ניתן להפעיל את pvmds גם מתוכנית קונסולת PVM pvm.
שם קובץ ההפעלה של הדמון הוא pvmd3זה בדרך כלל מתחיל על ידי סקריפט מעטפת,
$PVM_ROOT/lib/pvmd.
[גרסה 3.4 ואילך] לפני הפעלת pvmd3, pvmd מביא למקורות של כל הפקודות ב- $HOME/.pvmprofile if
קובץ זה קיים.
אפשרויות
ניתן לציין את האפשרויות הבאות בשורת הפקודה בעת הפעלת ה-pvmd הראשי.
או קונסולת PVM:
-dמסכה הגדר מסיכת ניפוי שגיאות של pvmd. משמשת לאיתור שגיאות ב-pvmd או ב-libpvm (לא מיועדת לשימוש ב-
תוכניות יישום לאיתור שגיאות). מסכה האם ה סכום של הביטים הבאים ויכולים להיות
מצוין בהקסדצימלי (0x...), אוקטלי (0...) או עשרוני:
מידע על ביט
ניתוב חבילות 0x1
ניתוב הודעות 0x2 ונקודות כניסה
מצב משימה 0x4
הפעלה של עבד pvmd 0x8
עדכוני טבלת מארח 0x10
לולאת בחירה 0x20 (מתחת לשכבת החבילה)
רשת IP 0x40
צמתים מרובי מעבדים 0x80
ממשק ניהול משאבים 0x100
יישום 0x200 (הודעות ללא יעד וכו')
0x400 הקשרי המתנה
0x800 פעולות זיכרון משותפות
0x1000 סמפורות
מנעולים 0x2000
בקרת נתיב הודעה 0x4000
-nשם ציין שם מארח חלופי לשימוש ב-pvmd הראשי. שימושי כאשר
gethostname () מחזירה שם שלא הוקצה לאף ממשק רשת.
האפשרויות הבאות משמשות את ה-pvmd הראשי בעת הפעלת עבדים והן רק של
עניין למישהו שכותב מארחאל תשתמש בהם סתם כך, עכשיו.
-s הפעל את pvmd במצב עבד. לא ניתן להשתמש בקובץ המארח, יש צורך בחמישה פרמטרים נוספים
יסופק: אינדקס pvmd ראשי, IP ראשי, MTU ראשי, אינדקס pvmd עבדי ועבד
IP
-S זהה ל- -s, אבל pvmd של העבד לא מחכה ל- סטדין לסגירה לאחר ההדפסה
הפרמטרים שלו. משמש להפעלה ידנית.
-f עבד לא מתחלק לאחר הגדרת התצורה (שימושי אם העבד צריך להיות נשלט או
מנוטר על ידי תהליך כלשהו).
HOST קובץ פורמט
לכל מארח במכונה הווירטואלית חייב להיות ערך בקובץ המארח. שורות המתחילות
עם סימן splat (#), שקודמו לחלופין ברווח לבן, מתעלמים מהם.
קובץ מארח פשוט עשוי להיראות כך:
# קובץ המארח הראשון שלי
חבטה
שלום
וילמה
בארני
בטי
זה מציין את שמותיהם של חמישה מארחים שיוגדרו במכונה הווירטואלית.
המאסטר pvmd עבור קבוצה המופעלת ידנית על localhost, והיא מפעילה עבדים על
כל אחד מהמארחים הנותרים משתמש ב- רש or רקסק פקודה. ייתכן שהמארח הראשי יופיע ב
כל שורה בקובץ המארח. שמות מארחים אינם יכולים להיות כתובות מספריות (IP), מכיוון שהם
מועבר ל-rsh ול-rexec(), שבדרך כלל לא מקבלים כתובות.
הפורמט הפשוט שלמעלה עובד מצוין אם יש לך את אותו שם התחברות בכל חמשת המכונות
ושם המארח הראשי בקבצי ה-.rhosts שלך על ארבעת האחרים.
ישנן מספר אפשרויות זמינות לקובצי מארח:
lo=NAME מציין שם התחברות חלופי (NAME) לשימוש.
so=pw זה הכרחי כאשר המארח המרוחק אינו יכול לסמוך על המאסטר.
ה-pvmd הראשי יבקש סיסמה עבור המארח המרוחק ב-tty
של ה-pvmd (שימו לב שלא ניתן להפעיל את המאסטר באמצעות הקונסולה או
ברקע בעת שימוש באפשרות זו) תראו:
סיסמה (honk.cs.utk.edu:manchek):
עליך להקליד את הסיסמה שלך עבור המארח המרוחק. לאחר מכן, האתחול יתבצע
להמשיך כרגיל.
dx=FILE מציין את הנתיב של קובץ ההפעלה pvmd. FILE יכול להיות קובץ פשוט
שם קובץ, שם נתיב מוחלט, או נתיב יחסי לבית של המשתמש
ספרייה במארח המרוחק. זה שימושי בעיקר כדי לסייע בניפוי שגיאות
גרסאות חדשות של PVM, אך ייתכן שיש להן שימושים אחרים.
ep=PATH מציין נתיב עבור ה- pvmd לחיפוש רכיבי תוכנית ניתנים להפעלה
בעת יצירת תהליך חדש. הנתיב עשוי להכיל מספר אלמנטים,
מופרדים באמצעות נקודתיים (:).
wd=PATH מציין ספריית עבודה שבה כל המשימות שנוצרו על מחשב מארח זה
יבצע.
sp=VALUE מציין את מהירות החישוב היחסית של מחשב מארח זה בהשוואה לאחרים.
מארחים בתצורה. VALUE הוא מספר שלם בטווח [1 -
1000000]
bx=PATH מציין את נתיב תוכנית ניפוי השגיאות. הערה: משתנה הסביבה
ניתן גם להגדיר PVM_DEBUGGER.
ip=NAME מציין כתובת IP חלופית לשימוש עבור המארח. כמו עם host
שמות (כאשר לא משתמשים ב-ip=), הכתובת חייבת להיות שם מארח, לא שם
כתובת מספרית, מכיוון שהיא מועברת ל-rsh ול-rexec(). אפשרות זו
מאפשר לבחור ממשק רשת ספציפי עבור מכונה מבלי
באמצעות שם הממשק. ניתן להשתמש בו גם כדי ליצור וירטואלי
מכונה המשתמשת בשמות מארח סמליים (במקום שמות מארח אמיתיים).
so=ms בשימוש נדיר. גורם ל-pvmd הראשי לבקש מהמשתמש לבצע באופן ידני
אתחול של pvmd על מחשב מארח עבד כאשר שירותי הרשת rsh ו-rexec
מושבתים אך קיימת קישוריות IP. ראה סעיף "הפעלה ידנית".
id=VMID תכונה חדשה ב-PVM 3.4.4 היא הקונספט של "מזהה מכונה וירטואלית". אתה
כעת ניתן להגדיר את ה-VMID למחרוזת שרירותית וזה יבחין ו
לאפשר למספר מכונות וירטואליות לפעול על אותה קבוצת מחשבים תחת
אותו מזהה משתמש. (תכונה זו הוצגה במקור על ידי SGI ב
מוצר PVM מסחרי, וכעת הוא מוכלל עבור PVM ציבורי
מערכת.) נראה שתכונה זו היא משהו שאנשים רוצים לעתים קרובות, ו
אפשרות ה-"id=" hostfile (או משתנה הסביבה $PVM_VMID) היא
הדרך הנקייה ביותר לספק פונקציונליות זו, במקום להעמיס יתר על המידה על
דגל מהדר SHAREDTMP ואלמנטים פנימיים אחרים.
*** ודא *** שהגדרת כראוי את סביבת $PVM_VMID
משתנה בכל הקליפות שמהן אפליקציית PVM או ה-"pvm" מבצעת
הקונסולה תופעל, אחרת הם לא ידעו אשר מכונה וירטואלית ל
להתחבר ל!
כברירת מחדל, כל המארחים שנוספים למכונה הווירטואלית יירשו
אותו VMID. אם מתווספים מארחים למכונה הווירטואלית שהם
אם מפעילים גרסאות ישנות יותר של PVM (לפני 3.4.4), אז ה-VMID יהיה
מתעלמים עבור מארחים אלה, ולכן ניתן להוסיף מכונות אלה רק ל
מכונה וירטואלית אחת עבור המשתמש הנתון. ה-VMID אינו חייב להיות עקבי
בכל מארח במכונה וירטואלית (אם כי זה לא בהכרח
מומלץ).
סימן דולר ($) באופציה מציג שם משתנה, לדוגמה $PVM_ARCHשמות
מורחבים ממשתני סביבה על ידי כל pvmd.
לכל אחד מהדגלים שלמעלה יש ערך ברירת מחדל. אלה הם:
שם המשתמש במארח הראשי.
אז כלום
dx $PVM_ROOT/lib/pvmd (או משתנה סביבתי PVM_DPATH)
פרק $HOME/pvm3/bin/$PVM_ARCH:$PVM_ROOT/bin/$PVM_ARCH
wd $HOME
sp 1000
bx $PVM_ROOT/lib/debugger
ניתן לשנות זאת על ידי הוספת שורה עם כוכב (*) בשדה הראשון ואחריה ה-
אפשרויות, לדוגמה:
* lo=afriend אז=pw
פעולה זו קובעת ערכי ברירת מחדל חדשים עבור 'lo' ו-'so' עבור שאר קובץ המארח, או
עד לשורה הבאה עם ה-'*'. אפשרויות שנקבעו בשורה האחרונה עם ה-'*' חלות גם על מארחים שנוספו
שימוש דינמי pvm_addhosts().
ניתן להגדיר אפשרויות מארח מבלי להפעיל את המארחים באופן אוטומטי. מידע על מארח
שורות קובץ המתחילות ב-'&' מאוחסנות, אך המארחים אינם מופעלים עד להוספה באמצעות
pvm_addhosts().
קובץ מארח לדוגמה:
# קובץ מארח לבדיקה בפלטפורמות שונות
עצם הפון
מקלט
# מותקן ב / usr / local כאן
sigi.cs dx=/usr/local/pvm3/lib/pvmd
# חשבונות שאולים, "אורח", אל תסמכו על fonebone
* lo=אורח so=pw
sn666.jrandom.com
cubie.misc.edu
# ממש כואב, חייב להפעיל אותו ידנית ולשתף תיקיית בית
ו- igor.firewall.com lo=guest2 so=ms ep=bob/pvm3/bin/$PVM_ARCH
מדריך סטארט - אפ
בעת הוספת מארח עם קבוצת אפשרויות זו תראה בקובץ tty של ה-pvmd:
*** הפעלה ידנית ***
היכנסו ל-"honk" והקלידו:
$PVM_ROOT/lib/pvmd -S -d0 -nhonk 1 80a9ca95:0cb6 4096 2 80a95c43:0000
סוג תגובה:
לאחר הקלדת הפקודה הנתונה במארח צופר, אתה אמור לראות שורה כמו:
ddpro<2312> arch<ALPHA> ip<80a95c43:0a8e> mtu<4096>
הקלד את השורה הזו בקובץ tty של ה-pvmd הראשי. לאחר מכן אתה אמור לראות:
תודה
ושני ה-PVMDs אמורים להיות מסוגלים לתקשר.
שים לב שלא ניתן להפעיל את המאסטר באמצעות הקונסולה או להשתמש בו ברקע בעת שימוש באפשרות זו.
עומס יתר מארחים
ניתן לאלץ את PVM להעמיס על מארח (להפעיל עליו יותר מ-pvmd אחד) על ידי הוספת '$'
לפני שם המארח בקובץ המארח. זה לא מומלץ אלא אם כן אתה יודע מה
אתה עושה זאת ויש לך סיבה טובה לכך. עליך לבנות את מקור ה-PVM עם האפשרות
OVERLOADHOST הוגדר כדי שזה יעבוד.
ייתכן שתצטרך גם להשתמש באפשרות ip= hostfile כדי להגדיר מספר שמות עם אותה כתובת IP.
כתובת. אם לשני מארחים או יותר ב-PVM יש את אותו שם, לא ניתן לזהות אותם
באופן ייחודי.
סְתִימָה PVMD3
השיטה המועדפת לעצירת כל ה-pvmds היא לתת את ה- לַעֲצוֹר פקודה ב-PVM
קונסולה. פעולה זו מבטלת את כל משימות ה-PVM, את כל הדמונים המרוחקים, את הדמון המקומי, ולבסוף
הקונסולה עצמה. אם ה-pvmd הראשי מופסק באופן ידני, יש לשלוח אליו SIGTERM
אות כדי לאפשר לו להרוג את ה-pvmds המרוחקים ולנקות קבצים שונים.
ניתן להפסיק את הקובץ pvmd באופן שמשאיר את הקובץ /tmp/pvmd.uid מאחורי אחד או
יותר מארחים. עיד הוא מזהה המשתמש המספרי (מ- / etc / passwd) של המשתמש. זה ימנע
PVM מלהפעיל מחדש על מחשב מארח זה. מחיקת קובץ זה תתקן את הבעיה:
rm `(grep $משתמש / etc / passwd || ypmatch $סיסמת משתמש)
| awk -F: '{הדפס "/tmp/pvmd."$3; יציאה}'`
השתמש ב-pvmd3PVM באופן מקוון באמצעות שירותי onworks.net
