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

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

בדף הזה מוסבר איך לשנות את הגודל של Persistent Disk. כדי להגדיל את הגודל של נפח Hyperdisk ב-Google Cloud, אפשר לעיין במאמר בנושא שינוי ההגדרות של Hyperdisk.

כשיוצרים תמונת Linux בהתאמה אישית, תמונת Windows בהתאמה אישית או תמונת Fedora CoreOS, צריך להגדיל ידנית את הגודל של הדיסקים של האתחול ושל הדיסקים שלא קשורים לאתחול. אם אתם משתמשים בתמונה ציבורית (חוץ מתמונות של Fedora CoreOS), המערכת של Compute Engine משנה את הגודל של דיסקי האתחול באופן אוטומטי.

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

‫Compute Engine מנהל את החומרה שמאחורי דיסקים קבועים, כך שאתם יכולים להוסיף דיסקים ולשנות את הגודל שלהם בלי לטפל בפסי הסתרה או ביתירות.

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

  • אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות. אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי 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 .

תפקידים והרשאות נדרשים

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

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

התפקיד שמוגדר מראש מכיל את ההרשאה compute.disks.update, שנדרשת כדי לשנות את הגודל של דיסק קשיח קבוע.

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

הקטנת הגודל של דיסק

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

כדי להחליף דיסק בדיסק קטן יותר, פועלים לפי השלבים הבאים:

  1. יוצרים דיסק ריק של אחסון מתמיד ומציינים את הגודל הרצוי. מוודאים שהדיסק החדש גדול מספיק כדי להכיל את הנתונים מהדיסק המקורי.
  2. מחברים את שני הדיסקים לאותה מכונה. הוראות מפורטות מופיעות במאמר צירוף דיסק שאינו דיסק אתחול למכונה וירטואלית.
  3. מפרמטים את הדיסק החדש ומעלים אותו. הוראות למקרים של Linux ושל Windows.
  4. מעתיקים את הנתונים מהדיסק המקורי לדיסק החדש באמצעות כלי עזר שזמינים למערכת ההפעלה. לדוגמה, ב-Linux, אפשר להשתמש ב-rsync או ב-dd. במקרים של מופעי Windows, אפשר להשתמש ב-robocopy.
  5. מוודאים שבדיסק החדש יש את כל הנתונים והוא פועל כצפוי.
  6. כדי להשתמש בדיסק החדש, צריך לעדכן את האפליקציה או את מערכת ההפעלה.
  7. אחרי שמוודאים שההעברה הצליחה, אפשר לנתק ולמחוק את הדיסק המקורי הגדול יותר.
תחויבו על הדיסק המקורי עד שתמחקו אותו.

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

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

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

הגדלת הגודל של דיסק

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

המסוף

  1. נכנסים לדף Disks במסוף Google Cloud .

    לפתיחת הדף Disks

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

  3. בדף הפרטים של הדיסק, לוחצים על עריכה. יכול להיות שתצטרכו ללחוץ על התפריט More actions ואז על Edit.

  4. בשדה גודל, מזינים את הגודל החדש של הדיסק. אפשר לשנות את הגודל של דיסקים עם טבלאות מחיצות MBR רק עד 2 TB.

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

גודל הדיסק החדש מוצג ברשימת הדיסקים.

gcloud

משתמשים בפקודה gcloud compute disks resize ומציינים את הדגל --size עם הגודל החדש של הדיסק, בגיביבייט (GiB).

gcloud compute disks resize DISK_NAME \
    --size DISK_SIZE \
    --zone=ZONE

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

  • DISK_NAME: שם הדיסק שמשנים את הגודל שלו.
  • DISK_SIZE: הגודל החדש של הדיסק בגיביבייט (GiB). אפשר לשנות את הגודל של דיסקים עם טבלאות מחיצות MBR רק עד 2 TB.
  • ZONE: בדיסקים לאחסון מתמיד של תחום, מציינים את התחום שבו הדיסק נמצא.

    במקום זאת, כדי להשתמש באחסון מתמיד אזורי, משתמשים בדגל --region=REGION ומציינים את האזור שבו נמצא האחסון המתמיד האזורי.

Terraform

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

דיסק אזורי

כדי לשנות את הגודל של דיסק לאחסון מתמיד, אפשר להשתמש במשאב google_compute_disk ובפרמטר size.

# 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"
}

אם כוללים את הפרמטר size יחד עם הפרמטר image או snapshot, הערך של size צריך להיות שווה לגודל התמונה או הצילום או גדול ממנו.

