שינוי ההגדרות של נפח אחסון מסוג Hyperdisk ב-Google Cloud

אתם יכולים לשנות את המאפיינים של אמצעי האחסון ב-Google Cloud Hyperdisk בהתאם לצורכי עומס העבודה.

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

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

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

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

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

    המסוף

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

    gcloud

    1. התקינו את ה-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 .

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

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

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

התפקיד המוגדר מראש הזה כולל את ההרשאה compute.disks.update, שנדרשת כדי לשנות Hyperdisk.

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

סקירה כללית על שינוי נפחי Hyperdisk

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

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

מגבלות

  • אפשר רק להגדיל את הקיבולת של נפח Hyperdisk. אי אפשר להקטין את הקיבולת של נפח אחסון מסוג Hyperdisk.
  • כדי להגדיר את מצב הגישה של דיסק, צריך לנתק אותו מכל המכונות הווירטואליות.
  • בנפחי Hyperdisk ML, אי אפשר להגדיר את מצב הגישה בחזרה לקריאה וכתיבה אם הגדרתם אותו לקריאה בלבד.
  • אי אפשר להגדיר את מצב הגישה לנפחי Hyperdisk Throughput ו-Hyperdisk Extreme.

שינויים נתמכים בגודל ובביצועים של אמצעי אחסון ב-Hyperdisk

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

סוג Hyperdisk תפוקה שניתנת להתאמה אישית ‫IOPS בהתאמה אישית אפשר לשתף בין מכונות וירטואליות
Hyperdisk Balanced כן כן כן
Hyperdisk Balanced High Availability
כן כן כן
Hyperdisk Extreme לא כן כן
Hyperdisk ML כן לא כן, במצב קריאה-בלבד
Hyperdisk Throughput כן לא לא

הקטנת הקיבולת של נפח Hyperdisk

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

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

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

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

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

אפשר לשנות את הגודל של נפחי Hyperdisk בתדירויות הבאות:

  • Hyperdisk Throughput: אחת ל-6 שעות
  • ‫Hyperdisk Balanced ו-Hyperdisk Balanced High Availability: פעמיים בחלון זמן של 4 שעות
  • כל שאר הסוגים של Hyperdisk: פעם ב-4 שעות

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

  1. הגדלת הנפח
  2. גיבוי הדיסק
  3. שינוי הגודל של מחיצות הדיסק

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

הגודל שאתם מציינים לנפח Hyperdisk צריך להיות בטווחים הבאים:

סוג הדיסק גודל מינימלי גודל מקסימלי ברירת מחדל של גודל
Hyperdisk Balanced ‫4 GiB 64 TiB1 ‫100 GiB
Hyperdisk Balanced High Availability ‫4 GiB ‫64 TiB 100 GiB
Hyperdisk Extreme ‫64 GiB ‫64 TiB ‫1 TiB
Hyperdisk Throughput ‫2 TiB ‫32 TiB ‫2 TiB
Hyperdisk ML ‫4 GiB ‫64 TiB 100 GiB
‫1 תצוגה מקדימה: ‫C4 תומך בגודל דיסק מקסימלי של ‎128 TiB. כדי לקבל גישה לתכונה הזו, צריך לפנות לכתובת hyperdisk-questions@google.com.

עם זאת, הגודל הכולל של כל נפחי ה-Hyperdisk שמצורפים למופע לא יכול לחרוג מ מגבלות הגודל והצירוף של ה-Hyperdisk של המופע.

שינויים בביצועים

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

אחרי שמשנים את קצב ה-IOPS או את קצב העברת הנתונים שהוקצו, יכול להיות שיעברו עד 15 דקות לפני שהשינויים ייכנסו לתוקף. עם זאת, התנאים הבאים חלים:

  • בדיסקים במצב multi-writer, אם הדיסק היה מחובר לכמה מכונות וירטואליות כשביצעתם את השינוי, יכול להיות שיעברו עד 6 שעות עד שהשינויים בביצועים ייכנסו לתוקף.
  • בנפחי Hyperdisk ML, יכול להיות שיעברו עד 20 דקות עד שהשינויים ייכנסו לתוקף.
  • בכל סוגי ה-Hyperdisk, חוץ מ-Hyperdisk ML, אפשר לשנות את ה-IOPS שהוקצו או את קצב העברת הנתונים שהוקצה פעם ב-4 שעות.
  • בנפחי אחסון של Hyperdisk ML, אפשר לשנות את התפוקה שהוקצתה פעם ב-6 שעות.
  • בנפחי Hyperdisk Balanced ו-Hyperdisk Balanced High Availability, יש תקופות צינון נפרדות ל-IOPS ול-Throughput שהוקצו. המשמעות היא שאם תשנו את ה-IOPS שהוקצה בשעה 10:00, עדיין תוכלו לשנות את קצב העברת הנתונים בשעה 10:01.

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

