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

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

שגיאות ביצירת מכונות וירטואליות

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

אין מספיק מכסה

שגיאת מכסה מתרחשת כשבקשת משאב חורגת מהמכסה שלכם.

הודעות שגיאה:

RESOURCE_NAME creation failed:
Quota QUOTA_NAME exceeded. Limit: QUOTA_LIMIT in region REGION
RESOURCE_NAME creation failed:
Quota QUOTA_NAME exceeded. Limit: QUOTA_LIMIT in zone ZONE
Resource exhausted (HTTP 429): QUOTA_EXCEEDED

פתרון: מבקשים להגדיל את המכסה. איך עורכים את המכסה?

פעולות בו-זמניות של שינוי או יצירה של משאבים

אם מעדכנים יותר ממשאב אחד בכל פעם, למשל משנים טווחים משניים ברשת משנה ויוצרים מכונה וירטואלית בו-זמנית, יכול להיות שתופיע השגיאה not ready.

הודעת שגיאה:

The resource 'projects/PROJECT/regions/REGION/subnetworks/default' is not ready

פתרון: כדי לפתור את הבעיה, נסו את הפתרונות הבאים:

זמינות מקורות המידע

כשמתרחשת שגיאה שקשורה לזמינות המשאבים, Compute Engine מחזיר הודעת שגיאה שדומה לאחת מההודעות הבאות במסוף Google Cloud , ב-Google Cloud CLI או בתגובה מה-API:

ZONE_RESOURCE_POOL_EXHAUSTED
ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS
REGION_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS
POOL_CAPACITY_INSUFFICIENT
The zone 'projects/PROJECT_ID/zones/ZONE' does not have
enough resources available to fulfill the request. Try a different zone, or try
again later.
A VM_TYPE_AND_SIZE VM instance with RESOURCE_ATTACHMENT is
currently unavailable in the ZONE zone.

Capacity changes frequently, so try your request in a different zone, with a
different VM hardware configuration, or at a later time. For more options, see
troubleshooting documentation.
A VM_TYPE_AND_SIZE VM instance with RESOURCE_ATTACHMENT is
currently unavailable in the ZONE zone because of REASON.

Consider trying your request in the AVAILABLE_ZONES zones, which
currently has capacity to accommodate your request.

If you cannot move your VM to AVAILABLE_ZONES, review the
instructions to resolve the REASON failure that are available in
troubleshooting documentation, then try your request again. If your workload
can't accommodate the suggested resolution, try your request with a different VM
hardware configuration or at a later time.

במאמר פתרון שגיאות שקשורות לזמינות של משאבים מוסבר איך לפתור שגיאות שקשורות למשאבים.

זמינות באזורים

אם אתם מקבלים את השגיאה notFound או does not exist in zone כשאתם מבקשים משאבים חדשים, סימן שבאזור שבו ביקשתם את המשאב לא מוצעים המשאב או סוג המכונה שביקשתם.

הודעות שגיאה:

notFound

does not exist in zone

פתרון: במאמר אזורים ותחומים מוסבר אילו תכונות זמינות בכל תחום.

חרגת מהמגבלה של סוג המשאב

השגיאה הבאה מתרחשת כשיוצרים יותר מדיסק אחד או VM אחד מ-snapshot בפרק זמן של עשר דקות.

הודעת שגיאה:

"code": "RESOURCE_OPERATION_RATE_EXCEEDED",
"message": "Operation rate exceeded for resource 'projects/project-id/zones/zone-id/disks/disk-name'.
Too frequent operations from the source resource."

פתרון:

כדי לפתור את הבעיה תוכלו לנסות אחד מהפתרונות הבאים:

הרשאות לא מספיקות

אם אתם מקבלים את השגיאה permission כשאתם מנסים ליצור מכונה וירטואלית, סימן שאין לכם את הרשאות ה-IAM שנדרשות כדי ליצור מכונה וירטואלית.

הודעת שגיאה:

Error: googleapi: Error 403: Google Compute Engine: Required 'compute.regions.get' permission for 'projects/PROJECT_ID/regions/REGION'., forbidden

פתרון: מבקשים מ-Organization Administrator של הארגון לתת לכם גישה ליצירת מכונות וירטואליות. איך נותנים גישה למשאבים של Compute Engine?

שמות המשאבים

אם קיבלתם את השגיאה resource already exists כשניסיתם ליצור משאב, בקשת היצירה נכשלה כי ציינתם שם לא ייחודי למשאב במיקום ובפרויקט שצוינו.

הודעות שגיאה:

The resource 'projects/PROJECT_NAME/zones/ZONE/RESOURCE_TYPE/RESOURCE_NAME' already exists"

The resource 'projects/PROJECT_NAME/regions/REGION/RESOURCE_TYPE/RESOURCE_NAME' already exists"

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

ממשקי רשת

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

יותר מדי ממשקי רשת

אם קיבלתם את השגיאה Too many network interfaces כשניסיתם ליצור VM, סימן שהבקשה שלכם חרגה ממגבלת ממשקי הרשת של סוג המכונה של ה-VM.

