מידע על השעיה והפסקה של מכונות וירטואליות ב-MIG

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

קבוצות MIG מאפשרות להשעות ולעצור מכונות וירטואליות כדי להשיג את המטרות הבאות:

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

תרחישים לדוגמה

בקטעים הבאים מתוארים תרחישי שימוש אופייניים למאגר ההמתנה בקבוצת MIG.

השהיה של אפליקציה או שירות

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

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

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

האצת הרחבת קבוצת MIG

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

מאגרי המתנה שימושיים לאפליקציות שלוקח הרבה זמן לאתחל, למשל בתרחישים הבאים:

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

משאבים שנשמרו

בטבלה הבאה מוצגים המשאבים שנשמרים כשמשעים ועוצרים מכונות וירטואליות ב-MIG.

משומר מכונה וירטואלית מושעית מכונה וירטואלית במצב 'הופסקה&#3
שם ה-VM
כתובת IP פנימית
כתובת IP חיצונית (זמנית)
כתובת IP חיצונית (סטטית*)
דיסקים
מטא-נתונים
זיכרון

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

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

התנהגות והגדרות

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

גדלי יעד של מאגרי שרתים מושעים ומופסקים

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

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

כשמשנים את גודל היעד של מאגרי כתובות IP שהופסקו או שהושעו, התנהגות ה-MIG היא כדלקמן:

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

מדיניות המתנה

מדיניות ההמתנה מגדירה את ההתנהגות של מאגר ההמתנה על סמך הפרמטרים הבאים שאתם מציינים:

  • Mode: המצב שבו ה-MIG משתמש במכונות וירטואליות מושעות ומופסקות. הערך יכול להיות מצב manual או scale-out-pool.
  • השהיה ראשונית: הזמן שבו ה-MIG מפעיל מכונה וירטואלית שנוצרה לאחרונה לפני שהוא משעה או מפסיק אותה. מגדירים את העיכוב הראשוני כדי לאפשר מספיק זמן לאפליקציה לבצע אתחול מראש ולהיות מוכנה להפעלה כשהמכונה הווירטואלית מופעלת או מופעלת מחדש.

מצב

אתם יכולים לבחור איך לנהל את מאגרי הממתינים על ידי הגדרת מצב הפעולה. יש שתי אפשרויות: מצב manual ומצב scale-out-pool.

מצב ידני (ברירת מחדל)

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

מצב ידני שימושי במקרים הבאים:

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

במצב ידני, קבוצת ה-MIG לא מפעילה אוטומציות על מאגר הממתינים:

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

מצב מאגר עם הגדלה

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

מצב מאגר להרחבת היקף השימוש שימושי להאצת הרחבת היקף השימוש ב-MIG במקרים הבאים:

  • אם משתמשים במידרוג אוטומטי ב-Compute Engine.
  • אם אתם משתמשים בכלי אוטומטיים של צד שלישי לשינוי גודל, ואתם רוצים לשמור על שילוב קיים.
  • אם מגדילים באופן ידני את גודל היעד של מכונות וירטואליות שפועלות.

במצב של הגדלת מאגר, ה-MIG מתנהג באופן הבא:

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

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

    אחרי שמשתמשים במאגר ההמתנה כדי להאיץ את הרחבת קנה המידה, ה-MIG מבצע את הפעולות הבאות:

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

השהיה ראשונית

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

העיכוב הראשוני מתרחש במקרים הבאים:

  • נוצרת מכונה וירטואלית חדשה עם מצב היעד הרצוי SUSPENDED או TERMINATED.
  • מכונה קיימת במצב RUNNING מושעית או מופסקת.

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

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

סטטוס היעד של מכונות וירטואליות בקבוצות MIG

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

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