אם תנסו לשנות נפח Hyperdisk יותר מפעם אחת במסגרת המגבלות שצוינו, תוצג הודעת שגיאה כמו Cannot update provisioned throughput due to being rate limited.

מגבלות הביצועים של נפחי Hyperdisk

בטבלה הבאה מפורטות המגבלות על הביצועים שאפשר לציין לכל סוג של Hyperdisk. עם זאת, רמות ה-IOPS והתפוקה שאתם יכולים לציין תלויות גם בגודל הנפח. סיכום מפורט של כל מגבלה מופיע בקטע מגבלות הגודל והביצועים של Hyperdisk Balanced,‏ Hyperdisk Balanced High Availability,‏ Hyperdisk Extreme,‏ Hyperdisk ML ו-Hyperdisk Throughput.

סוג Hyperdisk מגבלת IOPS מגבלת התפוקה (MiB לשנייה)
Hyperdisk Balanced 160,000 2,400
Hyperdisk Balanced High Availability 100,000 2,400
Hyperdisk Extreme 350,000 אי אפשר להקצות רמת תפוקה לנפחי אחסון של Hyperdisk Extreme. כל נפח מקבל קצב העברת נתונים של ‎250 MiB/s עם כל 1,000 פעולות קלט/פלט בשנייה (IOPS), עד ‎5,000 MiB/s.
Hyperdisk ML אי אפשר להקצות רמת IOPS, אבל כל MiB/s של תפוקה שהוקצתה מגיע עם 16 IOPS, עד 33,554,432 IOPS. 2,097,152
Hyperdisk Throughput אי אפשר להקצות רמת IOPS, אבל כל MiB/s של הקצאת משאבים לפי התפוקה שנקבעה מגיע עם 4 IOPS, עד 9,600 IOPS. 2,400

שינויים במצב הגישה

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

השבתת גישת קריאה מרובה או גישת כתיבה מרובה לדיסק

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

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

שיטות מומלצות

יש מגבלות על התדירות שבה אפשר לשנות את מאפייני הדיסק, ולכן מומלץ לפעול לפי השיטות המומלצות הבאות:

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

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

    לדוגמה, נניח שאתם רוצים להגדיל את הנפח של Hyperdisk Balanced High Availability‎ בנפח של ‎500 GiB ל-‎1 TiB. צריך לוודא שעומס העבודה לא ידרוש יותר מ-1 TiB של מקום בכונן ב-4 השעות הקרובות, כי אי אפשר להגדיל שוב את הנפח עד שיחלפו 4 שעות.

הגדרת מצב הגישה של נפח Hyperdisk

כדי להגדיר את מצב הגישה של דיסק, צריך לנתק אותו מכל מכונות ה-VM.

אפשר לבצע את השינויים הבאים במצב הגישה של נפח Hyperdisk:

  • בנפחי אחסון מסוג Hyperdisk Balanced ו-Hyperdisk Balanced High Availability, אפשר להפעיל או להשבית את מצב הגישה לכתיבה מרובה.
  • אפשר להפעיל מצב קריאה-בלבד לנפחי Hyperdisk ML.

אי אפשר לשנות את מצב הגישה של נפח Hyperdisk ML אחרי שמגדירים אותו לקריאה בלבד.

אפשר להגדיר את מצב הגישה באמצעות מסוף Google Cloud ,‏ Google Cloud CLI או REST.

המסוף

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

    לפתיחת הדף Disks

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

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

  4. בשדה Access mode, בוחרים את מצב הגישה הרצוי:

    • כדי להפעיל את מצב קריאה בלבד, בוחרים באפשרות קריאה בלבד של כמה מכונות וירטואליות.
    • כדי להפעיל מצב של כמה מכונות וירטואליות עם הרשאות קריאה וכתיבה, בוחרים באפשרות Multiple VMs read-write (כמה מכונות וירטואליות עם הרשאות קריאה וכתיבה).
    • (ברירת מחדל) כדי להפעיל מצב של כותב יחיד, בוחרים באפשרות קריאה וכתיבה של מכונה וירטואלית יחידה.
  5. כדי להחיל את השינויים, לוחצים על שמירה.

