קטגוריה: לינוקס

משרד גריד באמצעות סביבות וירטואליות - חלק 4

לפי ווטקין לויד סטיבן , 4 בדצמבר 2009 יום שישי 11:59

הקדמה

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

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

הרצת קוד האחרונה

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

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

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

בסופו של דבר אנחנו יכולים בסופו של דבר עם תסריט bash (שנקרא על ידי cron כל 10 דקות) אשר נראה פשוט כמו זה:

  #! / Bin / sh
 אם הגרזן נ"ב | grep-v grep | grep php > / dev / null
 אז
     הד "איוב הוא עיבוד כרגע, יציאה"
 אחר
     הד "איוב לא פועל, להתחיל עכשיו"
     cd / path / to / עובד / להעתיק
     svn עדכון
     PHP yourJobProcessingScript.php
 Fi 

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

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

באמצעות הנתונים האחרונים

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

החזק אתה הסוסים שם! מה אם מקורות הנתונים שלי הם ענקיים? ובכן זה באמת מקרה של כמות הנתונים אנחנו מדברים? זה עשוי להיות יעיל יותר עלות להתקין כונן קשיח גדול נוסף למכונת כל מאשר לרכוש שרת עיבוד נוספת. זו שאלה של תקציב הוא עד העסק להחליט. זה אולי כי מקורות המידע שלך הם גדולים כל כך ישים רק שלה כדי לשמור על כמות הנתונים מכונות העובד שלך. במקרה כזה מה היית עושה? טוב שאנחנו יכולים להסתכל קורא שרת הנתונים המקומי, אבל זה עלול לגרום לבעיות עם הרשת. במקרה זה מערכת רשת כגון זה עלול להיות מציאותי כוללים בסביבת המשרד שלך. ייתכן גם כי אתה יכול להסתכל לתוך אסטרטגיות פועל חלופי, למשל רק קורא לעובדים שלך 20:00-06:00 כל לילה ו / או נתונים ויסות בקשות המקור.

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

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

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

תקציר

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

בפעם הבאה

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

משרד גריד באמצעות סביבות וירטואליות - חלק 3

לפי ווטקין לויד סטיבן , 4 בדצמבר 2009 יום שישי 23:37

הקדמה

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

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

הגדרת העובד שלך - או שרת צולע

השלב הבא בתהליך הוא להגדיר עובדים הווירטואלי שלך. בשביל זה אני הולך להשתמש ההתקנה של CentOS באמצעות VirtualBox. אני הולך להתקין mySQL ו PHP על השרת, המכונה גם צליעה (nux ​​לי, מ ySQL, P-HP) Server (אני אולי עשו את זה שם למעלה).

  • התקנת VirtualBox על המחשב שלך Windows (בקישור)
  • הורד והתקן CentOS (הגרסה הנוכחית 5.3) בתוך מכונה וירטואלית שנוצרה

אין טעם לי ללכת זה יש כנראה של 1000 של הדרכות גדול בחוץ (אישור, הנה אחד: יצירה Managing מכונה וירטואלית CentOS תחת VirtualBox ). נקודת חשוב לציין אני מניח כי קראתי GridMachine וירטואלי שלי.

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

חשוב לוודא כי VM שלך משתמש ב-DHCP, אחרת עבור כל מכונה וירטואלית חדשה היה צריך להיות מוגדר בנפרד וזה משהו שאנחנו לא want.By באמצעות DHCP אנחנו לא צריכים להגדיר הגדרות רשת בנפרד עבור מכונות העובד, DHCP יהיה ביד את כתובות ה-IP בשבילך. לכן אתה יכול להעתיק מכונה וירטואלית שלך על המשרד מבלי לדאוג לגבי הגדרת כל אחד למעלה (זה משפר את המדרגיות מפחית הממשל העובד).

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

כיצד להפעיל את ג 'ובס על העובד

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

  • הרף פועל סקריפט: סקריפט, יהיה זה סקריפט מעטפת, או סקריפט PHP מבוצע פעם אחת על העובד והוא פועל כחלק בלולאה אינסופית. אני מוזלים בשיטה זו כמו התרסקות אחת של התסריט ואת פוטנציאל העובדים שלך יפסיק לפעול ללא התערבות כלשהי.
  • ביצוע Cron התסריט מבוסס: בכל x דקות את השד cron בעיטות מחוץ קריאה התסריט שלך כדי להתחיל להזיז את העניינים. בלי לבדוק כמה זה יכול להוביל עותקים רבים רבים של התסריט העובד שלך פועל.