אם לא מציינים את הפרמטרים image ו-snapshot, אפשר להגדיר את הפרמטר size לערך שקטן מגודל הדיסק הקיים. אם תעשו את זה, Terraform ישמיד את הדיסק ויצור דיסק חדש של אחסון מתמיד (persistent disk) ריק.

דיסק אחסון מתמיד אזורי

כדי לשנות את הגודל של דיסק לאחסון מתמיד אזורי, אפשר להשתמש במשאב google_compute_region_disk ובפרמטר size.

resource "google_compute_region_disk" "regiondisk" {
  name                      = "region-disk-name"
  snapshot                  = google_compute_snapshot.snapdisk.id
  type                      = "pd-ssd"
  region                    = "us-central1"
  physical_block_size_bytes = 4096
  size                      = 11

  replica_zones = ["us-central1-a", "us-central1-f"]
}

אם כוללים את הפרמטר size יחד עם הפרמטר image או snapshot, הערך של size צריך להיות שווה לגודל התמונה או הצילום או גדול ממנו.

אם לא מציינים את הפרמטרים image ו-snapshot, אפשר להגדיר את הפרמטר size לערך שקטן מגודל הדיסק הקיים. אם עושים את זה, Terraform משמיד את הדיסק ויוצר דיסק חדש ריק של RegionalPersistent.

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

REST

כדי לשנות את הגודל של Persistent Disk, צריך ליצור בקשת POST אל ה-method‏ compute.disks.resize.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/resize
{
  "sizeGb": "DISK_SIZE"
}

כדי לשנות את הגודל של Regional Persistent Disk, צריך ליצור בקשת POST אל ה-method‏ compute.regionDisks.resize.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME/resize
{
   "sizeGb": "DISK_SIZE"
}

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

  • PROJECT_ID: מזהה הפרויקט.
  • ZONE: לדיסק אחסון מתמיד אזורי: האזור שבו נמצא הדיסק.
  • REGION: בדיסק אחסון מתמיד אזורי: האזור שבו הדיסק ממוקם.
  • DISK_NAME: שם הדיסק שרוצים לשנות את הגודל שלו.
  • DISK_SIZE: הגודל החדש של הדיסק בגיביבייט (GiB). אפשר לשנות את הגודל של דיסקים עם טבלאות חלוקה למחיצות מסוג MBR רק עד 2 TB.

שינוי הגודל של מערכת הקבצים והמחיצות

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

  • דיסק אתחול: אם אתם משתמשים בתמונה מותאמת אישית של Linux, בתמונה מותאמת אישית של Windows או בתמונה של Fedora CoreOS, אתם צריכים לשנות את הגודל של מחיצת הבסיס ומערכת הקבצים באופן ידני. במכונות וירטואליות עם תמונות ציבוריות (למעט תמונות של Fedora CoreOS),‏ Compute Engine משנה את הגודל של מחיצת השורש ומערכת הקבצים באופן אוטומטי אחרי שמגדילים את הגודל של דיסק האתחול, ולא צריך להפעיל מחדש את המכונה הווירטואלית.

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

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

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

מכונות וירטואליות של Linux

  1. נכנסים לדף VM instances במסוף Google Cloud .

    כניסה לדף VM instances

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

  3. משתמשים בפקודות df ו-lsblk כדי להציג את הגודל של מערכת הקבצים ולמצוא את שמות המכשירים של הדיסקים.

    $ sudo df -Th
    
    Filesystem      Type     Size   Used  Avail  Use%  Mounted on
    /dev/sda1       ext4     9.7G   1.2G   8.5G   12%  /
    /dev/sdb        ext4     250G    60M   250G    1%  /mnt/disks/disk-1
    
    
    $ sudo lsblk
    
    NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda       8:0    0   20G  0 disk
    └─sda1    8:1    0   10G  0 part /
    sdb       8:16   0  500G  0 disk /mnt/disks/disk-1
    
    

    הדוגמה הזו כוללת את הדיסקים הבאים:

    • דיסק אתחול: מחיצת /dev/sda1 נמצאת בדיסק אתחול שגודלו שונה ל-20GB. טבלת המחיצות ומערכת הקבצים מספקות למערכת ההפעלה רק 9.7GB.
    • דיסק נתונים שאינו דיסק אתחול: לדיסק הנתונים /dev/sdb שאינו דיסק אתחול אין טבלת מחיצות, אבל מערכת הקבצים בדיסק הזה מספקת רק 250GB למערכת ההפעלה. ספריית ההרכבה של הדיסק הזה היא /mnt/disks/disk-1.

    הפקודה df מראה שהמחיצה /dev/sda1 נטענת כמערכת קבצים בסיסית, והדיסק /dev/sdb נטען כדיסק נתונים שלא מיועד להפעלה בכתובת /mnt/disks/disk-1. שימו לב לעמודה Type, שבה מצוין אם הדיסק משתמש במערכת קבצים מסוג ext4 או xfs.

  4. בודקים את סוג המחיצה:

    sudo parted -l
    
    לחלופין, כדי לראות מידע רק על דיסק ספציפי:
    sudo parted -l /dev/DEVICE_NAME
    
    מחפשים את השדה Partition Table (טבלת מחיצות). אם הערך הוא msdos, אז סוג המחיצה של הדיסק הוא MBR. כלומר, הגודל המקסימלי של דיסק כזה הוא 2 TB.

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

    1. משנים את הגודל של מחיצת הבסיס באמצעות parted. לדוגמה, הפקודות הבאות מרחיבות את המחיצה 1 של /dev/sda לגודל המקסימלי האפשרי:

      1. פותחים את parted במחיצה /dev/sda:

        sudo parted /dev/sda
      2. בהנחיה (parted), מזינים:

        resizepart
      3. בהנחיה Partition number?, מזינים:

        1
      4. בהנחיה Warning: Partition /dev/sda1 is being used. Are you sure you want to continue?, מזינים:

        Yes
      5. בהנחיה End?, מזינים

        100%
      6. בהנחיה (parted), מזינים:

        quit
    2. קוראים את טבלת המחיצות החדשה באמצעות partprobe.

      sudo partprobe /dev/sda
      
    3. הרחבת מערכת הקבצים:

      • אם אתם משתמשים ב-ext4, משתמשים בפקודה resize2fs:

        sudo resize2fs /dev/sda1
        
      • אם אתם משתמשים ב-xfs, משתמשים בפקודה xfs_growfs:

        sudo xfs_growfs -d /
        
      • אם משתמשים ב-btrfs, משתמשים בפקודה btrfs:

        sudo btrfs filesystem resize max /
        
  6. משנים את הגודל של מערכת הקבצים בדיסק הנתונים שאינו דיסק האתחול.

    • אם אתם משתמשים ב-ext4, משתמשים בפקודה resize2fs כדי להרחיב את מערכת הקבצים:

      sudo resize2fs /dev/DEVICE_NAME
      

      מחליפים את DEVICE_NAME בשם המכשיר של הדיסק. בדוגמה הזו, שם המכשיר הוא /dev/sdb.

    • אם אתם משתמשים ב-xfs, משתמשים בפקודה xfs_growfs כדי להרחיב את מערכת הקבצים:

      sudo xfs_growfs MOUNT_DIR
      

      מחליפים את MOUNT_DIR בנקודת הטעינה של המכשיר. ניתן למצוא את נקודת הטעינה המופיעה בעמודה MOUNTPOINT בפלט של הפקודה lsblk.

    • אם אתם משתמשים ב-btrfs, צריך להשתמש בפקודה btrfs כדי להרחיב את מערכת הקבצים:

      sudo btrfs filesystem resize max MOUNT_DIR
      

      מחליפים את MOUNT_DIR בנקודת הטעינה של המכשיר. ניתן למצוא את נקודת הטעינה המופיעה בעמודה MOUNTPOINT בפלט של הפקודה lsblk.

  7. משתמשים בפקודה df כדי לוודא שמערכת הקבצים הורחבה. לדוגמה:

    df -h /dev/sdb
    
    Filesystem  Size  Used  Avail  Use%  Mounted on
    /dev/sdb    493G   70M  492G     1%  /mnt/disks/disk-1
    

מכונות וירטואליות של Windows

אפשר להשתמש בכלי Windows Disk Management כדי לשנות את הגודל של מחיצות במופע של Windows.

  1. נכנסים לדף VM instances במסוף Google Cloud .

    כניסה לדף VM instances

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

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

    בחירת הכלי 'ניהול דיסקים' של Windows מתוך תפריט הלחיצה הימנית על לחצן ההתחלה של Windows.

  4. כדי להציג את סוג המחיצה של הדיסקים, מריצים את הפקודה הבאה ב-PowerShell:

    Get-Disk
    
    בעמודה Partition Style, אם הערך הוא MBR, אז סוג המחיצה בדיסק הוא MBR. כלומר, הגודל המקסימלי של דיסק כזה יהיה 2 TB.

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

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

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

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

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

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

    בודקים את רשימת הדיסקים שמזוהים על ידי Windows ומוודאים שהסטטוס של המכונה הוא Online (באינטרנט) ו-Healthy (תקין).

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

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