פתרון בעיות ב-Google Virtual NIC

ריכזנו כאן כמה טיפים שיעזרו לכם לפתור בעיות ב-Google Virtual NIC (gVNIC).

שגיאות נפוצות

הבעיה הבאה מתרחשת כשהתמונה שמשמשת ליצירת ה-VM לא מתויגת לשימוש ב-gVNIC.

ERROR: (gcloud.compute.instances.create) Could not fetch resource:
 - Invalid value for field 'resource.networkInterfaces[0].nicType': 'GVNIC'.
NetworkInterface NicType can only be set to GVNIC on instances with
GVNIC GuestOsFeature.

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

בעיות אחרות

בקטע הזה מפורטות שגיאות נוספות שעשויות להתרחש כשמשתמשים במנהל ההתקן gVNIC עם מכונת Compute Engine.

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

  • הגורם: gVNIC לא מופעל בתמונה.

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

    gcloud compute images describe IMAGE_NAME

    מחליפים את IMAGE_NAME בשם של קובץ האימג'.

    הפלט של הפקודה צריך להציג את GVNIC בקטע guestOsFeatures.

    אפשר גם לבדוק אם מכונת ה-VM נוצרה עם הערך nic-type שמוגדר ל-gVNIC. כדי לעשות את זה, מריצים את הפקודה הבאה:

    gcloud compute instances describe VM_NAME

    מחליפים את VM_NAME בשם של המכונה הווירטואלית.

  • רזולוציה: מוודאים שאתם משתמשים בתמונה נתמכת או שהגדרתם את מנהל ההתקן gVNIC בצורה תקינה בתמונה המותאמת אישית.

מופעלת מכונת VM אבל אי אפשר להגיע אליה ברשת

  • הסיבה: gVNIC לא הותקן ולא נטען בהצלחה.

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

    Linux

    1. בודקים שמנהל ההתקן מותקן.

      modinfo gve

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

      filename:       /lib/modules/4.15.0-1036-gcp/updates/dkms/gve.ko
      version:        1.1.0
      license:        Dual MIT/GPL
      description:    gVNIC Driver
      author:         Google, XXX.
      srcversion:     5FEFB9DD945EB2DEC94EE09
      alias:          pci:v00001AE0d00000042sv*sd*bc*sc*i*
      depends:
      retpoline:      Y
      name:           gve
      vermagic:       4.15.0-1036-gcp SMP mod_unload
      
    2. בודקים שמנהל ההתקן נטען.

      lsmod | grep gve

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

      gve                    49152  0

    Windows

    1. מתחברים למכונה באמצעות SAC.
    2. מתחברים באמצעות שם המשתמש והסיסמה.
    3. מריצים את הפקודה הבאה בשורת הפקודה:

      dism /online /get-drivers | findstr gvnic
    4. בודקים את התוצאה.

      • אם מנהל ההתקן מותקן, הטקסט Original File Name : gvnic.inf אמור להופיע בפלט.
      • אם הדרייבר לא מותקן, לא מוחזרת הודעה.
  • פתרון: אם gVNIC לא זמין, צריך לוודא שמשתמשים בתמונה נתמכת או שהגדרתם את gVNIC בצורה נכונה בתמונה המותאמת אישית.

ערך MTU שהוגדר ב-VPC לא נמצא בשימוש במופע Compute

אחרי שמבצעים את ההוראות לשינוי ערך ה-MTU, הגדרת ה-MTU במופע לא משתמשת באותו ערך MTU. לדוגמה, אפשר להריץ את הפקודה /sbin/ifconfig | grep mtu במכונה כדי לבדוק את הגדרת ה-MTU. הפעלתם מחדש את המופע, אבל הגדרת המופע לא עודכנה.

הגורם: גרסת מנהל ההתקן של gVNIC ישנה מדי

פתרון:

  1. אם המופע שלכם משתמש בתמונה ציבורית, כדאי לעיין בכרטיסייה תכונות רשת של גרסת מערכת ההפעלה שלכם בדף פרטי מערכת ההפעלה. מוודאים שמוצג שהתמיכה ב-Jumbo Frames מלאה.
  2. אם התמונה הציבורית לא תומכת באופן מלא ב-Jumbo Frames, או אם אתם משתמשים בתמונה מותאמת אישית של מערכת ההפעלה, הגרסה המותקנת של מנהל ההתקן gVNIC ישנה מדי ולא תומכת בערכי MTU גבוהים יותר. כדי לעדכן את מנהל ההתקן של gVNIC עבור מופע Compute, פועלים לפי ההוראות שבקטע שימוש במערכות הפעלה לא נתמכות.
  3. אחרי שמעדכנים את מנהל ההתקן gVNIC, מפעילים מחדש את המכונה ובודקים שוב את הגדרת ה-MTU.

תפוקת רשת נמוכה במכונות וירטואליות של Windows Server 2022 ו-Windows 11

יכול להיות שתיתקלו בנפח נמוך של נתונים ברשת כשמשתמשים ב-Google Virtual NIC (gVNIC) עם מכונות וירטואליות של Windows Server 2022 ו-Windows 11 שמשתמשות במנהל התקנים של gVNIC בגרסה 1.0.0@44 או בגרסאות קודמות של חבילת GooGet.

כדי לפתור את הבעיה, צריך לעדכן את חבילת GooGet של דרייבר gVNIC לגרסה 1.0.0@45 ואילך. לשם כך:

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

    googet installed
    

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

    Installed packages:
      ...
      google-compute-engine-driver-gvnic.x86_64 VERSION_NUMBER
      ...
    
  2. אם גרסת הדרייבר של google-compute-engine-driver-gvnic.x86_64 היא 1.0.0@44 או גרסה קודמת, צריך לעדכן את הדרייבר ממאגר החבילות של GooGet על ידי הרצת הפקודה הבאה משורת פקודה של אדמין או מסשן של PowerShell:

    googet install google-compute-engine-driver-gvnic