ההחלטה שלי היתה ללכת עם cron אשר בעיטות מחוץ תסריט פגז כל 10 minutes. סקריפט מעטפת שלי מבצע את המשימות הבאות:

  1. קבל רשימה תהליך grep הזה עבור "PHP". אם לא נמצא ואז להמשיך.
  2. Call קוד התפקיד שלך, במקרה שלי זה יהיה משהו מבוסס PHP
  3. התסריט עובד משלימה להפעיל שלה
  4. מוכן ללכת שוב על שיחת המתאים הבאה

סקריפט bash שלי נראה כמו משהו הבאות:

  #! / Bin / sh
 אם הגרזן נ"ב | grep-v grep | PHP> grep / dev / null
 אז
     הד "איוב הוא עיבוד כרגע, יציאה"
 אחר
     הד "איוב לא פועל, להתחיל עכשיו"
     PHP yourJobProcessingScript.php
 Fi 

הערה: הד של כמעט חסר טעם לחלוטין, אבל יכול לעזור לאדם הבא אשר בא לנסות ולערוך אותם.

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

הגדרת Windows כדי לאתחל את העובדים

המשימה הראשונה היא לעבוד את הפקודה נדרש להפעיל את המכונה הווירטואלית משורת הפקודה של Windows. אם התקנת VirtualBox ב ברירת המחדל למיקום ויש לך בשם GridMachine העובד שלך ואז את הפקודה נדרשת כדי לטעון את העובד שלך הוא:

  "C: \ Program Files \ יום ראשון \ VirtualBox \ VBoxManage.exe" startvm GridMachine 

זאת כדי להריץ את הסקריפט בתוך מדינה "חסרת הראש" אנחנו צריכים להשתמש:

  "C: \ Program Files \ יום ראשון \ VirtualBox \ VBoxHeadless.exe" startvm GridMachine - vrdp = off 

פעולה זו תפעיל את המכונה הוירטואלית ללא GUI ולאפשר לו לשמור את המדינה בכבוד. הטיעון השני מכבה RDP כך שלא תתנגש עם חלונות RDP, או לתת לך הודעה על האזנה על פורט 3389. שם מכונה וירטואלית היא תלויית רישיות!

הבא, אנחנו נצטרך להגדיר את Windows עד לבעוט מחוץ VM העובד שלנו פעם המכונה לא היה פעיל. כדי לעשות זאת (ב-Windows XP) תצטרך ללכת התחל -> כל התוכניות -> עזרים -> כלי מערכת -> משימות מתוזמנות להלן:

משימות מתוזמנות

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

עד סוף להפעיל הטקסט להוסיף מחרוזת "GridMachine startvm 'שלנו להבטיח להפעיל רק כאשר הוא מחובר שמאל unticked. בקר המשימות לוח הזמנים הבא ולשנות את לוח הזמנים טיפה למטה אל האפשרות "כאשר סרק", לבחור את כמות הזמן שאתה רוצה המחשב יהיה פעיל לפני שעבר לכרטיסיה הבאה.

לבסוף untick את האפשרות הקובע להפסיק את הפעילות, אם זה כבר פועל סכום X של זמן, אבל לעשות לתקתק את האפשרות להפסיק את הפעילות, אם המכשיר אינו פעיל.

לוח זמנים

זהו זה עבור תוכנית ההתקנה של Windows המארח!

תקציר

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

בפעם הבאה

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

משרד גריד באמצעות סביבות וירטואליות - חלק 1

לפי ווטקין לויד סטיבן , 4 בדצמבר 2009 יום שישי 11:23

הקדמה

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

כמו PHP Developer אני הולך להשתמש בכלים כי אני משתמש בכל יום דהיינו, לינוקס, mySQL , PHP, VirtualBox חתרנות (SVN). עם זאת אני מקווה מדריך זה יהיה להסתגל שפות וטכנולוגיות אחרות באותה מידה.

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

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

מדוע פרוס גריד Office?

ראשית ייתכן שאתה חושב, למה לא פשוט להשתמש במשאב ענן מחשוב כגון פלטפורמת EC2 של אמזון ? ובכן הסיבות יכול להיות מספר, למשל:

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

אני בטוח ברשימה יכול להמשיך, אבל אני חושב שזה מספיק לעת עתה.

היתרונות של רשת המחשוב של Office

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

אז, 1 מכונת * 10% * כוח 2 / 3 הזמן = 0.067 1 כלומר עיבוד שולחן העבודה בזמן המתנה יכול התהליך 6 משרות מלאות ליום.

