במאמר הזה נסביר איך לצרף מחדש דיסקים של מערכת ההפעלה ודיסקים אחרים למכונות Bare Metal ולמכונות וירטואליות (VM) של Compute Engine.
ניתוק של דיסק האתחול של מופע עוזר לכם לבצע את המשימות הבאות בלי ליצור מחדש את המופע:
- החלפת דיסק האתחול של מופע בדיסק אחר
- תיקון דיסק אתחול של מכונה על ידי חיבור זמני שלו למכונה אחרת
אם מנתקים דיסק שאינו דיסק אתחול ממכונה אחת ומצרפים אותו למכונה אחרת, אפשר להשתמש בנתונים שבדיסק מהמכונה השנייה בלי להעתיק את הנתונים לדיסק חדש.
לפני שמתחילים
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים Google Cloud ולממשקי ה-API, לא צריך להגדיר אימות.
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 .
ההרשאות שנדרשות למשימה הזו
כדי לבצע את המשימה הזו, אתם צריכים את ההרשאות הבאות:
-
compute.instances.detachDiskבמופע -
compute.instances.attachDiskבמופע
העברת דיסק אתחול בין מופעים
לפני שמעבירים דיסק אתחול בין מופעים שמשתמשים בסדרות שונות של מכונות, צריך לוודא שאדריכלורת דיסק האתחול של שני המופעים זהה. לדוגמה, אי אפשר לחבר דיסק אתחול ממופע C4A למופע C4 כי C4A ו-C4 משתמשים באדריכלורות Arm ו-x86, בהתאמה. כדי לראות את הארכיטקטורה של סדרת מכונות, אפשר לעיין בשורה Architecture בטבלה Machine series comparison.
במאמר העברת עומס עבודה למופע חדש של Compute מפורטים גורמים נוספים שכדאי לקחת בחשבון כשמעבירים דיסק אתחול בין סדרות של מכונות.
הגבלות
- הארכיטקטורה של דיסק האתחול חייבת להיות זהה לארכיטקטורה של המופע. לדוגמה, אי אפשר לחבר דיסק אתחול שמשתמש ב-x86 למכונת Arm.
- אפשר לצרף או לנתק דיסק אתחול רק ממכונה וירטואלית מושבתת.
- אפשר לצרף רק דיסק אתחול אחד לכל מופע של מכונה וירטואלית.
- אם משתמשים ב-CLI של gcloud או ב-REST, אפשר לצרף רק דיסקים קיימים של אתחול למופע של מכונה וירטואלית.
- אי אפשר לנתק דיסק SSD מקומי ממכונה. אפשר לצרף דיסקים של SSD מקומי למופע רק כשיוצרים את המופע.
ניתוק דיסק אתחול
לפני שמנתקים את דיסק האתחול ממופע ה-VM, צריך לעצור את המופע. אין צורך לבטל את הניתוק של הדיסק.
המסוף
- נכנסים לדף VM instances.
- אם מתבקשים, בוחרים פרויקט ולוחצים על המשך.
- לוחצים על המכונה שרוצים לנתק ממנה את דיסק האתחול.
- לוחצים על Stop כדי לעצור את המכונה הווירטואלית. אם לא מופיעה האפשרות עצירה, לוחצים על פעולות נוספות > עצירה.
- לוחצים על Edit.
- בקטע Boot Disk (דיסק אתחול), לוחצים על Detach boot disk (ניתוק דיסק האתחול).
- לוחצים על Save.
gcloud
משתמשים בפקודה gcloud compute instances detach-disk כדי לנתק את דיסק האתחול מהאינסטנס:
gcloud compute instances detach-disk INSTANCE_NAME \
--disk=DISK_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_NAME: השם של המכונה. -
DISK_NAME: שם הדיסק לניתוק. שם הדיסק בדרך כלל זהה לשם המכונה.
REST
יוצרים POSTבקשה לניתוק הדיסק:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/detachDisk?deviceName=DISK_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
INSTANCE_NAME: השם של המכונה. -
ZONE: האזור שבו נמצאים המופעים. -
DISK_NAME: שם הדיסק לניתוק. שם הדיסק בדרך כלל זהה לשם המכונה.
צירוף מחדש של דיסק אתחול
אפשר לצרף מחדש כל דיסק כמו דיסק אתחול למופע, כל עוד למופע לא כבר מצורף דיסק אתחול ודיסק האתחול נמצא באותו אזור כמו מופע ה-VM. אם מבצעים התאמה אישית של דיסק אתחול, צריך לוודא שהוא מופעל כמו שצריך אחרי החיבור.
הדיסק הקיים והדיסק החדש צריכים להיות תואמים ל-UEFI או לא.
כדי ליצור דיסק שתואם ל-UEFI, משתמשים בפקודה gcloud compute disk create עם הדגל --guest-os-features שמוגדר לערך UEFI_COMPATIBLE.
המסוף
- נכנסים לדף VM instances.
- אם מתבקשים, בוחרים פרויקט ולוחצים על המשך.
- לוחצים על המכונה שאליה רוצים לצרף את דיסק האתחול.
- אם המכונה הווירטואלית פועלת, לוחצים על Stop כדי להפסיק את המכונה הווירטואלית. אם לא מופיעה האפשרות עצירה, לוחצים על פעולות נוספות > עצירה.
- לוחצים על Edit.
- עוברים לקטע Boot Disk (דיסק הפעלה).
- לוחצים על Add item.
- בוחרים דיסק אתחול מהתפריט הנפתח.
- לוחצים על Save.
gcloud
משתמשים בפקודה gcloud compute instances attach-disk כדי לצרף או לצרף מחדש דיסק אתחול למכונה וירטואלית. כוללים את הדגל --boot
gcloud compute instances attach-disk INSTANCE_NAME \
--disk=DISK_NAME \
--boot
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_NAME: השם של המכונה. -
DISK_NAME: שם הדיסק לצירוף. יכול להיות ששם הדיסק יהיה זהה לשם המכונה.
REST
יוצרים POST בקשה לצירוף הדיסק. כדי לציין שהדיסק הזה הוא דיסק האתחול, צריך לכלול את הפרמטר האופציונלי
"boot": true. אם הפרמטר הזה לא מופיע, הדיסק מצורף כדיסק נתונים שלא ניתן לאתחל ממנו.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk
{
"boot": true,
"source": "zones/ZONE/disks/DISK_NAME"
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
INSTANCE_NAME: השם של המופע שאליו מצרפים את דיסק האחסון המתמיד החדש. -
ZONE: האזור שבו נמצאים המכונה והדיסק החדש. -
DISK_NAME: השם של הדיסק החדש.
אחרי שמחברים את הדיסק למכונה הווירטואלית, מפעילים מחדש את המכונה.
עדכון של דיסק אתחול של מכונה
אפשר להשתמש במסוף Google Cloud בלבד כדי לעדכן את דיסק האתחול של מכונה וירטואלית בפעולה אחת. בפועל, אפשר לנתק דיסק אתחול קיים ולחבר דיסק אתחול חדש בפעולה אחת.
התכונה הזו לא זמינה דרך ה-CLI של gcloud או REST.
- נכנסים לדף VM instances.
- אם מתבקשים, בוחרים פרויקט ולוחצים על המשך.
- לוחצים על המכונה שאליה רוצים לצרף את דיסק האתחול.
- אם המכונה הווירטואלית פועלת, לוחצים על Stop כדי להפסיק את המכונה הווירטואלית. אם לא מופיעה האפשרות עצירה, לוחצים על פעולות נוספות > עצירה.
- לוחצים על עריכה בחלק העליון של הדף.
- בקטע Boot Disk (דיסק אתחול), לוחצים על Detach boot disk (ניתוק דיסק האתחול).
- לוחצים על Add item.
- בוחרים דיסק אתחול מהתפריט הנפתח.
- לוחצים על Save.
Google Cloud המסוף ינתק את דיסק האתחול הקיים ויחבר את דיסק האתחול החדש שציינתם. בסיום התהליך, מפעילים מחדש את מופע ה-VM.
צירוף דיסק שאינו דיסק אתחול למכונה
הוראות מפורטות לצירוף דיסק חדש או קיים שאינו דיסק אתחול למכונה וירטואלית פועלת מופיעות במאמר צירוף דיסק למכונה וירטואלית.
ניתוק דיסק שאינו דיסק הפעלה ממופע
לא צריך להפסיק מכונה כדי לנתק דיסק שאינו דיסק אתחול. אפשר לבצע את הפעולות האלה בזמן שהמופע פועל.
המסוף
- נכנסים לדף VM instances.
- לוחצים על המכונה שממנה רוצים לנתק את הדיסק.
- לוחצים על עריכה.
- בקטע Additional disks (דיסקים נוספים), מוצאים את הדיסק שרוצים לנתק ולוחצים על סגירה Remove disk (הסרת הדיסק).
- לוחצים על Save.
gcloud
משתמשים בפקודה gcloud compute instances detach-disk:
gcloud compute instances detach-disk INSTANCE_NAME \ DISK_OR_DEVICE_NAME --disk-scope DISK_SCOPE
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_NAME: השם של המכונה.
DISK_OR_DEVICE_NAME: השם של הדיסק או שם המכשיר שצוין כשנוצר הדיסק. שם המכשיר הוא השם שמערכת ההפעלה משתמשת בו כדי לזהות את הדיסק. אם ציינתם שם מכשיר לדיסק, אתם צריכים לציין את שם המכשיר באמצעות הדגל--device-name.- כדי לציין את שם הדיסק, מציינים
--disk=DISK_NAME, כאשרDISK_NAMEהוא שם הדיסק, לדוגמה,my-data-disk. כדי לציין את שם המכשיר, מציינים
--device-name=DEVICE_NAME, כאשרDEVICE_NAMEהוא שם המכשיר שסיפקתם לדיסק.כדי למצוא את שם המכשיר של הדיסק, מריצים את הפקודה
gcloud compute instances describe. לדוגמה, כדי להדפיס רשימה של הדיסקים שמצורפים למופע בפורמט JSON, מריצים את הפקודהgcloud compute instances describe INSTANCE_NAME --format="json(disks)".
- כדי לציין את שם הדיסק, מציינים
DISK_SCOPE: היקף הדיסק. לדיסק אזורי, מצייניםzonal. לדיסק אזורי, מצייניםregional.
REST
יוצרים בקשת POST ל-method instances.detachDisk.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/detachDisk?deviceName=DEVICE_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
INSTANCE_NAME: השם של המכונה. -
ZONE: האזור שבו נמצאת המכונה. -
DEVICE_NAME: שם המכשיר של הדיסק. כדי למצוא את שם המכשיר של הדיסק, שולחים בקשתGETאל המשאבinstancesכדי לראות את הדיסקים המצורפים ואת שמות המכשירים שלהם.