gcloud

מריצים את הפקודה disks update ומציינים את מצב הגישה באמצעות הדגל --access-mode.

gcloud compute disks update DISK_NAME  \
   --access-mode=DISK_ACCESS_MODE

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

  • ‫DISK_NAME: השם של נפח ה-Hyperdisk שמשנים.
  • DISK_ACCESS_MODE: איך מכונות וירטואליות יכולות לגשת לנתונים בדיסק. הערכים הנתמכים הם:
    • ‫READ_ONLY_MANY, לגישת קריאה בלבד ממספר מכונות וירטואליות.
    • ‫READ_WRITE_MANY, לגישת קריאה-כתיבה ממספר מכונות וירטואליות.
    • (ברירת מחדל) READ_WRITE_SINGLE, לגישת קריאה וכתיבה ממכונה וירטואלית אחת.

REST

יוצרים בקשת PATCH אל ה-method‏ compute.disks.update. בגוף הבקשה, מגדירים את מצב הגישה באמצעות הפרמטר "accessMode".

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/update
{
   "accessMode": "DISK_ACCESS_MODE"
}

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

  • PROJECT_ID: מזהה הפרויקט.
  • ‫ZONE: האזור שבו נמצא נפח ה-Hyperdisk.
  • ‫DISK_NAME: השם של נפח ה-Hyperdisk שרוצים לשנות.
  • DISK_ACCESS_MODE: איך מכונות וירטואליות יכולות לגשת לנתונים בדיסק. הערכים הנתמכים הם:
    • ‫READ_ONLY_MANY, לגישת קריאה בלבד ממספר מכונות וירטואליות.
    • ‫READ_WRITE_MANY, לגישת קריאה-כתיבה ממספר מכונות וירטואליות.
    • ‫READ_WRITE_SINGLE, לגישת קריאה-כתיבה ממכונה וירטואלית אחת.

שינוי הגודל או הביצועים שהוקצו של נפח Hyperdisk

אפשר להגדיל את גודל הנפח ולשנות את ה-IOPS או את קצב העברת הנתונים שמוקצים לנפח Hyperdisk, במסגרת מגבלות הזמן הבאות:

  • מגדילים את גודל הדיסק:

    • ‫Hyperdisk Throughput: אחת ל-6 שעות
    • ‫Hyperdisk Balanced ו-Hyperdisk Balanced High Availability: פעמיים תוך חלון של 4 שעות
    • לכל שאר הסוגים של Hyperdisk: אחת ל-4 שעות
  • משנים את ה-IOPS או את קצב העברת הנתונים שהוקצו:

    • ‫Hyperdisk ML: אחת ל-6 שעות
    • לכל שאר סוגי ה-Hyperdisk: אפשר לשנות את ה-IOPS ואת קצב העברת הנתונים פעם אחת כל 4 שעות.

אפשר לשנות את הגודל והביצועים שהוקצו לנפח Hyperdisk באמצעות Google Cloud המסוף, ה-CLI של gcloud או REST.

המסוף

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

    לפתיחת הדף Disks

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

  3. בדף הפרטים של הדיסק, לוחצים על Edit.

    1. בשדה גודל, מזינים את הגודל החדש של הדיסק. גודל הדיסק צריך להיות בטווח הערכים הנתמכים.
    2. ב-Hyperdisk Extreme, ב-Hyperdisk Balanced וב-Hyperdisk Balanced High Availability: בשדה Provisioned IOPS, מזינים את ערך ה-IOPS החדש של אמצעי האחסון.
    3. ‫Hyperdisk Throughput,‏ Hyperdisk ML,‏ Hyperdisk Balanced ו-Hyperdisk Balanced High Availability: בשדה הקצאת משאבים לפי התפוקה שנקבעה, מזינים את ערך התפוקה החדש של אמצעי האחסון.
  4. לוחצים על שמירה כדי להחיל את השינויים על הדיסק.

gcloud

משתמשים בפקודה disks update ומציינים את הדגלים --size, --provisioned-iops או --provisioned-throughput.

כדי לשנות את הגודל של נפח אחסון מסוג Hyperdisk Balanced High Availability, צריך לכלול את הדגל --region.