אם אתה עכשיו בקנה מידה זה את זה לוקח 15 שולחנות עבודה סרק כדי התהליך כמו עבודות רבות ליום כשרת עיבוד העיקרית שלך עושה.

אז במשרד פנים שלנו של 50 מכונות יכולנו להגדיל את כוח העיבוד שלנו מהשרת 1 עד 4 שרתי עיבוד מלא, או שאנחנו יכולים להיות עיבוד 400 משרות ליום במקום 100.

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

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

טכנולוגיות

מה אתה צריך? (או יותר נכון מה שאני משתמש):

  • המתנה מכונות למשרד (במקרה שלי מחשב נייד של Windows XP הישן חילוף)
  • VirtualBox (או אחר תוכנת הלקוח וירטואליזציה)
  • מכונה וירטואלית עם PHP, mySQL running מפעיל לקצץ OS, אני מתקשר שלי צולע השרתים האלה:)
  • משרות לרוץ
  • שרת איוב (יכול להיות אחרת מכונה וירטואלית איפשהו)

טיפוסי משרות

סוגי עבודות כי זו המערכת מתוכננת לרוץ הוא כדלקמן:

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

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

פתרונות גריד הם לא רק יתרון עבור עיבוד עבודות מסוג זה. בעיקרון, כל תהליך שבו ניתן לפצל יחידות עצמאיות ניתן להפעיל במקביל. ראה זה ויקיפדיה עבור דוגמאות ו מידע נוסף: גריד , אבל כמה דוגמאות מפורסמות הם SETI @ Home ו BIONC . ישנן מסגרות להפעלת רשתות מחשוב, ואלה גם שווה להסתכל לתוך.

מה נשיג?

בסוף המאמרים האלה אני מקווה להראות כי פריסת הרשת המשרד לא צריך להיות עצומה רב יקר או הזמן. אני הולך לדבר:

  • הגדרת מערכת בקרת עבודה, תצורת העבודה
  • יצירת מכונה וירטואלית מתאימה לעיבוד
  • כיצד ההתקנה של המערכת על מכונה חלונות
  • הבטחת אתה משתמש בקוד האחרונים נתונים
  • פריסה בהשוואות
  • במבט קדימה

אני אהיה בבניין (אישור בניתי, ולאחר מכן כתב את זה) יישום לדוגמה לבחון את המושגים במחשב המקומי באמצעות Windows XP ו מכונה וירטואלית "GridMachine 'שלי. שליטה תפקידי השרת יהיה מכונת הראשי שלי אשר פועל פדורה 11 .

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

בפעם הבאה

ב חלק 2 אתחיל מלהסתכל העבודה מערכת השליטה, ולהביט לתוך כמה עבודות צריך להיות מוגדר על מנת להשיג הכמות הגדולה ביותר של תוך עיבוד להבטיח כי כל עבודה מעובד ללא יוצא מן הכלל.

משרד גריד באמצעות סביבות וירטואליות - חלק 2

לפי ווטקין לויד סטיבן , 4 בדצמבר 2009 יום שישי 11:23

הקדמה

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

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

עבודה ובקרה

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

  • מחלקים משרות לפי בקשה של העובדים
  • תגיד עובדים איזה סוג של משרות לרוץ
  • עקוב אחר משרות
  • להבטיח כי עבודות רק לרוץ פעם
  • לספק נתונים עבודה לעובדים, או לפחות לספר להם איפה להשיג אותו

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

איוב Server

אנחנו הולכים צריך איפשהו לשלוט משרות שלנו, זה צריך להיות במערכת רק ברשת שלך, כי יש Locator משאב קבוע, להיות כתובת IP, שם המארח, כתובת האתר (באמצעות DNS פנימי), וכו 'זה בגלל העובדים צריך לדעת איפה לחפש עבודה, עובדים צריכים למצוא את השליטה עבודה במערכת (לא את מערכת בקרת עבודה למצוא את העובדים).

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

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

יסוד הגדרת

