פתרון בעיות שקשורות לנעילות קלות של vCPU

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

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

זיהוי נעילות קלות

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

דוגמה לדוח קריסות של Soft Lockup

watchdog: BUG: soft lockup - CPU#3 stuck for 22s!

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

  1. הפעלת רישום ביומן של פלט מיציאה טורית

  2. יצירת מדיניות התראות שמבוססת על יומן עבור היומן הבא:

    resource.type="gce_instance" log_id("serialconsole.googleapis.com/serial_port_1_output") textPayload=~"watchdog.*lockup"
    

פתרון בעיות של נעילות קלות

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

  1. כדאי לבדוק באתר של ספק מערכת ההפעלה אם יש שגיאות ידועות בגרסה של מערכת ההפעלה שלכם. לפעמים, יכול להיות שתמצאו הפניה למודולי ליבה ספציפיים ב-דוח קריסות, שמצביעה על פונקציה או פעולה מסוימת שמעורבת בכך.
  2. לבדוק אם הנעילה הרכה חוזרת בתדירות מסוימת, למשל אם היא מתרחשת כשיש עומס גבוה או פעילויות מסוימות. אם יש קורלציה בין מצבי Soft Lockup לבין עומס גבוה, יכול להיות שתצטרכו להגדיר מחדש את עומס העבודה, למשל באמצעות מכונה וירטואלית גדולה יותר או פיצול העומס בין יותר מכונות וירטואליות.
  3. בודקים אם יש קשר בין הנעילות הרכות לבין שינויים בסביבת זמן הריצה, כמו פריסות חדשות של תוכנה או עדכונים של תמונות מערכת ההפעלה.
  4. כדי לבדוק אם התרחשו אירועי תחזוקה בסביבות הזמן של הנעילה הרכה, בודקים את יומני הביקורת של יומני הביקורת של אירועי המערכת.

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

שיטות מומלצות למניעת מצבים של נעילה רכה

כדי למנוע מצבים של נעילה רכה במכונות הווירטואליות, מומלץ ליישם את השיטות המומלצות הבאות:

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