פתרון בעיות בחיבורים של לקוחות

אם נתקלתם בבעיות בהרכבה או בחיבור למערכת קבצים Managed Lustre במכונת VM או במופע של לקוח, אתם יכולים לבצע את השלבים הבאים כדי לאבחן את הבעיה.

אימות שאפשר להגיע למכונה ב-Managed Lustre

קודם כול, מוודאים שאפשר להגיע למכונה שלכם ב-Managed Lustre מהמכונה של הלקוח:

sudo lctl ping IP_ADDRESS@tcp

כדי לקבל את הערך של IP_ADDRESS, אפשר לעיין במאמר בנושא קבלת מופע.

אם הפינג מצליח, התגובה תהיה דומה לדוגמה הבאה:

12345-0@lo
12345-10.115.0.3@tcp

פינג שנכשל מחזיר את התוצאה הבאה:

failed to ping 10.115.0.3@tcp: Input/output error

אם הפינג נכשל:

  • מוודאים שהמכונה של Managed Lustre והמכונה של הלקוח נמצאות באותה רשת VPC. משווים את הפלט של הפקודות הבאות:

    gcloud compute instances describe VM_NAME \
      --zone=VM_ZONE \
      --format='get(networkInterfaces[0].network)'
    
    gcloud lustre instances describe INSTANCE_NAME \
      --location=ZONE --format='get(network)'
    

    הפלט אמור להיראות כך:

    https://www.googleapis.com/compute/v1/projects/my-project/global/networks/my-network
    projects/my-project/global/networks/my-network
    

    הפלט של הפקודה gcloud compute instances describe מתחיל בקידומת https://www.googleapis.com/compute/v1/. כל מה שמופיע אחרי המחרוזת הזו צריך להיות זהה לפלט של הפקודה gcloud lustre instances describe.

  • בודקים את כללי חומת האש ואת הגדרות הניתוב של רשת ה-VPC כדי לוודא שהם מאפשרים תעבורת נתונים בין מופע הלקוח לבין מופע Managed Lustre.

בדיקת יציאת הקבלה של LNet (מופעים מדור קודם)

למרות שהדגל --gke-support-enabled הוצא משימוש וכבר לא נדרש כשיוצרים מופעים חדשים של Managed Lustre, יכול להיות שיש לכם מופעים ישנים קיימים שנוצרו עם הדגל הזה.

אם אתם מתחברים למופע מדור קודם שבו הופעלת תמיכה ב-GKE, אתם צריכים להגדיר את LNet בכל המופעים של Compute Engine של הלקוח לשימוש ב-accept_port 6988. ראו הגדרת LNet למופעי gke-support-enabled.

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

gcloud lustre instances describe INSTANCE_NAME \
  --location=LOCATION | grep gkeSupportEnabled

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

אי התאמה בין גרסת הליבה של Ubuntu לבין לקוח Lustre

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

כדי לבדוק את גרסת הליבה:

uname -r

התגובה אמורה להיראות כך:

6.8.0-1029-gcp

כדי לבדוק את גרסת חבילת הלקוח של Lustre:

dpkg -l | grep -i lustre

התגובה אמורה להיראות כך:

ii  lustre-client-modules-6.8.0-1029-gcp 2.14.0-ddn198-1  amd64  Lustre Linux kernel module (kernel 6.8.0-1029-gcp)
ii  lustre-client-utils                  2.14.0-ddn198-1  amd64  Userspace utilities for the Lustre filesystem (client)

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

בדיקת שגיאות Lustre ב-dmesg

הרבה אזהרות ושגיאות של Lustre נרשמות ביומן של מאגר הנתונים הזמני של ליבת Linux. הפקודה dmesg מדפיסה את מאגר הנתונים הזמני של הליבה.

כדי לחפש הודעות שקשורות ל-Lustre, משתמשים ב-grep יחד עם dmesg:

dmesg | grep -i lustre

לחלופין, כדי לחפש שגיאות כלליות יותר שעשויות להיות קשורות:

dmesg | grep -i error

העלאת Lustre ל-VM עם כמה כרטיסי NIC נכשלת

כשמכונה וירטואלית כוללת כמה בקרי ממשק רשת (NIC), ומופע Managed Lustre נמצא ב-VPC שמחובר ל-NIC משני (לדוגמה, eth1), יכול להיות שהטמעת המופע תיכשל. כדי לפתור את הבעיה, צריך לפעול לפי ההוראות להוספת כרטיס רשת משני.

אי אפשר להתחבר מטווח רשתות המשנה 172.17.0.0/16

לקוחות Compute Engine ו-GKE עם כתובת IP בטווח תת-הרשת ‎172.17.0.0/16 לא יכולים לטעון מופעים של Managed Lustre.

אי אפשר לגשת ל-Managed Lustre מפרויקט עם שירותי עמיתים

כדי לגשת למופע Managed Lustre ממכונה וירטואלית ברשת VPC שנוצרה באמצעות קישור בין רשתות שכנות (peering), צריך להשתמש ב-Network Connectivity Center ‏(NCC). ‫NCC מאפשר לחבר כמה רשתות VPC ורשתות מקומיות ל-Hub מרכזי, וכך לספק קישוריות ביניהן.

הוראות להגדרת NCC מפורטות במסמכי התיעוד של Network Connectivity Center.

הטמעה נכשלת במכונות וירטואליות מוגנות (הפעלה מאובטחת)

אי אפשר לבצע mount של Managed Lustre ב-Shielded VMs. ניסיון לטעון את מודול הליבה של Lustre בסביבת אתחול מאובטח נכשל עם השגיאה: ERROR: could not insert 'lustre': Required key not available.

מידע שצריך לכלול בבקשת תמיכה

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

כלי השירות sosreport אוסף יומני מערכת ופרטי תצורה, ויוצר קובץ tar דחוס.

כדי ליצור sosreport, צריך להשתמש ב-SSH כדי להתחבר למחשב הלקוח. לאחר מכן, מריצים את הפקודה:

sudo sos report --all-logs --batch --tmp-dir=/var

אם הפקודה לא נמצאה:

Rocky Linux ו-RHEL

משתמשים במנהל החבילות dnf כדי להתקין את החבילה sos:

sudo dnf install -y sos

Ubuntu

משתמשים במנהל החבילות apt כדי להתקין את החבילה sosreport:

sudo apt update
sudo apt install -y sosreport

מערכת הפעלה שמותאמת לקונטיינרים

משתמשים במנהל החבילות apt מתוך toolbox כדי להתקין את החבילה sosreport:

sudo toolbox
sudo apt install sosreport -y

מצרפים את sosreport הארכיון לבקשת התמיכה.

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