ניתוק וחיבור מחדש של דיסקים

במאמר הזה נסביר איך לצרף מחדש דיסקים של מערכת ההפעלה ודיסקים אחרים למכונות Bare Metal ולמכונות וירטואליות (VM) של Compute Engine.

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

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

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

לפני שמתחילים

  • אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות. אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:

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

    המסוף

    כשמשתמשים במסוף Cloud de Confiance כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Cloud de Confiance by S3NS

    gcloud

    1. התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:

      gcloud init
  • הגדרת אזור ותחום כברירת מחדל
  • REST

    כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.

      התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.

    מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .

ההרשאות שנדרשות למשימה הזו

כדי לבצע את המשימה הזו, אתם צריכים את ההרשאות הבאות:

  • compute.instances.detachDisk במופע
  • compute.instances.attachDisk במופע

העברת דיסק אתחול בין מופעים

לפני שמעבירים דיסק אתחול בין מופעים שמשתמשים בסדרות שונות של מכונות, צריך לוודא שאדריכלורת דיסק האתחול של שני המופעים זהה. לדוגמה, אי אפשר לחבר דיסק אתחול ממופע C4A למופע C4 כי C4A ו-C4 משתמשים באדריכלורות Arm ו-x86, בהתאמה. כדי לראות את הארכיטקטורה של סדרת מכונות, אפשר לעיין בשורה Architecture בטבלה Machine series comparison.

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

הגבלות

  • הארכיטקטורה של דיסק האתחול חייבת להיות זהה לארכיטקטורה של המופע. לדוגמה, אי אפשר לצרף דיסק אתחול שמשתמש ב-x86 למכונת Arm.
  • אפשר לצרף או לנתק דיסק אתחול רק ממכונה וירטואלית מושבתת.
  • אפשר לצרף רק דיסק אתחול אחד לכל מופע של מכונת VM.
  • אם משתמשים ב-CLI של gcloud או ב-REST, אפשר לצרף רק דיסקים קיימים של אתחול למופע של מכונה וירטואלית.
  • אי אפשר לנתק דיסק SSD מקומי ממכונה. אפשר לצרף דיסקים של SSD מקומי למופע רק כשיוצרים את המופע.

ניתוק דיסק אתחול

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

המסוף

  1. נכנסים לדף VM instances.

    כניסה לדף VM instances

  2. אם מוצגת בקשה לעשות זאת, בוחרים פרויקט ולוחצים על המשך.
  3. לוחצים על המופע שרוצים לנתק ממנו את דיסק האתחול.
  4. לוחצים על Stop כדי לעצור את המכונה הווירטואלית. אם אין אפשרות עצירה, לוחצים על עוד פעולות > עצירה.
  5. לוחצים על Edit.
  6. בקטע Boot Disk (דיסק אתחול), לוחצים על Detach boot disk (ניתוק דיסק האתחול).
  7. לוחצים על 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: שם הדיסק לניתוק. שם הדיסק בדרך כלל זהה לשם המכונה.

צירוף מחדש של דיסק אתחול

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

הדיסק הקיים והדיסק החדש צריכים להיות תואמים ל-UEFI או לא להיות תואמים ל-UEFI. כדי ליצור דיסק שתואם ל-UEFI, משתמשים בפקודה gcloud compute disk create עם הדגל --guest-os-features שמוגדר לערך UEFI_COMPATIBLE.

המסוף

  1. נכנסים לדף VM instances.

    כניסה לדף VM instances

  2. אם מוצגת בקשה לעשות זאת, בוחרים פרויקט ולוחצים על המשך.
  3. לוחצים על המופע שאליו רוצים לצרף את דיסק האתחול.
  4. אם המכונה הווירטואלית פועלת, לוחצים על Stop כדי לעצור אותה. אם אין אפשרות עצירה, לוחצים על עוד פעולות > עצירה.
  5. לוחצים על Edit.
  6. עוברים לקטע דיסק הפעלה.
  7. לוחצים על Add item.
  8. בוחרים דיסק אתחול מהתפריט הנפתח.
  9. לוחצים על Save.

gcloud

משתמשים בפקודה gcloud compute instances attach-disk כדי לצרף או לצרף מחדש דיסק אתחול למכונת VM. כוללים את הדגל --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: השם של הדיסק החדש.

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

עדכון של דיסק אתחול של מכונה

אפשר להשתמש במסוף Cloud de Confiance כדי לעדכן את דיסק האתחול של מכונה וירטואלית בפעולה אחת. ספציפית, אפשר לנתק דיסק אתחול קיים ולחבר דיסק אתחול חדש בפעולה אחת.

התכונה הזו לא זמינה דרך ה-CLI של gcloud או REST.

  1. נכנסים לדף VM instances.

    כניסה לדף VM instances

  2. אם מוצגת בקשה לעשות זאת, בוחרים פרויקט ולוחצים על המשך.
  3. לוחצים על המופע שאליו רוצים לצרף את דיסק האתחול.
  4. אם המכונה הווירטואלית פועלת, לוחצים על Stop כדי לעצור אותה. אם אין אפשרות עצירה, לוחצים על עוד פעולות > עצירה.
  5. לוחצים על עריכה בחלק העליון של הדף.
  6. בקטע Boot Disk (דיסק אתחול), לוחצים על Detach boot disk (ניתוק דיסק האתחול).
  7. לוחצים על Add item.
  8. בוחרים דיסק אתחול מהתפריט הנפתח.
  9. לוחצים על Save.

המסוף ינתק את דיסק האתחול הקיים ויחבר את דיסק האתחול החדש שציינתם. Cloud de Confiance בסיום התהליך, מפעילים מחדש את מופע ה-VM.

צירוף דיסק שאינו דיסק אתחול למכונה

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

ניתוק דיסק שאינו דיסק הפעלה ממופע

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

המסוף

  1. נכנסים לדף VM instances.

    כניסה לדף VM instances

  2. לוחצים על המופע שממנו רוצים לנתק את הדיסק.
  3. לוחצים על עריכה.
  4. בקטע Additional disks (דיסקים נוספים), מוצאים את הדיסק שרוצים לנתק ולוחצים על סגירה Remove disk (הסרת הדיסק).
  5. לוחצים על 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<0x000A>הוא שם הדיסק, לדוגמה, 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 כדי לראות את הדיסקים המצורפים ואת שמות המכשירים שלהם.

מה השלב הבא?