gcloud compute disks update DISK_NAME  \
    --size=DISK_SIZE  \
    [--region=REGION]  \
    --provisioned-iops=IOPS_LIMIT  \
    --provisioned-throughput=THROUGHPUT_LIMIT

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

  • ‫DISK_NAME: השם של נפח ה-Hyperdisk שמשנים.
  • ‫DISK_SIZE: אופציונלי: הגודל החדש של הדיסק. הערך חייב להיות מספר שלם ואחריו יחידת גודל של GB לגיגה-בייט או TB לטרה-בייט. הערך של disk size חייב להיות בטווח הערכים הנתמכים.
  • ‫REGION: אופציונלי. האזור שבו נמצא הדיסק Hyperdisk Balanced High Availability
  • ‫IOPS_LIMIT: אופציונלי: הגדרת ה-IOPS של נפחי Hyperdisk Extreme,‏ Hyperdisk Balanced ו-Hyperdisk Balanced High Availability. הערך צריך להיות בטווח הערכים הנתמכים.
  • ‫THROUGHPUT_LIMIT: אופציונלי: הגדרת התפוקה של נפח האחסון Hyperdisk Throughput,‏ Hyperdisk ML,‏ Hyperdisk Balanced או Hyperdisk Balanced High Availability. הערך צריך להיות מספר שלם שמייצג את התפוקה שנמדדת ב-MiB לשנייה. הערך צריך להיות בטווח הערכים הנתמכים.

REST

יוצרים בקשת PATCH אל ה-method‏ compute.disks.update. בגוף הבקשה, מציינים את הפרמטרים sizeGb, provisionedIops או provisionedThroughput.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME
{
   "sizeGb": "DISK_SIZE,
   "provisionedIops": "IOPS_LIMIT",
   "provisionedThroughput": "THROUGHPUT_LIMIT"
}

כדי לשנות נפח אחסון מסוג Hyperdisk Balanced High Availability, צריך ליצור בקשת PATCH אל ה-method‏ compute.regionDisks.update.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME
{
   "sizeGb": "DISK_SIZE,
   "provisionedIops": "IOPS_LIMIT",
   "provisionedThroughput": "THROUGHPUT_LIMIT"
}

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

  • PROJECT_ID: מזהה הפרויקט.
  • ‫ZONE: האזור שבו נמצא נפח ה-Hyperdisk.
  • ‫REGION: בדיסקים מסוג Hyperdisk Balanced High Availability, זהו האזור שבו הדיסק ממוקם.
  • ‫DISK_NAME: השם של נפח ה-Hyperdisk שרוצים לשנות.
  • ‫DISK_SIZE: אופציונלי: הגודל החדש של הדיסק. הערך חייב להיות מספר שלם ואחריו יחידת מידה: GB לגיגה-בייט או TB לטרה-בייט. הערך של disk size חייב להיות בטווח הערכים הנתמכים.
  • ‫IOPS_LIMIT: אופציונלי: הגדרת ה-IOPS של נפח האחסון Hyperdisk Extreme,‏ Hyperdisk Balanced או Hyperdisk Balanced High Availability. הערך צריך להיות בטווח הערכים הנתמכים.
  • ‫THROUGHPUT_LIMIT: אופציונלי: תצורת התפוקה של נפח האחסון Hyperdisk Balanced,‏ Hyperdisk ML,‏ Hyperdisk Balanced או Hyperdisk Balanced High Availability, שצוינה כמספר שלם שמייצג את התפוקה שנמדדת ב-MiB לשנייה. הערך צריך להיות בטווח הערכים הנתמכים.

אם תנסו לשנות את הגודל או הביצועים של נפח Hyperdisk יותר מפעם אחת במסגרת המגבלות שצוינו, תקבלו הודעת שגיאה כמו Cannot update provisioned throughput due to being rate limited או Disk cannot be resized due to being rate limited.

גיבוי של נפח Hyperdisk

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

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

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

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

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

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