הודעות שגיאה:

Invalid value for field 'resource': ".

Too many network interfaces. The maximum number of network interfaces allowed for this machine type is NUMBER.
Invalid value for field 'resource.networkInterfaces': ".

Too many network interfaces. The maximum number of network interfaces allowed for this machine type is NUMBER.

פתרון: כדי ללמוד איך מחושב המספר המקסימלי של ממשקי רשת לסוגי מכונות שונים, קראו את המאמר המספר המקסימלי של ממשקי רשת.

הגדרה לא תקינה של כרטיס רשת (NIC)

אם אתם מקבלים שגיאה לגבי כרטיסי רשת (NIC) כשאתם יוצרים מכונה מסוג A3 Ultra או A4, שיש להן סידורי NIC ייחודיים, סימן שהגדרת הרשת בבקשה שלכם לא תקינה.

הודעת שגיאה:

On MACHINE_SERIES, the first NIC and the second NIC (if present) must be of type GVNIC. These must be followed by 0 or 8 MRDMA NICs.

פתרון: במאמר יצירת מכונה מסוג A3 Ultra או A4 מוסבר איך להגדיר את רשתות ה-VPC ואת ממשקי הרשת של מכונות מסוג A3 Ultra או A4.

הפרת מגבלה

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

הודעת שגיאה:

לדוגמה, אם הארגון שלכם מגביל את רשתות המשנה של ה-VPC המשותף, יכול להיות שתקבלו את השגיאה הבאה:

Constraint constraints/compute.CONSTRAINT violated for projects/PROJECT_ID.
Using the PARAMETER projects/PROJECT_ID/regions/REGION/CONSTRAINTPROJECT_ID is not allowed.

פתרון: פנו למנהל החשבון הארגוני.

פלטפורמת המעבד (CPU) הנדרשת

אם קיבלתם את השגיאה required CPU platform, סימן שסוג המכונה שציינתם לא תומך בפלטפורמת ה-CPU שציינתם בבקשת היצירה.

הודעת שגיאה:

Could not fetch resource:
- The selected machine type (MACHINE_TYPE) has a required CPU
  platform of REQUIRED_CPU_PLATFORM. The minimum CPU platform must
  match this, but was SPECIFIED_CPU_PLATFORM.

פתרון:

  1. במאמר פלטפורמות של מעבדים מוסבר באילו פלטפורמות של מעבדים סוג המכונה שלכם תומך.
  2. נסו שוב את הבקשה עם פלטפורמת מעבד (CPU) נתמכת.

חוסר התאמה במאפייני ההזמנה

אם קיבלתם את השגיאה No available resources in specified reservations כשניסיתם ליצור מכונה וירטואלית, זה אומר שהמאפיינים של המכונה הווירטואלית לא תואמים להזמנה הספציפית שהמכונה הווירטואלית מטרגטת לצריכה.

הודעת שגיאה:

Invalid value for field 'resource.reservationAffinity':
- No available resources in specified reservations [RESERVATION_NAME].

פתרון: אפשר לנסות אחת מהאפשרויות הבאות:

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

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

    • כשיוצרים את ה-VM, צריך לטרגט להזמנה ספציפית אחרת.

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

    • כשיוצרים את המכונה הווירטואלית, מטרגטים כל בקשה תואמת.

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

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

הגישה לחשבון השירות נדחתה

יכול להיות שהשגיאה הבאה תופיע ביומני הביקורת של Cloud כשיוצרים מכונות וירטואליות באמצעות חשבון שירות:

הודעת שגיאה:

SERVICE_ACCOUNT_ACCESS_DENIED

פתרון: השגיאה הזו מופיעה כשבחשבון השירות שמשמש ליצירת מכונה וירטואלית אין את התפקיד בניהול זהויות והרשאות גישה (IAM) שמאפשר גישה לחשבון השירות של המכונה הווירטואלית החדשה.

מקצים את התפקיד roles/iam.serviceAccountUser לחשבון השירות שיוצר את המכונה הווירטואלית. אפשר להקצות את התפקיד הזה ברמת הפרויקט, וכך לתת לחשבון השירות שיוצר מכונות וירטואליות גישה לכל חשבונות השירות שנוצרו בפרויקט, או להקצות את התפקיד הזה רק בחשבון השירות של המכונה הווירטואלית החדשה.

חסרות ההרשאות הנדרשות

יכול להיות שתקבלו את השגיאה הבאה כשאתם מנסים ליצור מכונה וירטואלית ממכונה וירטואלית קיימת:

Required 'compute.images.useReadOnly' permission for 'projects/PROJECT_ID/global/images/IMAGE_NAME

לשגיאה יכולות להיות כמה סיבות. הסיבה הנפוצה לשגיאה הזו:

ה-VM לא מופעלת

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

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

שגיאות בעדכון של מכונות וירטואליות

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

שגיאה בשינוי סוג המכונה

השגיאה הבאה עשויה להופיע כשמנסים לשנות את סוג המכונה של VM:

Invalid value for field 'resource.sourceMachineImage': Updating 'sourceMachineImage' is not supported

פתרון: