במצבים מסוימים, יכול להיות שתרצו להעביר את עומס העבודה ממכונה וירטואלית (VM) קיימת למכונה וירטואלית חדשה יותר. הסיבות למעבר למכונה וירטואלית חדשה כוללות את הדברים הבאים:
- כדאי לנצל את סוגי המכונות החדשים כדי לקבל מהירויות אחסון או מהירויות רשת גבוהות יותר. לדוגמה, שדרוג מ-C2 ל-H3 כדי לשפר את רוחב הפס של הרשת.
- ליהנות מביצועים טובים יותר ביחס למחיר בהשוואה למכונת ה-VM המקורית. לדוגמה, שדרוג מ-N1 ל-N4 כדי לקבל ערך גבוה יותר במעבד Intel Xeon דור 5.
- להשתמש בתכונות שזמינות רק במכונה הווירטואלית החדשה. לדוגמה, שדרוג מ-N4 ל-C4 כדי ליהנות מביצועים משופרים ומאפשרויות תחזוקה נוספות, או שדרוג מ-H3 ל-H4D כדי לקבל תמיכה ב-Cloud RDMA.
- שינוי מכונה וירטואלית (VM) למכונת Bare Metal.
- מוסיפים דיסקים של SSD מקומי למכונת VM מסוג C3 או C3D.
כשמשדרגים לסדרת המכונות מהדור החדש ביותר, יכול להיות שאפשר להשתמש בהליך הפשוט יותר שמתואר במאמר עריכת סוג המכונה של מופע Compute אם המכונה הווירטואלית הנוכחית (מקור) עומדת בתנאים הבאים:
- גרסת מערכת ההפעלה (OS) נתמכת על ידי סדרת המכונות החדשה.
- סוג הדיסק של דיסק האתחול שמחובר למכונה הווירטואלית של המקור נתמך על ידי סדרת המכונות החדשה.
- המכונה הווירטואלית לא משתמשת באחסון SSD מקומי.
- המכונה הווירטואלית עם יחידות ה-GPU המצורפות משתמשת בסוג מכונה G2. פרטים נוספים זמינים במאמר הוספה או הסרה של יחידות GPU.
- המכונה הווירטואלית משתמשת רק בתכונות שנתמכות בסדרת המכונות החדשה.
- המכונה הווירטואלית לא שייכת לקבוצת מופעי מכונה מנוהלים (MIG).
- כדי להשתמש בתכונות החדשות, לא צריך ליצור ממשקי רשת נוספים למופע.
לפני שמתחילים
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Google Cloud
gcloud
-
התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
- הגדרת אזור ותחום כברירת מחדל
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לעריכה או לשינוי של מכונה וירטואלית, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
- מנהל מכונות של Compute (גרסה 1) (
roles/compute.admin.v1) -
כדי לשנות את סוג הרשת:
אדמין רשת ב-Compute Engine (
roles/compute.networkAdmin)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה מכילים את ההרשאות שנדרשות לעריכה או לשינוי של מכונה וירטואלית. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי לערוך או לשנות מכונה וירטואלית, נדרשות ההרשאות הבאות:
-
כדי לשנות את סוג המכונה:
-
compute.instances.stopבפרויקט -
compute.instances.createבפרויקט -
compute.instances.startבפרויקט -
compute.instances.setMachineTypeבמופע
-
-
כדי ליצור קובץ snapshot של דיסק האתחול של מופע המקור:
-
compute.snapshots.createבפרויקט -
compute.disks.createSnapshotבדיסק
-
-
כדי ליצור דיסק חדש:
-
compute.disks.listבפרויקט -
compute.disks.createבפרויקט -
compute.disks.updateבפרויקט
-
-
כדי לצרף דיסק למופע:
-
compute.instances.attachDiskבמופע -
compute.disks.useבדיסק
-
-
כדי למחוק דיסק:
compute.disks.deleteבפרויקט -
כדי לשנות את סוג הרשת:
-
compute.networks.listבפרויקט -
compute.networks.updateבפרויקט
-
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
הערכת האפשרויות להעברת מכונות וירטואליות
ההעברה מסוג מכונה אחד לסוג מכונה אחר תלויה בכמה גורמים, כולל הזמינות האזורית של סוג המכונה החדש והתאימות של אפשרויות האחסון וממשקי הרשת ביחס למערכת ההפעלה של האורח במקור ולסדרת המכונות החדשה.
דרישות מחשוב
כדאי לעיין בדרישות הבאות לגבי המופע הנוכחי וסוג המכונה החדש:
- כדי לזהות אילו סוגי מכונות מתאימים לעומס העבודה שלכם, אפשר לעיין במסמכי העזרה בנושא משפחת מכונות. כדאי לשקול אם האפליקציה דורשת חומרה ספציפית (מעבדים גרפיים), ביצועים גבוהים או עלויות נמוכות יותר.
- בודקים את התכונות של סוגי הדיסקים שנתמכים על ידי סוג המכונה החדש. רוב התכונות של Persistent Disk נתמכות ב-Hyperdisk, אבל לא כולן. עם זאת, Hyperdisk מספק תכונות נוספות שלא זמינות ב-Persistent Disk.
- בודקים את התכונות של סדרת המכונות הרלוונטית. יכול להיות שסדרת המכונות החדשה לא תתמוך באותם תכונות שבהן אתם משתמשים בסדרת המכונות הנוכחית, כמו סוגי מכונות בהתאמה אישית, SSD מקומי או מכונה וירטואלית מוגנת.
- כדאי לעיין באזורים ובתחומי זמינות כדי לוודא שסדרת המכונות החדשה זמינה בכל האזורים שבהם נמצאת מכונת ה-VM הנוכחית. יכול להיות שתצטרכו לשנות את תוכניות הפריסה, הזמינות הגבוהה והתאוששות מאסון.
- בודקים את תוכנית ההעברה של מערכת ההפעלה:
- אם המכונה הווירטואלית החדשה דורשת גרסה חדשה יותר של מערכת ההפעלה, צריך לוודא שהאפליקציות תואמות לגרסה החדשה יותר של מערכת ההפעלה.
- אם אתם עוברים ל-Arm ואין תמונת Arm זמינה לגרסת מערכת ההפעלה הנוכחית שלכם, אתם צריכים לבחור מערכת הפעלה חדשה או גרסה חדשה של מערכת ההפעלה כדי להריץ את האפליקציות שלכם, ולוודא שהאפליקציות תואמות למערכת ההפעלה החדשה.
- אפשר לבצע מיגרציה ממכונה וירטואלית C3 למכונת Bare Metal C3, בתנאי שמכונת המקור C3 משתמשת במערכת הפעלה ובדרייבר רשת נתמכים.
- אם אתם עוברים מסדרת מכונות שאינה C3 למכונת Bare Metal, אתם צריכים ליצור מכונה חדשה. יכול להיות שתצטרכו להפעיל היפרויזור משלכם, אבל אתם יכולים גם להפעיל כל מערכת הפעלה שתומכת במופעי Bare Metal, כל עוד מופעל מנהל ההתקן של IDPF. מכונות Bare metal משתמשות בממשק הרשת IDPF שמוצג רק כפונקציה פיזית, ולא כפונקציה וירטואלית.
דרישות אחסון
כדאי לבדוק את דרישות האחסון הבאות עבור המופע הנוכחי וסוג המופע החדש:
- צריך לבדוק את סוגי האחסון הנתמכים ואת ממשקי האחסון הנתמכים בסדרת המכונות החדשה.
- כברירת מחדל, סדרות מכונות מהדור הראשון והשני משתמשות רק בסוג האחסון Persistent Disk ובממשקי VirtIO-SCSI.
- מכונות מהדור השלישי ומסדרות מכונות חדשות יותר (כמו M3, C3 ו-N4) תומכות רק בממשק NVMe, וחלקן תומכות רק בסוגי האחסון Hyperdisk ו-Local SSD.
- מכונות Bare metal תומכות רק ב-Hyperdisk.
- תאימות הדיסק:
- אם דיסק האתחול משתמש בסוג דיסק שלא נתמך בסדרת המכונות החדשה, למשל
pd-standard, צריך ליצור דיסק אתחול חדש למכונה הווירטואלית החדשה. - אם משדרגים את מערכת ההפעלה לגרסה חדשה, ומערכת ההפעלה לא תומכת בשדרוגים במקום, צריך ליצור דיסק אתחול חדש. כל הנתונים בדיסק האתחול המקורי יאבדו, אלא אם תעתיקו אותם לדיסק זמני שאינו דיסק אתחול. לאחר מכן, יוצרים דיסק אתחול חדש ומעתיקים אליו את הנתונים שמאוחסנים בדיסק הזמני שאינו דיסק אתחול.
- אם אתם לא משדרגים את גרסת מערכת ההפעלה, אתם יכולים לצלם תמונת מצב של דיסק האתחול הנוכחי ולשחזר אותה לדיסק החדש שנתמך. כשיוצרים מכונה וירטואלית, אפשר להשתמש בדיסק החדש הזה כדיסק האתחול.
- אם בדיסק שאינו דיסק אתחול נעשה שימוש בסוג דיסק שלא נתמך בסדרת המכונות החדשה, אפשר להשתמש בתמונת מצב כדי לשנות את דיסק המקור לסוג דיסק חדש, כמו שמתואר במאמר שינוי סוג הדיסק.
- אם דיסק האתחול משתמש בסוג דיסק שלא נתמך בסדרת המכונות החדשה, למשל
- אי אפשר להעביר דיסקים מקומיים של SSD למכונה וירטואלית חדשה. אפשר לצרף למכונה הווירטואלית הנוכחית דיסק גדול מספיק כדי לאחסן את כל הנתונים של ה-SSD המקומי, ואז להשתמש בתמונת מצב כדי לשנות את דיסק המקור לסוג דיסק חדש, כמו שמתואר במאמר בנושא שינוי סוג הדיסק. אחרי שיוצרים מכונת VM עם דיסקים מקומיים מסוג SSD שמצורפים אליה, אפשר להעתיק את הנתונים בחזרה לדיסקים המקומיים מסוג SSD.
- אם המכונה הווירטואלית הנוכחית משתמשת בדיסקים במאגר אחסון, אבל אתם מעבירים את עומס העבודה למכונה וירטואלית באזור אחר, אתם צריכים ליצור מחדש את הדיסקים ואת מאגר האחסון באזור החדש.
- אם סדרת המכונות החדשה משתמשת בממשק דיסק שונה (למשל, NVMe במקום SCSI), אז שמות מכשירי הדיסק במערכת ההפעלה של האורח שונים. חשוב לוודא שהאפליקציות והסקריפטים משתמשים בשמות מכשירים קבועים או בקישורים סמליים כשמפנים לדיסקים המצורפים.
דרישות רשת
כדאי לבדוק את דרישות הרשת עבור המופע הנוכחי וסוג המופע החדש:
בודקים את ממשקי הרשת הנתמכים של המכונה הווירטואלית החדשה.
- כברירת מחדל, סדרות מכונות מהדור הראשון והשני משתמשות רק בממשק הרשת VirtIO.
- סדרות מכונות מהדור השלישי ומעלה (כמו M3, C3 ו-N4) תומכות רק בממשק הרשת gVNIC.
- מכונות Bare metal תומכות רק בממשק הרשת IDPF.
מוודאים שהאפליקציה ומערכת ההפעלה תומכות בממשקים שזמינים לסדרת המכונות.
כדאי לבדוק את הגדרת הרשת של המכונה הווירטואלית כדי לראות אם צריך לשמור את כתובות ה-IP שהוקצו. אם כן, צריך להפוך את כתובות ה-IP לכתובות IP סטטיות.
אם אתם משתמשים בביצועי רשת Tier_1 לכל מכונה וירטואלית במכונה הווירטואלית הנוכחית, ודאו שהם זמינים או נדרשים בסדרת המכונות החדשה. לדוגמה, אפשר להשתמש ברשת Tier_1 עם סוג מכונה C2, אבל היא לא זמינה עם מכונה וירטואלית H3.
כדי לקבוע את סוג ממשק הרשת של המכונה הווירטואלית הנוכחית, משתמשים בפקודה gcloud compute instances describe כדי להציג את nic-type של המכונה הווירטואלית:
gcloud compute instances describe VM_NAME --zone=ZONE
אם ה-VM נוצר עם סוג כרטיס ה-NIC שמוגדר כברירת מחדל (VirtIO), סוג כרטיס ה-NIC משתנה אוטומטית ל-gVNIC כשמשנים את סוג המכונה לסוג מכונה מהדור השלישי או מדורות מאוחרים יותר.
הכנה להעברת מכונות וירטואליות קיימות
אחרי שמסיימים את הקטע של ההערכה, השלב הבא הוא להתכונן להעברת המכונות הווירטואליות על ידי בקשת משאבים למכונה הווירטואלית החדשה והכנת גיבויים של המכונה הווירטואלית המקורית.
הכנת משאבי מחשוב
כדי להתכונן להעברת המופע הנוכחי למופע חדש:
- מבקשים מכסה באזור ובתחומים שבהם מתכננים להעביר את המשאבים. אם יש לכם מכסה קיימת לסוג מכונה, אתם יכולים לבקש להעביר את המכסה הזו. התהליך נמשך כמה ימים.
- יוצרים הזמנה למכונות הווירטואליות החדשות כדי לוודא שמשאבי המכונה זמינים באזור ובאזורים החדשים. חשוב להבין איך משתמשים במשאבים שמורים ולוודא שאפשר להשתמש במשאבים שמורים.
- הרחבת התוכניות לזמינות גבוהה ולהתאוששות מאסון כך שיכללו את האזור החדש.
- אם צריך, משדרגים את מערכת ההפעלה במכונה הווירטואלית הנוכחית.
- אם ספק מערכת ההפעלה תומך בכך, מבצעים שדרוג במקום של מערכת ההפעלה לגרסה שנתמכת על ידי סדרת המכונות החדשה, ומוודאים שעומס העבודה פועל כמצופה בגרסה החדשה של מערכת ההפעלה.
- אם שדרוג במקום של מערכת ההפעלה לא נתמך, כשיוצרים מכונה וירטואלית חדשה, צריך ליצור דיסק אתחול חדש. קובעים איזה מידע צריך להעתיק מדיסק האתחול הנוכחי, ומעתיקים אותו למיקום זמני בדיסק שאינו דיסק אתחול, כדי שאפשר יהיה להעביר אותו למכונה הווירטואלית החדשה. אם אין לכם דיסקים שאינם דיסקי אתחול שמצורפים למכונה הווירטואלית הנוכחית:
- לסוגי מכונות מהדור הראשון והשני, אפשר לעיין במאמר בנושא הוספת אחסון Persistent Disk למכונה הווירטואלית.
- לסוגי מכונות מהדור השלישי ואילך, אפשר לעיין במאמר בנושא הוספת אחסון Hyperdisk למכונת ה-VM.
- אם רלוונטי להפצת Linux שלכם, בודקים את הכללים של udev בקטע
/etc/udev/rules.d/. יכול להיות שהקובץ הזה יכיל רשומות שרלוונטיות לתצורת החומרה של המופע הנוכחי, אבל לא של המופע החדש. לדוגמה, הרשומה הבאה מבטיחה שהממשקeth0יסופק על ידי מנהל ההתקןvirtio-pci(VirtIO Net), וכך מונעת ממנהל ההתקןgve(gVNIC) לספק את הממשק הזה. הדבר עלול להוביל לסקריפטים להפעלה של רשתות ולבעיות בקישוריות במופע החדש:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="virtio-pci", ATTR{dev_id}=="0x0", KERNELS=="0000:00:04.0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
הכנת משאבי אחסון
כדי להתכונן להעברת הנתונים בדיסקים שמצורפים למופע הנוכחי למופע חדש, פועלים לפי השלבים הבאים:
- במערכות Linux, צריך לבדוק את האפליקציות והסקריפטים המעודכנים כדי לוודא שהם פועלים עם שמות מכשירים קבועים או עם קישורי סמלים במקום עם שמות מכשירים בכונן.
- אם אתם מעבירים נתונים ממכונה וירטואלית שמופעלת באמצעות Microsoft Windows:
- חובה לעדכן את מנהל ההתקן של NVMe במכונות וירטואליות שנוצרו לפני מאי 2022. ההגבלה הזו חלה על דיסק האתחול במכונה הווירטואלית הנוכחית ועל כל קובצי ה-snapshot או האימג' בהתאמה אישית שנוצרו בעבר ומשמשים ליצירת מכונה וירטואלית.
- צריך להגדיר מחדש את Windows כדי להתחיל להשתמש במנהל ההתקן של Microsoft NVMe (StorNVMe). פועלים לפי ההוראות כדי לעדכן את מכשיר האתחול.
- אם המכונה הווירטואלית החדשה לא תומכת באותם סוגי דיסקים כמו המכונה הווירטואלית הנוכחית, יכול להיות שתצטרכו לעדכן את סקריפטים הפריסה או את תבניות המכונות כדי לתמוך בסדרת המכונות החדשה.
- אם המכונה הווירטואלית הנוכחית משתמשת בסוג דיסק לדיסק האתחול שלא נתמך בסדרת המכונות החדשה, ואתם מעבירים כמה מכונות וירטואליות עם אותה הגדרה, אתם יכולים ליצור אימג' בהתאמה אישית לשימוש כשיוצרים את המכונות הווירטואליות החדשות:
- יוצרים קובץ snapshot של דיסק האתחול pd-standard של המכונה הווירטואלית הנוכחית.
- יוצרים אימג' בהתאמה אישית באמצעות קובץ ה-snapshot של הדיסק כמקור.
- אם אתם צריכים להעביר מידע מ-SSD מקומי, אתם יכולים ליצור דיסק ריק בגודל מספיק כדי לגבות את דיסקי ה-SSD המקומיים.
- אם אפשר, משתמשים בסוג דיסק שנתמך על ידי מכונת ה-VM החדשה.
- אם אין סוגי דיסקים שנתמכים גם על ידי ה-VM הנוכחי וגם על ידי ה-VM החדש, צריך ליצור דיסק זמני באמצעות סוג דיסק שנתמך על ידי ה-VM הנוכחי.
- מחברים את הדיסק החדש למכונה הווירטואלית הנוכחית, ואז מעצבים את הדיסק ומעלים אותו.
- מעתיקים את הנתונים מדיסקי ה-SSD המקומיים שמחוברים למכונה הווירטואלית הנוכחית לדיסק הזמני הזה.
משנים את סוג הדיסק של כל הדיסקים שמחוברים למכונה הווירטואלית הנוכחית ומשתמשים בסוג דיסק שלא נתמך על ידי המכונה הווירטואלית החדשה. כדי להעביר את נתוני הדיסק לדיסקים חדשים, יוצרים תמונות מצב של הדיסקים. אפשר גם להעביר קבצים ממכונה וירטואלית אחת לאחרת.
- אפשר לצלם את קובצי ה-Snapshot בזמן שהמכונה הווירטואלית פועלת, אבל נתונים שנכתבו לדיסקים אחרי צילום ה-Snapshot לא נשמרים. מכיוון שתמונות המצב הן מצטברות, אפשר לצלם תמונת מצב שנייה אחרי שמפסיקים את מכונת ה-VM כדי לתעד את כל השינויים האחרונים. הגישה הזו אמורה לצמצם את משך הזמן שבו המכונה הווירטואלית לא זמינה בזמן המעבר למכונה וירטואלית חדשה.
- אפשרות אחרת היא לצלם את כל ה-snapshots של הדיסקים אחרי שמפסיקים את ה-VM. מומלץ ליצור snapshot של כל הדיסקים שמצורפים ל-VM, גם אם סוג הדיסק נתמך בסדרת המכונות החדשה. כוללים דיסקים זמניים שמכילים את הנתונים המועתקים של ה-SSD המקומי.
- משך הזמן שדרוש ליצירת תמונת מצב של דיסק תלוי בכמה גורמים, כמו גודל הדיסק וכמות הנתונים שמאוחסנים בו. לדוגמה, אם מצלמים תמונת מצב של דיסק בנפח 1TiB ש-85% ממנו מלאים, יכול להיות שיחלפו 5 דקות עד שתמונת המצב תושלם. אבל אם מצלמים תמונת מצב של דיסק בנפח 100TiB שהוא מלא ב-85%, יכול להיות שייקח 11 דקות להשלים את הפעולה. מומלץ לבצע צילומי מצב של הדיסקים לפני שמתחילים בתהליך ההעברה, כדי להבין כמה זמן לוקח ליצור צילום מצב.
אם יש לכם דיסק שאפשר להעביר למצב אופליין, אתם יכולים להשתמש בגישה הבאה כדי להעביר את הנתונים לדיסק חדש בזמן שהמכונה הווירטואלית של המקור עדיין זמינה:
- מנתקים את הדיסק מה-VM.
- יוצרים קובץ snapshot של הדיסק.
- משתמשים ב-snapshot כדי ליצור דיסק חדש באמצעות סוג דיסק שנתמך בסדרת המכונות החדשה. הגודל של הדיסק החדש צריך להיות זהה לזה של דיסק המקור או גדול ממנו.
הכנת משאבי רשת
כדי לעדכן את הגדרת הרשת שבה נעשה שימוש במכונה הנוכחית כדי לתמוך במכונה החדשה:
- אם אתם יוצרים מכונה וירטואלית באזור חדש, אתם צריכים ליצור רשת VPC ותתי-רשתות באזור החדש.
- אם הגדרתם מספרים מותאמים אישית של תורים ל-NIC, כדאי לעיין במאמר הקצאות של תורים ושינוי סוג המכונה.
- אם רוצים לשמור את כתובות ה-IP שבהן נעשה שימוש במכונה הווירטואלית של המקור, מקדמים את כתובות ה-IP לכתובות IP סטטיות.
- ביטול ההקצאה של כתובת IP סטטית לפני שמפסיקים את המכונה הווירטואלית של המקור.
הכנה של מערכת ההפעלה SUSE Enterprise Linux Server
כדי להימנע מתלות בחומרה ספציפית, צריך לבנות מחדש את initramfs (מערכת קבצים ראשונית של RAM). היא כוללת מגוון רחב יותר של מנהלי התקנים ומודולים, ולכן מערכת ההפעלה תואמת לסוגים אחרים של מופעים. אם לא תעשו זאת, תיתקלו בבעיה ידועה שתמנע את האתחול התקין של המכונה הווירטואלית.
לפני שמכבים את המערכת, מריצים את הפקודה הבאה כ-root כדי לבנות מחדש את initramfs עם כל הדרייברים:
sudo dracut --force --no-hostonly
העברת עומס העבודה למכונה הווירטואלית החדשה
אחרי הכנת המכונות הווירטואליות להעברה, השלב הבא הוא להעביר את עומס העבודה למכונה הווירטואלית החדשה.
אם אתם מעבירים את מכונות ה-VM מסדרת מכונות מהדור הראשון לסדרת מכונות מהדור השני, כדאי לקרוא את ההוראות במאמר עריכת סוג המכונה של מכונת VM. אם רוצים לשנות את השם של מכונה וירטואלית קיימת, אפשר לעיין במידע במאמר בנושא שינוי השם של מכונה וירטואלית.
בקטע הזה מוסבר איך להעביר את עומס העבודה ממכונה וירטואלית (VM) מהדור הראשון או השני למכונה וירטואלית מהדור השלישי (או חדש יותר). במהלך התהליך הזה, יוצרים מופע חדש של מכונה וירטואלית, ואז מעבירים את עומסי העבודה למכונה הווירטואלית החדשה.
יצירת מכונה וירטואלית חדשה
כשמעבירים עומסי עבודה ממכונות וירטואליות מהדור הראשון או השני (לדוגמה, N1 או N2) לדור השלישי או לדורות מאוחרים יותר, צריך קודם ליצור מכונה וירטואלית חדשה ואז להעביר את עומסי העבודה.
- אם המכונה הווירטואלית של המקור משתמשת בדיסקים שאינם דיסקי אתחול עם סוג דיסק שנתמך על ידי סדרת המכונות החדשה, צריך לנתק את הדיסקים מהמכונה הווירטואלית.
- מפסיקים את ה-VM של המקור.
- יוצרים קובצי snapshot של כל הדיסקים שעדיין מצורפים למכונת ה-VM של המקור.
- יוצרים מכונה וירטואלית חדשה ב-Compute באמצעות אימג' ציבורי או אימג' בהתאמה אישית שמוגדר לשימוש ב-gVNIC.
כשיוצרים את המכונה הווירטואלית החדשה, בוחרים באפשרויות הבאות:
- בוחרים את סוג המכונה מתוך סדרת המכונות שבחרתם.
- בוחרים תמונת מערכת הפעלה נתמכת או משתמשים בתמונה מותאמת אישית שיצרתם בעבר.
- בוחרים סוג נתמך של דיסק לדיסק האתחול, למשל Hyperdisk Balanced.
- אם יצרתם דיסקים חדשים מקובצי snapshot של הדיסקים המקוריים, צריך לכלול את הדיסקים החדשים האלה.
- מציינים את רשת ה-VPC החדשה, אם יוצרים את המכונה באזור אחר.
- אם גם VirtIO וגם gVNIC נתמכים במופע החדש, בוחרים ב-gVNIC.
- מציינים את כתובות ה-IP הסטטיות, אם קידמתם את כתובות ה-IP הארעיות של המכונה הווירטואלית של המקור.
- מפעילים את מכונת ה-VM החדשה.
אחרי שהמופע מתחיל
אחרי שיצרתם את המכונה החדשה והפעלתם אותה, צריך לבצע את השלבים הבאים כדי לסיים את ההגדרה של המכונה החדשה ולהעתיק את כל הנתונים מהמכונה המקורית.
- מחברים את הדיסקים שניתקתם ממכונת ה-VM המקורית למכונה הווירטואלית החדשה.
- לכל דיסק שמצורף למכונת ה-VM של המקור ומשתמש בסוג דיסק שלא נתמך על ידי מכונת ה-VM החדשה, יוצרים דיסק מ-snapshot ומצרפים אותו למופע החדש. כשיוצרים את הדיסק החדש, בוחרים סוג דיסק שנתמך על ידי המכונה הווירטואלית החדשה ומציינים גודל שלא קטן מהגודל של הדיסק המקורי.
- אם המכונה הווירטואלית המקורית השתמשה במדיניות משאבים עבור דיסקים שנוצרו מחדש עבור המכונה הווירטואלית החדשה, צריך להוסיף את מדיניות המשאבים לדיסקים החדשים.
- אם יצרתם את המכונה הווירטואלית החדשה באמצעות תמונת מערכת הפעלה ציבורית ולא באמצעות תמונה בהתאמה אישית, אתם צריכים לבצע את הפעולות הבאות:
- מגדירים את המשתמשים, מנהלי ההתקנים, החבילות וספריות הקבצים הדרושים במופע החדש כדי לתמוך בעומס העבודה.
- מתקינים את האפליקציות והתוכנות ששיניתם במכונה הווירטואלית החדשה. אם נדרש, קומפלו מחדש את התוכניות במערכת ההפעלה או בארכיטקטורה החדשה.
- אופציונלי: אם העברתם את התוכן של דיסקים של SSD מקומי לדיסק זמני, ולמכונת ה-VM החדשה מצורף אחסון SSD מקומי, אחרי הפורמט וההרכבה של הדיסקים, תוכלו להעביר את הנתונים מהדיסק הזמני לדיסקים של ה-SSD המקומי.
- מקצים מחדש כתובות IP סטטיות שמשויכות למכונה הווירטואלית המקורית למכונה הווירטואלית החדשה.
- משלימים את כל המשימות הנוספות שנדרשות כדי להפוך את המכונה הווירטואלית החדשה לזמינה מאוד, כמו הגדרת מאזני עומסים ועדכון כללי ההעברה.
- אופציונלי: מעדכנים את רשומות ה-DNS, אם צריך, עבור המכונה הווירטואלית החדשה.
- מומלץ: תזמון גיבויים של הדיסקים החדשים.
- מומלץ: אם שיניתם את מערכת ההפעלה לגרסה או לארכיטקטורה אחרת, צריך לקמפל מחדש את האפליקציות.
אם אתם נתקלים בבעיות בקיבולת כשאתם מעבירים את עומסי העבודה, אתם יכולים לפנות למנהל החשבון הטכני (TAM). לבעיות אחרות, אפשר לפתוח בקשת תמיכה ב-Cloud Customer Care.
דוגמה להעברה מ-n1-standard-8 ל-n4-standard-8
בדוגמה הבאה מוצגת העברה של מכונת n1-standard-8 וירטואלית למכונת n4-standard-8 וירטואלית. למכונה הווירטואלית n1-standard-8 יש דיסק אתחול PD-SSD שמופעל על ידי תמונת Ubuntu1804 ודיסק נתונים PD-SSD. כדי לבצע את הפעולה הזו, צריך להשתמש ב-CLI או ב-API בארכיטקטורת REST.
יש שתי אפשרויות לשדרוג מכונת N1 וירטואלית למכונת N4 וירטואלית:
אפשרות 1: אם מכונת N1 VM משתמשת בממשק הרשת VirtIO, צריך ליצור מכונת N4 VM חדשה. N4 תומך רק בממשק הרשת gvnic ובדיסקים מסוג Hyperdisk Balanced. יוצרים קובץ snapshot של דיסקי האתחול ודיסקי הנתונים של אחסון מתמיד (persistent disk), יוצרים דיסקים מסוג Hyperdisk Balanced מקובצי ה-snapshot האלה, מצרפים את הדיסקים מסוג Hyperdisk Balanced ויוצרים את מכונת ה-VM החדשה מסוג N4 עם הדיסקים מסוג Hyperdisk Balanced.
אפשר גם ליצור דיסק אתחול חדש מסוג Hyperdisk Balanced באמצעות גרסה עדכנית יותר של מערכת ההפעלה Ubuntu. בתרחיש הזה, אפשר ליצור דיסק חדש מסוג Hyperdisk Balanced מקובץ ה-snapshot של דיסק האתחול, אבל צריך לצרף את הדיסק הזה ל-VM מסוג N4 כדיסק שאינו דיסק אתחול. לאחר מכן תוכלו להעתיק נתונים שאינם נתוני מערכת מהתמונה ששוחזרה לדיסק האתחול החדש.
אפשרות 2: אם המכונה הווירטואלית N1 משתמשת בממשק הרשת gvnic, למערכת ההפעלה יש מנהל התקן של מכשיר אחסון NVMe, לא מחוברים אליה דיסקים מקומיים מסוג SSD או GPU, והיא לא חלק מקבוצת מופעי מכונה מנוהלים (MIG), אפשר לשנות את סוג המכונה מ-N1 ל-N4, אבל עדיין צריך לשנות את סוגי הדיסקים של Persistent Disk לדיסקים מסוג Hyperdisk Balanced. קודם צריך לנתק את דיסקי האתחול ואת דיסקי הנתונים של Persistent Disk, ליצור snapshots של הדיסקים, ליצור דיסקים מסוג Hyperdisk Balanced באמצעות ה-snapshots כמקור, ואז לצרף את הדיסקים החדשים מסוג Hyperdisk Balanced ל-VM מסוג N4 אחרי שמחליפים את סוג המכונה. אם יש יחידות GPU שמצורפות למכונה הווירטואלית, צריך קודם לנתק אותן.
הזמן ליצירת תמונת מצב של דיסק תלוי בכמה גורמים, כמו המספר הכולל של טרה-בייט בדיסק. לדוגמה, אם מצלמים תמונת מצב של דיסק בנפח 1 TB ש-85% ממנו מלאים, יכול להיות שתמונת המצב תושלם תוך 5 דקות. אבל אם מצלמים תמונת מצב של דיסק בנפח 100 TB עם 85% נפח אחסון מלא, יכול להיות שהפעולה תימשך 11 דקות. Google ממליצה ליצור תמונות מצב של הדיסקים לפני שמתחילים את תהליך ההעברה, כדי להבין כמה זמן לוקח ליצור תמונות מצב.
gcloud
אפשרות 1: יצירת מכונת VM חדשה מסוג N4 עם דיסקים שנוצרו מהם קובצי snapshot:
מפסיקים את מכונת ה-VM באמצעות הפקודה gcloud compute instances stop:
gcloud compute instances stop VM_NAME \ --zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
-
VM_NAMEהשם של המכונה הווירטואלית הנוכחיתn1-standard-8. -
ZONE: האזור שבו נמצאת המכונה הווירטואלית.
-
יוצרים תמונת מצב של הדיסקים. משתמשים בפקודה gcloud compute snapshots create כדי ליצור snapshot של דיסק האתחול ושל דיסק הנתונים של האחסון המתמיד שמצורפים למכונה הווירטואלית.
gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk=SOURCE_DISK_NAME \ --source-disk-zone=SOURCE_DISK_ZONEמחליפים את מה שכתוב בשדות הבאים:
-
SNAPSHOT_NAME: השם של קובץ ה-snapshot שרוצים ליצור. -
SOURCE_DISK_NAME: השם של דיסק המקור. -
SOURCE_DISK_ZONE: האזור של דיסק המקור.
-
יוצרים דיסק חדש מסוג Hyperdisk Balanced לדיסק הנתונים, על ידי חזרה על השלב הקודם וציון פרטי דיסק הנתונים במקום דיסק האתחול. gcloud compute disks create:
gcloud compute disks create DISK_NAME \ --project=PROJECT_NAME \ --type=DISK_TYPE \ --size=DISK_SIZE \ --zone=ZONE \ --source-snapshot=SNAPSHOT_NAME \ --provisioned-iops=PROVISIONED_IOPS \ --provisioned-throughput=PROVISIONED_THROUGHPUTמחליפים את מה שכתוב בשדות הבאים:
-
DISK_NAME: השם של הדיסק החדש שאתם יוצרים מהדיסק שנוצר ממנו ה-snapshot. -
PROJECT_NAME: שם הפרויקט. -
DISK_TYPE: סוג הדיסק החדש – בדוגמה הזו, זהו דיסק Hyperdisk Balanced. -
DISK_SIZE: גודל הדיסק (לדוגמה:100GB). -
ZONE: האזור שבו נמצא הדיסק החדש. -
SNAPSHOT_NAME: השם של דיסק המקור של ה-snapshot. - אופציונלי:
PROVISIONED_IOPS: ביצועי ה-IOPS של הדיסק (לדוגמה:3600). - אופציונלי:
PROVISIONED_THROUGHPUT: ביצועי התפוקה של הקצאת הדיסק (לדוגמה:290).
-
חוזרים על השלב הקודם לכל דיסק שנוצר לו צילום מצב.
יוצרים את מכונת ה-
n4-standard-8ומצרפים את דיסקי Hyperdisk Balanced באמצעות הפקודה gcloud compute instances create:gcloud compute instances create VM_NAME \ --project=PROJECT_NAME \ --zone=ZONE \ --machine-type=NEW_MACHINE_TYPE \ --boot-disk-device-name=BOOT_DISK_NAME \ --disk=name=NON_BOOT_DISK_NAME, boot=no \ --network-interface=nic-type=GVNICמחליפים את מה שכתוב בשדות הבאים:
-
VM_NAME: השם של המופע החדש של המכונה הווירטואלית. -
PROJECT_NAME: שם הפרויקט. -
ZONE: האזור שבו נמצאת המכונה הווירטואלית החדשה. -
NEW_MACHINE_TYPE: סוג המכונה. בדוגמה הזו זהn4-standard-8. -
BOOT_DISK_NAMEהשם של דיסק האתחול מסוג Hyperdisk Balanced שיצרתם מקובץ ה-snapshot של דיסק המקור שמחובר ל-VMn1-standard-8. -
NON_BOOT_DISK_NAMEהשם של דיסק הנתונים מסוג Hyperdisk Balanced שיצרתם מדיסק ה-snapshot של המקור שמצורף ל-VMn1-standard-8.
-
מפעילים את מכונת ה-VM
n4-standard-8באמצעות הפקודה gcloud compute instances start:gcloud compute instances start VM_NAME
מחליפים את
VM_NAMEבשם של המכונה הווירטואלית החדשה.
אפשרות 2: ביצוע שדרוג במקום במחשב:
האפשרות הזו זמינה רק אם המכונה הווירטואלית N1 משתמשת בממשק הרשת gvnic, למערכת ההפעלה יש מנהל התקן של מכשיר אחסון NVMe, לא מצורפים אליה דיסקים מקומיים של SSD או יחידות GPU, והיא לא חלק מקבוצת מופעי מכונה מנוהלים (MIG). ביצוע התהליך הזה במכונת N1 וירטואלית עם ממשק רשת VirtIO יוצר שגיאה של אי-תאימות של מכונה וירטואלית.
- עוצרים את ה-VM.
- מנתקים את הדיסקים מה-VM.
- יוצרים snapshot של דיסקי האתחול והנתונים.
- יוצרים דיסקים מאוזנים של Hyperdisk לאתחול ולנתונים באמצעות קובץ snapshot של דיסק כמקור לכל דיסק.
- מגדירים את סוג המכונה למכונה וירטואלית מסוג N4.
- מצרפים את דיסק האתחול Hyperdisk Balanced ואת דיסק הנתונים Hyperdisk Balanced.
- מפעילים את מכונת ה-VM מסוג N4.
REST
אפשרות 1: יצירת מכונת VM חדשה מסוג N4 עם דיסקים שנוצרו מהם קובצי snapshot:
מפסיקים את המכונה הווירטואלית באמצעות השיטה instances.stop:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME/stop
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NAME: מזהה הפרויקט. -
ZONE: האזור שבו נמצאת המכונה הווירטואלית. -
VM_NAME: השם של מכונת ה-VM הנוכחית שלכם.n1-standard-8
-
כדי ליצור snapshot של דיסק האתחול של אחסון מתמיד ושל דיסק הנתונים שמצורף למופע, משתמשים בשיטה disks.createSnapshot כדי ליצור snapshot של הדיסקים.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/disks/DISK_NAME/createSnapshot
בגוף הבקשה, מציינים את השם של דיסק האחסון המתמיד (persistent disk) החדש שנוצר ממצב הגיבוי.
לדוגמה:
{ "name": "SNAPSHOT_NAME" }מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NAME: שם הפרויקט. -
ZONE: האזור שבו נמצא הדיסק. -
DISK_NAME: הדיסק שאתם מתכננים ליצור לו snapshot. -
SNAPSHOT_NAME: שם לקובץ ה-snapshot, למשלhdb-boot-diskאוhdb-data-disk.
-
יוצרים דיסק Hyperdisk Balanced באמצעות השיטה disks.insert. צריך לבצע את השלב הזה פעמיים: פעם אחת כדי לכלול את
nameשל דיסק האתחול Hyperdisk Balanced, ופעם שנייה כדי לכלול אתnameשל דיסקי הנתונים. משתמשים ב-sourceSnapshotעבור דיסקים חדשים של Hyperdisk Balanced לאתחול ולנתונים, ב-typeשל הדיסק, ב-Hyperdisk Balanced וב-sizeGBשל הדיסק בגוף הבקשה.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONEdisks
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NAME: שם הפרויקט. -
ZONE: האזור שבו נמצא הדיסק.
בגוף הבקשה, כוללים את הפרטים הבאים:
לדוגמה:
{ "name": "my-hdb-boot-disk" or "my-hdb-data-disk", "sourceSnapshot": "projects/your-project/global/snapshots/SNAPSHOT_NAME", "type": "projects/your-project/zones/us-central1-a/diskTypes/hyperdisk-balanced", "sizeGb": "100" }'-
כדי ליצור את המכונה הווירטואלית החדשה מסוג N4, משתמשים ב-method instances.insert.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NAME: שם הפרויקט. -
ZONE: האזור שבו נמצא הדיסק.
בגוף הבקשה, כוללים את הפרטים הבאים:
{ "machineType":"projects/your-project/zones/us-central1-a/machineTypes/n4-standard-8" "name":"VM_NAME", "disks": [ { "boot": true, "deviceName": "my-hdb-boot-disk", "source": "projects/your-project/zones/us-central1-a/disks/my-hdb-boot-disk", "type": "PERSISTENT" }, { "boot": false, "deviceName": "my-hdb-data-disk", "source": "projects/your-project/zones/us-central1-a/disks/my-hdb-data-disk", "type": "PERSISTENT" } ], "networkInterfaces":[ { "network":"global/networks/NETWORK_NAME", "subnetwork":"regions/REGION/subnetworks/SUBNET_NAME", "nicType": "GVNIC" } ] }מחליפים את מה שכתוב בשדות הבאים:
-
VM_NAME: שם המכונה הווירטואלית. -
NETWORK_NAME: שם הרשת. -
REGION: שם האזור. -
SUBNET_NAME: השם של תת-הרשת.
-
מפעילים את המכונה הווירטואלית באמצעות השיטה instances.start:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME/start
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NAME: שם הפרויקט. -
ZONE: האזור שבו נמצאת המכונה הווירטואלית. -
VM_NAME: שם המכונה הווירטואלית.
-
אפשרות 2: ביצוע שדרוג במקום במחשב:
האפשרות הזו זמינה רק אם המכונה הווירטואלית N1 משתמשת בממשק הרשת gvnic, לא מחוברים אליה כונני SSD מקומיים או יחידות GPU, והיא לא חלק מקבוצת מופעי מכונה מנוהלים (MIG). ביצוע התהליך הזה במכונת N1 וירטואלית עם ממשק רשת VirtIO יוצר שגיאה של אי-תאימות של מכונה וירטואלית.
מפסיקים את המכונה הווירטואלית באמצעות השיטה instances.stop.
מנתקים את הדיסקים באמצעות השיטה instances.detachDisk כדי לנתק את דיסק האתחול המקורי של דיסק האחסון המתמיד מה-VM מסוג N1. צריך גם לנתק את דיסקי הנתונים מה-VM.
https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME/detachDisk?deviceName=DISK_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NAME: שם הפרויקט. -
ZONE: האזור שבו נמצא הדיסק. -
VM_NAME: השם של מכונת ה-VM של המקור עם הדיסקpd-ssdשמצורף אליה. -
DISK_NAME: הדיסק שרוצים לנתק.
-
יוצרים snapshot של הדיסקים. משתמשים בשיטה disks.createSnapshot כדי ליצור snapshot של דיסק האתחול של אחסון מתמיד ושל דיסקי הנתונים שמצורפים למופע.
יוצרים דיסקים של מערכת הפעלה ונתונים מסוג Hyperdisk Balanced באמצעות השיטה disks.insert. כוללים את
nameשל דיסק Hyperdisk Balanced, אתsourceSnapshotשל דיסק Hyperdisk Balanced החדש, אתtypeשל הדיסק, Hyperdisk Balanced ואתsizeGBשל הדיסק בגוף הבקשה.מבצעים שדרוג של סוג המכונה במקום באמצעות השיטה instances.setMachineType. כוללים את
machineTypeבגוף הבקשה:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONEinstances/VM_NAME/setMachineTypeMACHINE_TYPE
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NAME: שם הפרויקט. -
ZONE: האזור שבו נמצא הדיסק. -
VM_NAME: השם של המכונה הווירטואלית שרוצים לשדרג. -
MACHINE_TYPE: סוג המכונה החדש.
בגוף הבקשה, כוללים את הפרטים הבאים:
{ "machineType": "projects/PROJECT_NAME/zones/ZONE/machineTypes/MACHINE_TYPE", }-
משתמשים בשיטה instances.attachDisk כדי לצרף את דיסק האתחול החדש
Hyperdisk Balancedואת דיסקי הנתונים מסוג Hyperdisk Balanced למכונה הווירטואלית N4.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instancesVM_NAMEattachDiskDISK_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NAME: שם הפרויקט. -
ZONE: האזור שבו נמצא הדיסק. -
VM_NAME: השם של מופע מכונת ה-VM של המקור עם דיסקpd-ssdשמצורף אליו. DISK_NAMEהדיסק שרוצים לצרף.
בגוף הבקשה, כוללים את הפרטים הבאים:
{ "source": "projects/your-project/zones/us-central1-a/disks/my-hdb-boot-disk", "deviceName":"my-hdb-boot-disk","boot":true }{ "source": "projects/your-project/zones/us-central1-a/disks/my-hdb-data-disk", "deviceName":"my-hdb-data-disk","boot":false }-
מפעילים את מכונת ה-VM מסוג N4 באמצעות השיטה instances.start.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONEinstances/VM_NAME/start
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NAME: שם הפרויקט. -
ZONE: האזור שבו נמצא הדיסק. -
VM_NAME: שם המכונה הווירטואלית.
-
הסרת המשאבים
אחרי שמוודאים שאפשר להתחבר למכונה הווירטואלית החדשה, ושהעומס שלה פועל כמצופה במכונה הווירטואלית החדשה, אפשר להסיר את המשאבים שכבר לא נחוצים:
- קובצי ה-snapshot שיצרתם לדיסקים שמצורפים למכונת ה-VM המקורית.
- כל לוחות הזמנים של הצילומים לדיסקים שצורפו למכונת ה-VM המקורית.
- הדיסק הזמני שנוצר כדי להעתיק את הנתונים של ה-SSD המקומי למכונה הווירטואלית החדשה.
- המכונה הווירטואלית במקור וכל הדיסקים שמצורפים אליה.
המאמרים הבאים
- אפשר לקרוא על בעיות מוכרות בשרתים של Linux ו-Windows.
- כדאי לקרוא את הטיפים לפתרון בעיות.
- מידע נוסף על מחזור החיים של ההעברה