מכונות Linux

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

    כניסה לדף VM instances

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

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

    $ sudo df -Th
    
    Filesystem      Type      Size  Used Avail Use% Mounted on
    udev            devtmpfs  3.9G     0  3.9G   0% /dev
    /dev/nvme0n1p1  ext4      9.7G  2.0G  7.2G  22% /
    /dev/nvme0n1p15 vfat      124M   12M  113M  10% /boot/efi
    /dev/nvme0n2    ext4       98G   24K   98G   1% /mnt/disks/data
    
    
    $ sudo lsblk
    
    NAME        MAJ:MIN   RM  SIZE RO TYPE MOUNTPOINT
    nvme0n1      259:0    0   20G  0 disk
    ├─nvme0n1p1  259:5    0  9.9G  0 part /
    ├─nvme0n1p14 259:6    0    3M  0 part
    └─nvme0n1p15 259:7    0  124M  0 part /boot/efi
    nvme0n2      259:4    0  100G  0 disk /mnt/disks/data
    
    

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

    • דיסק אתחול: מחיצת /dev/nvme0n1p1 נמצאת בדיסק אתחול שגודלו שונה ל-20GB. טבלת המחיצות ומערכת הקבצים מספקות רק 9.9GB למערכת ההפעלה.
    • דיסק נתונים שלא משמש לאתחול: לדיסק הנתונים /dev/nvme0n2 שלא משמש לאתחול אין טבלת מחיצות, אבל מערכת הקבצים בדיסק הזה מספקת 100GB למערכת ההפעלה. ספריית הטעינה של הדיסק הזה היא /mnt/disks/data.

    שימו לב לעמודה Type בפלט הפקודה df, שבה מצוין אם הדיסק משתמש במערכת קבצים מסוג ext4 או xfs.

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

    sudo parted -l
    

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

    Warning: Not all of the space available to /dev/nvme0n1 appears to be
    used, you can fix the GPT to use all of the space (an extra 20971520
    blocks) or continue with the current setting?
    Fix/Ignore?
    

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

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

    sudo parted -l /dev/DEVICE_NAME
    

    מחפשים את השדה: Partition Table. אם הערך הוא msdos, אז סוג המחיצה בדיסק הוא MBR. כלומר, הגודל המקסימלי של דיסק כזה יהיה 2TB.

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

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

      1. פותחים את parted במכשיר:

        sudo parted /dev/DEVICE_NAME
        

        מחליפים את DEVICE_NAME בשם המכשיר של דיסק האתחול, לדוגמה, nvme0n1

      2. בשורת הפקודה, מזינים:

        (parted) resizepart
        
      3. בפרומפט Partition number?, מזינים:

        1
        
      4. בשורת הפקודה של Warning: Partition /dev/DEVICE_NAMEp1 is being used. Are you sure you want to continue?, מזינים:

        Yes
        
      5. בשורת הפקודה End?, מזינים את הפקודה הבאה:

        100%
        
      6. בשורת הפקודה (parted), מזינים:

        (parted) quit
        
    2. מציגים את טבלת המחיצות החדשה באמצעות parted -l.

      sudo parted -l /dev/DEVICE_NAME
      
      Model: nvme_card-pd (nvme)
      Disk /dev/DEVICE_NAME: 21.5GB
      Sector size (logical/physical): 512B/512B
      Partition Table: gpt
      Disk Flags:
      
      Number  Start   End     Size    File system  Name  Flags
      14      1049kB  4194kB  3146kB                     bios_grub
      15      4194kB  134MB   130MB   fat16              boot, esp
      1       134MB   21.5GB  21.3GB  ext4
      
    3. הרחבת מערכת הקבצים:

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

        sudo resize2fs /dev/PARTITION_NAME
        

        מחליפים את PARTITION_NAME בשם המחיצה של דיסק האתחול, לדוגמה, nvme0n1p1.

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

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

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

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

      sudo resize2fs /dev/PARTITION_NAME
      

      מחליפים את PARTITION_NAME בשם המחיצה של דיסק הנתונים. בדוגמה הזו, שם המחיצה הוא /dev/nvme0n2p1.

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

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

      sudo btrfs filesystem resize max MOUNT_DIR
      

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

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

    df -h /dev/PARTITION_NAME
    
    Filesystem       Size  Used  Avail    Use%     Mounted on
    /dev/nvme0n2p1   118G  70M   118G     1%     /mnt/disks/data
    

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

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

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

    כניסה לדף VM instances

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

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

    בוחרים בכלי Windows Disk Manager בתפריט ההקשר של לחצן ההתחלה של Windows.

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

    Get-Disk
    

    בעמודה Partition Style (סגנון המחיצה), אם הערך הוא MBR, סוג המחיצה בדיסק הוא MBR. כלומר, הגודל המקסימלי של דיסק כזה יהיה 2 TB.

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

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

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

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

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

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

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

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

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