במסמך הזה מפורטות שגיאות שיכולות להתרחש כשיוצרים או מעדכנים מכונות וירטואליות של Arm.
שגיאות ביצירת מכונות וירטואליות
אם אתם לא מצליחים ליצור מכונה וירטואלית (VM) של Arm, יכול להיות שהסיבה לכך היא אחת מהבעיות הנפוצות שמתוארות במאמר פתרון בעיות ביצירה ובעדכון של מכונות וירטואליות, כמו:
- חריגה ממכסת הבקשות
- שגיאה
not readyכשיוצרים כמה משאבים בו-זמנית - בעיות בזמינות של משאבים
- בעיות בזמינות של אזורים
- הרשאות לא מספיקות
- שמות המשאבים
- המגבלה הופרה
- פלטפורמת ה-CPU הנדרשת
מכונת VM ב-Arm לא מופעלת
אתם מנסים ליצור מכונה וירטואלית של Arm, אבל היא לא עוברת למצב Started (התחלה). הבעיות הנפוצות ביותר הן שימוש בסוג מכונה או בתמונת מערכת הפעלה שלא תואמים למכונה הווירטואלית של Arm.
סיבה אפשרית נוספת היא יצירת מכונת VM מסוג Arm באמצעות דיסק אתחול ממכונת VM מסוג x86. הארכיטקטורה של דיסק האתחול צריכה להיות זהה לארכיטקטורה של ה-VM. Compute Engine בודק שהארכיטקטורה של דיסק האתחול תואמת לארכיטקטורה של המכונה הווירטואלית, אבל יכול להיות שהאימותים לא יפעלו עם תמונות מותאמות אישית.
הודעת השגיאה:
שימוש בדיסק אתחול עם ארכיטקטורת x86 במכונה וירטואלית של Arm גורם לכשל בשלב מוקדם מאוד בתהליך האתחול, והסימפטום העיקרי הוא שאי אפשר לגשת למכונה הווירטואלית באמצעות ssh. המכונה הווירטואלית לא פועלת, ולכן הדרך היחידה לאמת את הבעיה היא באמצעות יומני מסוף טוריים, שצריכים להיראות בערך כך, עם חזרה אינסופית:
BdsDxe: failed to load Boot0001 "UEFI nvme_card-pd" from PciRoot(0x0)/Pci(0x2, 0x0)/NVMe(0x1,00-00-00-00-00-00-00-00): Not Found EMU Variable FVB Started EMU Variable invalid PCD sizes Found PL031 RTC @ 0x9010000 InitializeRealTimeClock: using default timezone/daylight settings [2J[01;01H[=3h[2J[01;01H UEFI: Failed to load image. Description: UEFI nvme_card-pd FilePath: PciRoot(0x0)/Pci(0x2,0x0)/NVMe(0x1,00-00-00-00-00-00-00-00) OptionNumber: 1. Status: Not Found.
הפתרון:
בודקים שהמכונה הווירטואלית פועלת על סוג מכונה ותמונת מערכת הפעלה שתואמים ל-Arm. אל תשתמשו בדיסק אתחול ממכונת x86 כדי ליצור את המכונה הווירטואלית. יוצרים מחדש את מכונת ה-Arm הווירטואלית.
מידע על תמונות Arm זמין במאמר פרטים על מערכת ההפעלה.
לולאת אתחול של מכונה
המכונה הווירטואלית נמצאת בלולאה במהלך שלב האתחול. הסיבות הנפוצות לבעיה הזו הן:
- מכונת ה-VM שלכם מסוג Arm משתמשת בדיסק אתחול עם מערכת הפעלה מסוג x86.
- יש לכם מדיניות ארגונית שמחייבת שכל המכונות הווירטואליות החדשות ב-Compute Engine ישתמשו בתמונות דיסק מוגנות עם אתחול מאובטח, או שיצרתם את המכונה הווירטואלית עם האפשרות
--shielded-secure-boot.
פתרון:
אם יצרתם דיסק אתחול למכונה הווירטואלית עם קובץ אימג' של מערכת הפעלה שגויה, צריך ליצור מחדש את מכונת ה-VM של Arm עם קובץ אימג' של מערכת הפעלה של Arm. מידע על תמונות מערכת ההפעלה של Arm זמין במאמר פרטים על מערכת ההפעלה.
אם המכונה הווירטואלית משתמשת בתמונת מערכת הפעלה של Arm, יכול להיות שתמונת מערכת ההפעלה לא תומכת באתחול מאובטח. אם נתקלתם בבעיה הזו במכונת ה-VM שלכם עם Arm, צריך לשנות את מכונת ה-VM כדי להגדיר את האפשרות --no-shielded-secure-boot. הוראות להגדרת האפשרות הזו מופיעות במאמר שינוי מכונה וירטואלית מוגנת.
שגיאות בעדכון מכונות וירטואליות
אם לא מצליחים לעדכן מכונה וירטואלית, יכול להיות שהבעיה נובעת מהסיבה הבאה.
שגיאה בשינוי סוג המכונה
יכול להיות שתקבלו את השגיאות הבאות כשאתם מנסים לשנות את סוג המכונה של VM:
ERROR: (gcloud.compute.instances.set-machine-type) Could not fetch resource: - Invalid resource usage: 'Requested boot disk architecture (X86_64) is not compatible with machine type architecture (ARM64).'
פתרון:
מוודאים שהמכונה הווירטואלית תומכת במעבד של סוג המכונה החדש. למכונה וירטואלית מסוג x86 צריך להיות מעבד שתואם ל-x86, בדיוק כמו שלמכונה וירטואלית מסוג Arm צריך להיות מעבד שתואם ל-Arm. מידע נוסף על המעבדים שנתמכים על ידי סוגי מכונות שונים זמין בדף השוואה בין משפחות מכונות.
נסו לשנות את סוג המכונה באמצעות Google Cloud CLI.
שגיאה בסוג האחסון מ-x86 ל-Arm
אם עוברים מסוג מכונת x86 לסוג מכונת Arm C4A או T2A, יכול להיות שתקבלו שגיאה מסוג INVALID_RESOURCE_USAGE שמציינת שסוג הדיסק לא תואם לסוג מכונת Arm.
אם השגיאה היא בדיסק האתחול, צריך ליצור מכונת C4A או T2A VM חדשה באמצעות מערכת הפעלה ותואמת מסוג דיסק Arm.
אם אתם מקבלים את השגיאה הזו לגבי דיסק אחסון מתמיד (persistent disk) שצורף למכונה וירטואלית מסוג x86, אתם יכולים ליצור snapshot של הדיסק ולהשתמש ב-snapshot הזה כדי ליצור דיסק Hyperdisk Balanced. אחר כך אפשר לצרף את Hyperdisk Balanced למכונת ה-VM של C4A.
מידע נוסף על יצירת תמונת מצב של נתוני אתחול ונתוני דיסק של Persistent Disk זמין במאמר העברת עומס העבודה למופע חדש של Compute.
דוגמה
Editing VM instance "t2a-vm" failed. Error: [pd-balanced, c4a-standard-1] features are not compatible for creating instance.
בדוגמה הזו, אי אפשר לשנות את סוג המכונה של מכונת t2a-standard-1 Arm וירטואלית למכונת c4a-standard-1 Arm וירטואלית כי C4A תומכת רק ב-Hyperdisk Balanced לדיסק האתחול, אבל T2A משתמשת רק בדיסקים מסוג Persistent Disk. אי אפשר לשנות את סוג המכונה של מכונת T2A VM. כדי לפתור את השגיאה, פועלים לפי השלבים במאמר בנושא מעבר למכונת VM של Arm.
מה השלב הבא?
- מידע נוסף על מעבר למכונה וירטואלית של Arm זמין במאמר מכונות וירטואליות של Arm ב-Compute.
- מידע על סדרת המכונות C4A זמין במאמר סדרת המכונות C4A.
- מידע על סדרת המכונות T2A זמין במאמר סדרת המכונות Tau T2A.
לפתרון בעיות שקשורות ל-NVMe, אפשר לעיין במאמר בנושא פתרון בעיות בדיסקים של NVMe.