כשמציגים רשימה של מכונות וירטואליות מנוהלות ב-MIG, אפשר לראות את השדה targetStatus. הוא מתאר את הסטטוס הסופי של מכונה וירטואלית, כשה-MIG יציב. הערך יכול להיות אחד מהערכים הבאים:

  • RUNNING
  • STOPPED
  • SUSPENDED

למכונות וירטואליות ב-MIG יכולים להיות אותם סטטוסים של מחזור החיים כמו למכונות וירטואליות בודדות. הדוגמאות הבאות מציגות פעולות אפשריות ב-MIG ואת הערכים המשויכים של השדה targetStatus:

  • יוצרים את המכונה הווירטואלית החדשה ומשעים אותה אחרי האתחול.
    • סטטוס היעד של מכונת ה-VM: ‏SUSPENDED.
  • להפעיל מחדש מכונה וירטואלית שהושעתה.
    • סטטוס היעד של ה-VM: RUNNING
  • מפסיקים מכונה וירטואלית שפעלה קודם.
    • סטטוס היעד של ה-VM: STOPPED
  • הפעלת VM שהופסק קודם לכן.
    • סטטוס היעד של ה-VM: RUNNING

מגבלות

  • המגבלות הבאות שחלות על השעיה של מכונות וירטואליות עצמאיות חלות גם על השעיה של מכונות וירטואליות ב-MIG:
    • אי אפשר להשעות מכונה שמשתמשת ב-GPU.
    • אי אפשר להשעות מופע Bare Metal.
    • אי אפשר להשעות מופע באמצעות התהליכים הרגילים שמוטמעים בסביבת האורח. פקודות כמו הפקודה systemctl suspend ב-Ubuntu 16.04 ואילך לא זמינות. המערכת מתעלמת מהאות בצד הלקוח.
    • אפשר להשהות מופע למשך 60 ימים לכל היותר לפני שהמכונה הווירטואלית נעצרת באופן אוטומטי.
    • אי אפשר להשעות מופעים עם יותר מ-208GB של זיכרון.
    • אפשר להשהות מופעים זמניים של מכונה וירטואלית, אבל יכול להיות שהמופע הזמני של מכונה וירטואלית יופסק לפני שההשהיה תצליח.
    • אי אפשר להשעות מכונה וירטואלית סודית.
    • אי אפשר להשעות מכונה וירטואלית שמצורפים אליה דיסקים שמוגנים באמצעות CSEK.
  • ב-MIG אזורי עם EVEN צורת חלוקה של יעד והפעלה של הקצאה מחדש של מכונות וירטואליות, אי אפשר להשהות, להפסיק, להפעיל מחדש או להפעיל מכונות וירטואליות ספציפיות בקבוצה. כדי לנהל מאגר במצב המתנה, מגדירים את גדלי היעד של המאגרים במצב השהיה ובמצב עצירה.
  • אי אפשר להשתמש במצב של מאגר להרחבת קיבולת אם הגדרתם תבנית של הגדרות מכונה שנייה לעדכון גרסה ראשונית (canary) בקבוצת ה-MIG.
  • אי אפשר להשהות או להפסיק מכונות וירטואליות בקבוצת MIG אם השבתתם את התיקונים בקבוצת ה-MIG.
  • אפשר להשהות מופע רק למשך 60 ימים לכל היותר לפני שהמכונה הווירטואלית נעצרת באופן אוטומטי.

תמחור

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

  • כל שימוש בדיסק אחסון מתמיד (persistent disk) עבור דיסק האתחול, וכל הדיסקים הנוספים שמצורפים ל-VM. מידע נוסף זמין במאמר בנושא תמחור של Persistent Disk.
  • כל כתובות ה-IP הסטטיות שמצורפות ל-VM. מידע נוסף זמין במאמר בנושא תמחור כתובות IP.
  • במקרה של מכונות וירטואליות מושעות, הזיכרון של המכונה הווירטואלית ומצב המכשיר. מידע נוסף זמין במאמר בנושא תמחור של מכונות VM.

המאמרים הבאים