שינוי הגדרת ה-MTU של רשת VPC

ב- Google Cloud, מגדירים את ה-MTU לכל רשת VPC. צריך להגדיר את הממשקים של מכונות וירטואליות (VM) שמשתמשות ברשת הזו כך שישתמשו באותו ערך MTU.

מידע נוסף על מכונות וירטואליות והגדרות MTU זמין במאמר מכונות וירטואליות והגדרות MTU.

יש שתי דרכים להתחיל להשתמש ברשת VPC עם הגדרת MTU שונה:

שינוי ה-MTU של רשת

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

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

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

המסוף

עדכון MTU של רשת אינו נתמך במסוף Google Cloud . אפשר לעיין בהוראות ל-Google Cloud CLI או ל-API.

gcloud

  1. מפסיקים את כל המכונות הווירטואליות.

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

    gcloud compute instances stop INSTANCE_NAMES... \
        --zone=ZONE
    
  2. עדכון ה-MTU של הרשת.

    gcloud compute networks update NETWORK \
        --mtu=MTU
    
  3. מפעילים את כל המכונות הווירטואליות.

    לכל אזור ברשת, מפעילים את כל המכונות הווירטואליות באותו אזור.

    gcloud compute instances start INSTANCE_NAMES... \
        --zone=ZONE
    

    מחליפים את ה-placeholders בערכים תקינים:

    • INSTANCE_NAMES... היא רשימה של מופעים שמופרדים ברווחים.
    • NETWORK הוא השם של רשת ה-VPC שצריך לשנות את מצב הניתוב הדינמי שלה.
    • MTU מציין אם לרשת יש MTU של 1460 (ברירת מחדל), 1500 או 8896. לפני שמגדירים את ה-MTU לערך גבוה מ-1460, כדאי לעיין בסקירה הכללית של יחידת השידור המקסימלית.

API

שינוי ה-MTU של רשת VPC קיימת.

PATCH https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK
{
  "mtu": MTU
}

מחליפים את ה-placeholders בערכים תקינים:

  • PROJECT_ID הוא מזהה הפרויקט שמכיל את רשת ה-VPC שרוצים לשנות.
  • NETWORK הוא השם של רשת ה-VPC שרוצים לשנות.
  • MTU הוא יחידת השידור המקסימלית של הרשת. אפשר להגדיר את ה-MTU לכל ערך מ-1300 עד 8896 (ברירת מחדל: 1460). לפני שמגדירים את ה-MTU לערך גבוה מ-1460, כדאי לעיין בסקירה הכללית של יחידת השידור המקסימלית.

מידע נוסף זמין במאמר בנושא השיטה subnetworks.patch.

שינוי הגדרת ה-MTU של מכונה וירטואלית של Windows

מכונות וירטואליות של Windows שמבוססות על קובצי אימג' ציבוריים של מערכת הפעלה מוגדרות עם MTU קבוע של 1460. יכול להיות שלמכונות וירטואליות מותאמות אישית של Windows יש הגדרות MTU שונות.

כדי להגדיר מכונות וירטואליות של Windows להשתמש ב-MTU שונה, מבצעים את הפעולות הבאות בכל מכונה וירטואלית:

שורת הפקודה

  1. פותחים את שורת הפקודה (cmd.exe) כאדמין.
  2. מריצים את הפקודה הבאה כדי לקבוע את האינדקס של הממשק שרוצים לעדכן:

    netsh interface ipv4 show interface 
  3. מעדכנים את הממשק:

    netsh interface ipv4 set interface INTERFACE_INDEX mtu=MTU store=persistent 
  4. מעדכנים את ההגדרה של מנהל ההתקן של המכשיר:

    1. פותחים את מנהל ההתקנים באמצעות הפקודה הבאה:
      devmgmt.msc
      
    2. מרחיבים את הקטגוריה מתאמי רשת.
    3. לוחצים לחיצה ימנית על המכשיר Google VirtIO Ethernet Adapter (מתאם אתרנט של Google VirtIO) או Google Ethernet Adapter (מתאם אתרנט של Google).
    4. בוחרים באפשרות מאפיינים.
    5. לוחצים על הכרטיסייהמתקדם.
    6. בשדה Init.MTUSize, מזינים את הגדרת ה-MTU.
    7. לוחצים על OK.

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

PowerShell

  1. פותחים את PowerShell כאדמין.
  2. מריצים את הפקודה הבאה:

    Set-NetIPInterface -InterfaceAlias INTERFACE_NAME -AddressFamily IPv4 -NlMtu MTU 
  3. מריצים את הפקודה הבאה כדי לעדכן את הגדרות מנהל ההתקן:

    Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword MTU -RegistryValue MTU 

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

העברת מכונות וירטואליות לרשת MTU אחרת

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

  1. יוצרים את הרשת החדשה עם ה-MTU החדש.
  2. יוצרים את כל כללי חומת האש והמסלולים שנדרשים ברשת החדשה.
  3. יוצרים מכונה וירטואלית עם כמה ממשקי רשת ברשת הישנה. ממשק אחד מתחבר לרשת החדשה באמצעות ה-MTU החדש, והממשק השני מתחבר לרשת הישנה באמצעות ה-MTU הישן.
  4. מגדירים את מכונת ה-VM החדשה כשרת משני לשרת הקיים.
  5. מעבירים את השרת הראשי לגיבוי בשרת המשני.
  6. מעבירים מכונות וירטואליות לרשת החדשה או יוצרים מכונות וירטואליות חדשות ברשת החדשה. אם יוצרים מכונות וירטואליות חדשות, אפשר ליצור אותן מאפס, מתמונה קיימת או על ידי יצירת snapshot של המכונות הווירטואליות הקיימות ושימוש בו כדי לאכלס את דיסקי האחסון המתמיד החדשים.
  7. מגדירים את המכונות הווירטואליות האלה כך שישתמשו בשרת התפעולי ברשת הזו.
  8. מעבירים את התנועה למכונות הווירטואליות החדשות.
  9. אם אתם מתכוונים למחוק את הרשת הישנה, אתם צריכים ליצור שרת חדש ברשת החדשה, לסנכרן אותו עם השרת הקיים ולבצע מעבר לגיבוי בעת כשל אליו.
  10. מוחקים את השרת הישן ואת הרשת הישנה.

נסו בעצמכם

אנחנו ממליצים למשתמשים חדשים ב-Google Cloud ליצור חשבון כדי שיוכלו להעריך את הביצועים של VPC בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300 $להרצה, לבדיקה ולפריסה של עומסי העבודה.

אני רוצה לנסות את VPC בחינם