התצורה הבסיסית של שרת העבודה שלנו תכלול את מה שאני קורא את אחד השרתים צולע שלי (כי הוא nux לי, ySql מ ', P-HP). הקוד רץ על עובדים תיאה יהיה ממש להבין מה משרות זה יכול לרוץ על ידי אינטראקציה עם מסדי נתונים עם שליטה העבודה במערכת. מאוחר יותר נוכל ליצור שירות אינטרנט למעשה לחלק משרות במקום שיש לעובדים לעשות את העבודה הקשה עצמם, אך לעת עתה נמשיך באמצעות עקרון KISS (לשמור את זה פשוט, טיפש!).

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

משרות השולחן כאן אני משתמש ב SQL באדי חלופה מעט גדולה phpMyAdmin רק בגלל שלה יותר קל להתקין על CentOS (לאחרים לראות: 10 חלופות נהדר phpMyAdmin )

טבלה זו כוללת 5 שדות פשוטה,

  • מק"ט: לזהות את העבודה
  • שם: יכול להיות הפניה ללקוח, או כל מספר מזהים אחרים
  • סטטוס: אתה צריך לדעת איפה העבודה היא בבית, למשל
    • 0: לא נכתבו
    • 1: הרים
    • 2: הושלם
  • started_by: מי התחיל לעשות את העבודה? זה אינו נדרש לחלוטין, אבל הוא נחמד שיש. הייתי מציע מעקב אחר העובדים באמצעות כתובת ה-IP שלהם ברשת
  • started_at: מתי העובד להתחיל את העבודה? על ידי מעקב אחר עבודות שלא הושלם בתוך סכום X של זמן אנחנו יודעים שאנחנו צריכים להרים את העבודה שוב ולהתחיל עיבוד על ידי עובד אחר. העובדים יכולים לעצור עיבוד / ללכת לפורום עבור כל מספר של סיבות, הפסקת חשמל, התרסקות, רשת אובדן, וכו '

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

מאפשר להוסיף כמה משרות לדוגמה:

לדוגמה משרות

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

  • להקליט את הזהות: הזהות של
  • שם: שם של אדם
  • כתובת: כתובת של אדם
  • jobs_id: ID עבודה כי שיא זה מקושר

הטבלה השלישי והאחרון מורכב השולחן תוצאות, יש לו הרבה באותו לפצות כפי שולחננו רשומות, ועם תוספת של כמה עמודות יכול להיות חלק של הטבלה הרשומות:

  • שולחן העבודה job_record_id: קישור אל התוצאה
  • התוצאה: הנתונים התוצאה

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

בחירת עבודה

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

  1. קח את כל עבודות שלא מסומנים כמו להשלים אבל מן העובד שלנו לאפס אותם (__ME__ תחליף עם מזהה, הקלה ביותר תהיה כתובת IP):
      UPDATE `עבודות` SET `מעמד` = 0 WHERE `מצב` ו `= 1 started_by` = __ME__; 
  2. באמצעות הבחירה תפקידנו קריטריונים, בחר עבודה ולספר את מערכת הבקרה כי עובד זה היא להתמודד עם זה:
      UPDATE `עבודות` SET `מעמד` = 1, `started_by` = __ME__, `started_at = NOW () WHERE` מעמד `= 0 או
     (`מצב = 1 ו` started_at> DATE_SUB (NOW (), מרווח X שעה)) ORDER BY `id` ASC; 

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

  3. הבא לתפוס את המשרות פרטים ואחריו את הרשומות עצמם:
      SELECT * FROM `עבודות` איפה `started_by` = __ME__ LIMIT 1;
     SELECT * FROM `job_records` WHERE `id` = __JOBID__; 

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

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

איוב תצורת

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

  1. משרות לקחת 1 כל יום לרוץ: משמעות הדבר היא כי העובדים שלך צריך 15 ימים כדי לעבד כל העבודה (זוכרים 10% של הכוח עבור 2/3rds הזמן). זה בבירור לא תצורה חכם, גודל התפקיד שלך הוא גדול מדי! זה ייקח לפחות להכפיל את הזמן כדי להשיג עבודה מעובד לעובד הראשונית צריכה ללכת נפקד (הזמן להרים שזה לא חזר תוצאה בתוספת זמן עיבוד מחדש). ב אידיאל היית אחד לפחות משרה מלאה כחכח קלות עד סוף תקופת המתנה ארוכה מדי, ככה אתה שומר משרות תקתוק שוב על המקרה הגרוע ביותר בעבודה היה לוקח יומיים כדי התהליך הראשון צריך ללכת חסרים.
  2. משרות לקחת 1 דקה לרוץ: משמעות הדבר היא כי העובדים שלך לקחת בערך 15 דקות כדי להפעיל את כל העבודה. בעוד זה עלול בתחילה נראה אידיאלי, לך לקבל עיבוד עבודה נוספת בזמן ארוחת צהריים, הפסקות קפה, פגישות, וכו תרחיש זה מניח עומס על אזורים אחרים של המערכת מציג בעיות משלה. לדוגמה, ראשית ההגדרה שלך / זמן יחס עיבוד הוא הולך ישר, ולכן מאבדים יעילות המערכת. הרשת שלך הולכים להיות כל הזמן הזרמת מידע עבודה לעובדים שונים צוות מתסכל שהם דונג יום שלהם לעבודת יום. אתה גם הולך לשים להתאמץ יותר על השרת שלך עבודה עיבוד כפי שהוא צריך לחלק המון חתיכות קטנות של עובדים על בסיס קבוע. לבסוף, במצב זה אם שרת העבודה שלך יורד שאתה הולך ליצור להיכנס שוב ענק של עבודה הושלמו ואילו משרות גדול יכול של המשך עיבוד מודע מבורך כי שרת העבודה היה נתקל בקשיים.

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

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

תוצאות הגשת עבודה

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

כאשר התוצאות נשלחות להבטיח את מספר התוצאות תואם את מספר הרשומות בתוך העבודה.

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

תקציר

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

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

בפעם הבאה

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

משרד גריד באמצעות סביבות וירטואליות - חלק 5

לפי ווטקין לויד סטיבן , 4 בדצמבר 2009 יום שישי 11:03

הקדמה

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

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

פריסה מראש

לפני פריסת המערכת הרשת שלך אם יש דבר אחד שאתה עושה דבר אחד בלבד זה benchmark המערכת הנוכחית שלך! לא משנה מה אתה אומר על עמיתיו כמה עבודה נוספת במערכת שלך הוא הולך לעשות, אלא אם כן יש לך מספרים לגבות זה את הערבויות שלך הם כלום. אז,

  • כמה שיאים תוכל תהליך כרגע? ביום? לשעה?
  • כמה זמן זה בדרך כלל לוקח להסתובב עבודה?
  • כמה עוד יכולת יש לכם?

יש גם שאלות נוספות:

  • אם שרת עיבוד שלך (או אחד השרתים עיבוד שלך) יורדת איך זה ישפיע על היכולות שלך, אתה תהיה נכה?
  • יתרונות מה אתה מקווה / מצפה לקבל ממערכת ברשת?
  • הם מכונות למשרד שלך מסוגל להריץ את העבודות?
  • האם שלך (או אתה יכול להיות מומר בעבודות) לעבוד בסגנון הזה של ריצה?

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

פריסה

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

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

ברגע שהמערכת התיישבו עם כמה מכונות (נניח 10% של כל המחשבים במשרד, כלומר 5) לשמור על ניטור תעבורת הרשת ואת המחשב המארח benchmark performance. הבא שוב, אתה צריך עכשיו להיות עיבוד משרות 33% יותר מאשר ציוני הראשון שלך. בדוק זה כך, או שאתה לפחות האצטדיון הזה. אם לא, לחקור מה קורה לפני שהוא עובר. חזור על המעגל הזה עד שאתה בשמחה יש כל מכונות למשרד לרוץ בלי להרוג את ביצועי מכונת הפרט או שחיקה הרשת על שמריה.

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

עצור!

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

הפגנה מערכת

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

מערכת ההדגמה שלי היתה צנועה מאוד. השתמשתי שולחן העבודה הרגיל שלי להגדיר כשרת השליטה עבודה. על זה היה לי מותקן mySQL מותקן שרת להגדיר כמאסטר שכפול, PHP ו SVN מקושר, באמצעות אפאצ 'י (עבור גישה באמצעות העובד VM).

אז יצר מכונה העובדת CentOS על VirtualBox על מחשב נייד 6 שנים של Windows XP הישן. אני ההתקנה משימות מתוזמנות כמפורט לאחר העתקת VM על המכונה ולתת לו ללכת.

המכונה הווירטואלית שהוקמה עם PHP, חתרנות, ו-MySQL. בדקתי את סניף בשם "העובדת" מ שליטה תפקידי שרתים מאגר ווידא זה יכול להיות מעודכנים באמצעות 'עדכון svn ". הבא לי mySQL כעבד ובדק את הנתונים היה מעתיק מ mySQL בשרת העבודה שליטה עד VM העובד ההתקנה. אחרי ההתקנה זה כל מה שאני התסריט bash לבין עבודה cron.

התסריט לעיבוד שלי בעצם הלכה בנוסח זה (דברים פשוטים מאוד):

  • קרא בשדה שם
  • ספרתי את מספר שמות דומים בטבלה ממקור הנתונים שנערך על VM
  • ספרתי את מספר השמות לעיל, אך פיצול שם על ידי רווחים (שם פרטי כלומר, באמצע, שם משפחה)
  • חזר על תהליך זה 1000 פעמים

כל עבודה לקח בערך 20 דקות כדי לרוץ. בשלב מסוים פתחתי כמה עותקים של ה-VM של העובד במחשב נייד החלונות וצפיתי משרות להיבדק את ידי כל אחד את כתובות ה-IP העובד. בנקודה זו אני גם אישר כי השכפול מחדש באופן אוטומטי.

השארת המחשב הנייד כדי המתנה הביא עובד מתחיל תהליך משרות מהשרת שליטה בעבודה. בעת חידוש השימוש הנייד היה עיכוב של כ - 30-60 שניות, זו כמות נכבדה של זמן העובדים היו צריכים להיות מודעים לכך המכונה שלהם עשוי להשהות למשך זמן קצר, כאשר חוזרים למכונה. מכונות חדשות יותר לא יכול להיות הפסקה של כל כך הרבה זמן. התועלת של סכום של עיבוד המבוצעים על ידי מכונות אלה בתקופות המתנה היה יותר כי גוברים חברי הצוות צורך לחכות תקופה קצרה (אומרים 1 דקה) על הגעתו של המכונות שלהם בבוקר (לעתים קרובות אני מחכה כבר כי זה של Windows Defender עדכון להתקיים) בתנאי שהם היו מודעים זמן (זה שימושי כדי לתפוס את הקפה של הבוקר!).

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

מסקנות / הערכת

הצעד הברור הבא יהיה בעצם לקבל דוגמה העולם האמיתי ולהתחיל לפרוס מערכת כגון זו בסביבת המשרד ולראות מה קורה. שואל עסק להתחייב זה בלי חברת שובל בוער להוכיח את הטכנולוגיה ואת היעילות עלול להיות קצת קשה. גריד / מחשוב מבוזר מאוד פופולרי הוא כמה עיגולים ויש כמה יישומים גדולים (BIONC, SETI @ Home, Folding @ Home, וכו '). אני לא, עם זאת, למצוא בקנה מידה קטן יותר ואת המערכת פשוט אוהבים את זה בחיפושים שלי, כי יכול להיות מגולגל בתוך סביבת Office.

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

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

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

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

לב] הילד [PID היציאה XXXX האות אשמתו סגמנטציה (11)

לפי ווטקין לויד סטיבן , יום ראשון 11 אוקטובר 2009 06:09

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

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

בפעם הראשונה ראיתי את הבעיה כמה דפי האינטרנט שלי היו להיות שימש קבצים ריקים, בעוד האחרים עבד בסדר גמור. לאחר החקירה כמה אני ציין כי אפאצ 'י היה כותב אל / var / log / HTTP / error_log עם ההודעה הבאה repeatidly:

לב] הילד [PID היציאה XXXX האות אשמתו סגמנטציה (11)

אין להקצות ללכת על ידי on-line, ורוב הדפים על אותו השביל יוצא כלום. עם זאת, צמצמתי את הבעיה כדי PHP crashing כאשר מנסים בספריות דינמיות מיותרת.

מסתכל php.ini שלי (/ php.ini etc /) הערתי את כל הספריות דינאמי טעון מתכננת להעיר אותם חזרה כנדרש. שני היה לי להוציא שם pdo.so ו -MySQL . כל כך.

פעם אלה הוסרו כל הדפים שלי באינטרנט היו מוגשות בסדר, בדיוק כמו לפני העדכון / אפאצ 'י PHP.

Wireless על WLMi Acer 5002 על לינוקס (פדורה 11)

לפי ווטקין לויד סטיבן , יום שבת ה -11 יולי 2009 09:48

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

בעיקרון כדי לקבל מנהלי התקן האלחוטי עובד עבור 5002 Acer WLMi תצטרך להשתמש b43-fwcutter. הוראות ניתן למצוא כאן: לינוקס אלחוטי B43 .

Easy פעם המידע נמצא.













פנורמה לפי נושאים Themocracy

6 מבקרים מקוון עכשיו
5 אורחים, 1 בוטים, 0 חברים
מקס מבקרים היום: 11 בשעה 01:06 UTC
החודש: 22 ב 2011/08/06 12:30 UTC
השנה: 130 ב 28-03-2011 22:40 UTC
כל הזמן: 130 ב 28-03-2011 10:40 UTC