יצירת נפח אחסון חדש של Persistent Disk

אפשר ליצור נפח של דיסק אחסון מתמיד (persistent disk) ריק, או ליצור דיסק ממקור נתונים. אפשר להשתמש ב-Persistent Disk כדיסק אתחול למכונת חישוב, או כדיסק נתונים שמצורף למכונה.

במאמר הזה נסביר איך ליצור נפח של דיסק אחסון מתמיד (persistent disk) ריק ולא ניתן לאתחול באזור מסוים, ואיך לצרף אותו למכונת ה-VM.

למידע על סוגים אחרים של יצירה והוספה של דיסקים, אפשר לעיין במאמרים הבאים:

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

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

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

    המסוף

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

    gcloud

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

      gcloud init

      אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

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

    כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Terraform שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.

    1. התקינו את ה-CLI של Google Cloud.

    2. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

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

      gcloud auth application-default login

      אם אתם משתמשים ב-Cloud Shell, אין צורך לבצע את הפעולה הזו.

      אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

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

    REST

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

      התקינו את ה-CLI של Google Cloud.

      אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

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

הגבלות

  • במהלך יצירת מכונה וירטואלית, אפשר לצרף עד 127 אמצעי אחסון משניים של דיסקים קשיחים קבועים אזוריים שאינם דיסקים לאתחול.
  • אפשר לצרף לכל מכונה וירטואלית נפח אחסון כולל של 257TB. מידע על איך להבטיח ביצועים מקסימליים בנפחים גדולים זמין במאמר בנושא גודל נפח לוגי.

מגבלות גודל של דיסקים לאחסון מתמיד ושמות הפניה

כשיוצרים נפח של Persistent Disk באמצעות Google Cloud CLI,‏ REST או ספריות הלקוח ב-Cloud עבור Compute Engine, צריך לציין את סוג ה-Persistent Disk שרוצים ליצור על ידי הזנת הערך בעמודה Reference name בטבלה הבאה.

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

סוג הדיסק שם לצורך סימוכין גודל מינימלי גודל מקסימלי ברירת מחדל של גודל
דיסק אחסון מתמיד מאוזן pd-balanced אזורי: ‎10 GiB
אזורי: ‎10 GiB
‫64 TiB ‫100 GiB
דיסק אחסון מתמיד (persistent disk) שמבוסס על ביצועים (SSD) pd-ssd אזורי: ‎10 GiB
אזורי: ‎10 GiB
‫64 TiB ‫100 GiB
Standard Persistent Disk pd-standard אזורי: 10 GiB
אזורי: 200 GiB
‫64 TiB ‫500 GiB
אחסון מתמיד (persistent disk) קיצוני pd-extreme ‫500 GiB ‫64 TiB ‫1 TiB

הוספת דיסק אחסון מתמיד (Persistent Disk) שלא מיועד לאתחול למכונה

יוצרים ומצרפים דיסק קשיח מתמשך אזורי שאינו דיסק הפעלה באמצעות Google Cloud console,‏ Google Cloud CLI או REST.

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

המסוף

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

    לדף VM instances

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

  3. בדף הפרטים, לוחצים על עריכהעריכה.

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

  5. מציינים שם לדיסק ומגדירים את המאפיינים שלו.

  6. בקטע Disk source type (סוג מקור הדיסק), בוחרים את מקור הנתונים של הדיסק:

    • כדי ליצור דיסק ריק, בוחרים באפשרות דיסק ריק.
    • כדי ליצור את הדיסק מתמונה:
      1. בוחרים באפשרות תמונה.
      2. בקטע תמונת המקור, בוחרים את תמונת המקור של הדיסק.
    • כדי ליצור את הדיסק מקובץ snapshot קיים:
      1. בוחרים באפשרות Snapshot (קובץ snapshot),‏ Instant snapshot (קובץ snapshot מואץ) או Archive snapshot (קובץ snapshot של ארכיון), בהתאם לסוג קובץ ה-snapshot של המקור: קובץ snapshot רגיל, קובץ snapshot מואץ או קובץ snapshot של ארכיון.
      2. בקטע Source snapshot (קובץ ה-snapshot של המקור), בוחרים את קובץ ה-snapshot של המקור או את קובץ ה-snapshot המיידי מהרשימה. מוצגות רק תמונות מצב שנמצאות במיקום שבחרתם.
    • כדי ליצור את הדיסק מדיסק ספציפי שנמצא בתמונת מכונה (גרסת Preview):

      1. בוחרים באפשרות Machine Image (תמונת מכונה).
      2. בתפריט הנפתח Source machine image (תמונת מכונה של המקור), בוחרים את תמונת המכונה שרוצים להשתמש בה.
      3. בתפריט הנפתח Source disk (דיסק מקור), בוחרים את שם המכשיר של הדיסק הספציפי בתמונת המכונה שנבחרה שרוצים להשתמש בו כמקור לדיסק החדש.
      4. אם תמונת המכונה שנבחרה מוגנת באמצעות מפתח הצפנה באספקת הלקוח (CSEK), יופיע הקטע הצפנה. מזינים את מפתח הפענוח הנדרש בשדה המתאים.
      5. מגדירים מאפיינים אחרים של הדיסק, כמו Name,‏ Type,‏ Size וכלל Deletion, לפי הצורך.
  7. אופציונלי: כדי לראות אפשרויות הגדרה מתקדמות, מרחיבים את הקטע הצגת הגדרות מתקדמות.

    • בוחרים את מצב צירוף הדיסק בשדה Mode.
    • כדי לבחור אם לשמור או למחוק את הדיסק כשמוחקים את המכונה, בוחרים את האפשרות בשדה Deletion rule (כלל מחיקה).
    • כדי שיהיה קל יותר לזהות את הדיסק מתוך מערכת ההפעלה של האורח, מציינים שם מכשיר בהתאמה אישית. בקטע שם המכשיר, בוחרים באפשרות שימוש בשם מכשיר מותאם אישית. בשדה Device name (שם המכשיר), מזינים מחרוזת שתשמש כקישור סמלי לדיסק.

  8. לוחצים על סיום כדי להשלים את הגדרת הדיסק.

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

