שגיאות ביצירת מכונות וירטואליות
אם אתם לא מצליחים ליצור מכונה וירטואלית, יכול להיות שזה בגלל אחת מהבעיות שמתוארות בקטע הזה.
אין מספיק מכסה
שגיאת מכסה מתרחשת כשבקשת משאב חורגת מהמכסה שלכם.
הודעות שגיאה:
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
פתרון: כדי לפתור את הבעיה, נסו את הפתרונות הבאים:
- צריך לחכות שהפעולות יסתיימו לפני שיוצרים בקשות חדשות.
- ניסיון חוזר של פעולות עם השהיה מעריכית לפני ניסיון חוזר (exponential backoff).
- מבצעים סקרים כדי לבדוק את סטטוס ההשלמה שלהם.
זמינות מקורות המידע
כשמתרחשת שגיאה שקשורה לזמינות המשאבים, 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."
פתרון:
כדי לפתור את הבעיה תוכלו לנסות אחד מהפתרונות הבאים:
יצירת מכונות וירטואליות בכמות גדולה.
כדי ליצור מכונות וירטואליות מקובץ snapshot, פועלים לפי ההוראות במאמר יצירת מכונות וירטואליות בכמות גדולה ומשתמשים בדגל או בפרמטר הבאים:
אם משתמשים ב-CLI של gcloud, משתמשים בדגל
--source-snapshot.אם משתמשים ב-REST, משתמשים בפרמטר
instanceProperties.disks[].initializeParams.sourceSnapshot.
שימוש בתמונות כדי ליצור דיסקים.
כדי ליצור כמה דיסקים מ-snapshot, משתמשים ב-snapshot כדי ליצור קובץ אימג' ואז יוצרים את הדיסקים מקובץ האימג':
בדיסקים שהם לא דיסקי אתחול, פועלים לפי ההוראות ליצירת דיסקי אחסון מתמידים מהתמונה ומבצעים את השלבים הבאים:
- במסוף Google Cloud , בוחרים באפשרות Image בתור Source type של הדיסק.
- ב-CLI של gcloud, משתמשים בדגל
image. - אם משתמשים ב-REST, משתמשים בפרמטר
sourceImage.
מידע נוסף על גיבוי ושכפול של נתונים ב-Persistent Disk זמין במאמר אפשרויות להגנה על נתונים.
הרשאות לא מספיקות
אם אתם מקבלים את השגיאה 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.
פתרון:
- במאמר פלטפורמות של מעבדים מוסבר באילו פלטפורמות של מעבדים סוג המכונה שלכם תומך.
- נסו שוב את הבקשה עם פלטפורמת מעבד (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
פתרון:
מוודאים שהמכונה הווירטואלית תומכת במעבד של סוג המכונה החדש. למידע נוסף על המעבדים שנתמכים בסוגי מכונות שונים, קראו את המאמר השוואה בין משפחות מכונות.
נסו לשנות את סוג המכונה באמצעות Google Cloud CLI.