gcloud

  1. במסוף Google Cloud , מפעילים את Cloud Shell.

    הפעלת Cloud Shell

    בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.

  2. משתמשים בפקודה gcloud compute disks create כדי ליצור את הדיסק לאחסון מתמיד באזור.

    gcloud compute disks create DISK_NAME \
      --size DISK_SIZE --zone=ZONE \
      --type DISK_TYPE
    

    מחליפים את מה שכתוב בשדות הבאים:

    • DISK_NAME: השם של הדיסק החדש.
    • DISK_SIZE: הגודל של הדיסק החדש, בגיגה-בייט. הגדלים הקבילים נעים בין 10GB ל-65,536GB, כולל, במרווחים של 1GB.
    • ZONE: האזור שבו Compute Engine יוצר את הדיסק, לדוגמה, us-central1-f.
    • DISK_TYPE: הסוג של הדיסק החדש. לדוגמה, עבור SSD Persistent Disk, מציינים pd-ssd.
  3. אחרי שיוצרים את הדיסק, מחברים אותו לכל מכונה וירטואלית שפועלת או שהופסקה. משתמשים בפקודה gcloud compute instances attach-disk:

    gcloud compute instances attach-disk VM_NAME \
      --disk DISK_NAME --device-name=DEVICE_NAME \
      --zone=ZONE
    

    מחליפים את מה שכתוב בשדות הבאים:

    • VM_NAME: השם של מכונת ה-VM שבה מוסיפים את נפח האחסון החדש של הדיסק לאחסון מתמיד (persistent disk) באזור
    • DISK_NAME: השם של הדיסק החדש שמצרפים למכונה הווירטואלית.
    • DEVICE_NAME: אופציונלי: שם שמערכת ההפעלה של האורח משתמשת בו כדי לזהות את הדיסק.
    • ZONE: האזור שבו Compute Engine יוצר את המכונה והדיסק, לדוגמה, us-central1-f.
  4. כדי לראות תיאור של הדיסק, משתמשים בפקודה gcloud compute disks describe.

Terraform

כדי ליצור דיסק, משתמשים במשאב google_compute_disk.

# Using pd-standard because it's the default for Compute Engine

resource "google_compute_disk" "default" {
  name = "disk-data"
  type = "pd-standard"
  zone = "us-west1-a"
  size = "5"
}

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

resource "google_compute_instance" "test_node" {
  name         = "test-node"
  machine_type = "f1-micro"
  zone         = "us-west1-a"

  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-11"
    }
  }
  attached_disk {
    source      = google_compute_disk.default.id
    device_name = google_compute_disk.default.name
  }

  network_interface {
    network = "default"
    access_config {
      # Ephemeral IP
    }
  }

  # Ignore changes for persistent disk attachments
  lifecycle {
    ignore_changes = [attached_disk]
  }


}

כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.

REST

  1. כדי ליצור דיסק אחסון מתמיד אזורי, יוצרים בקשת POST באמצעות ה-method‏ disks.insert. כוללים את המאפיינים name, sizeGb ו-type. כדי ליצור את הדיסק הזה כדיסק ריק ולא מעוצב שאי אפשר לאתחל ממנו, לא מציינים תמונת מקור או קובץ snapshot של מקור.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks
    
    {
     "name": "DISK_NAME",
     "sizeGb": "DISK_SIZE",
     "type": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE"
    }
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: מזהה הפרויקט.
    • ZONE: האזור שבו נמצאים המכונה הווירטואלית והדיסק החדש.
    • DISK_NAME: השם של הדיסק החדש.
    • DISK_SIZE: הגודל של הדיסק החדש, בגיגה-בייט. הגדלים הקבילים נעים בין 10GB ל-65,536GB, כולל, במרווחים של 1GB.
    • DISK_TYPE: הסוג של הדיסק החדש. לדוגמה, כדי להשתמש ב-SSD Persistent Disk, מציינים pd-ssd.
  2. יוצרים בקשת POST לשיטה compute.instances.attachDisk וכוללים את כתובת ה-URL של נפח הדיסק הקשיח האזורי שיצרתם:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/attachDisk
    
    {
     "source": "/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME",
     "deviceName": DEVICE_NAME
    }
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: מזהה הפרויקט
    • ZONE: האזור שבו נמצאים מכונת ה-VM והדיסק החדש
    • VM_NAME: השם של מכונת ה-VM שמוסיפים לה את נפח האחסון החדש של Persistent Disk
    • DISK_NAME: השם של הדיסק החדש
    • DEVICE_NAME: אופציונלי: שם שמערכת ההפעלה של האורח משתמשת בו כדי לזהות את הדיסק.

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

המאמרים הבאים