אתם יכולים לשנות את המאפיינים של אמצעי האחסון ב-Google Cloud Hyperdisk בהתאם לצורכי עומס העבודה.
בדף הזה מוסבר איך לשנות את המאפיינים הבאים של נפח אחסון מסוג Hyperdisk:
- להקטין או להגדיל את ה-IOPS או את קצב הנתונים שהוקצו כדי להפחית את העלויות או לשפר את הביצועים, בהתאמה.
- הגדלת הקיבולת המוקצית של עוצמת הקול.
- בסוגים מסוימים של Hyperdisk, אפשר להפעיל או להשבית גישה בו-זמנית לנתונים של אמצעי האחסון מכמה מכונות. כדי לעשות זאת, צריך להגדיר את מצב הגישה לנפח.
לפני שמתחילים
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא התהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API של Google Cloud , לא צריך להגדיר אימות.
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 .
תפקידים והרשאות נדרשים
כדי לקבל את ההרשאה שדרושה לשינוי Hyperdisk, בקשו מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
- אדמין מכונות של Compute (v1) (
roles/compute.instanceAdmin.v1) -
כדי להתחבר למכונה וירטואלית שיכולה לפעול כחשבון שירות:
משתמש בחשבון שירות (גרסה 1) (
roles/iam.serviceAccountUser)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקיד המוגדר מראש הזה כולל את ההרשאה 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. צריך להחליף את אמצעי האחסון באחסון חדש וקטן יותר. כדי לעשות זאת, יוצרים נפח ריק עם גודל קטן יותר, ואז מעתיקים את התוכן מהנפח המקורי לנפח החדש. אחרי זה תוכלו להשתמש בעוצמת הקול החדשה במקום בעוצמת הקול המקורית.
כדי להחליף אמצעי אחסון באמצעי אחסון קטן יותר, פועלים לפי השלבים הבאים:
- יוצרים נפח Hyperdisk ריק ומציינים את הגודל הרצוי. מוודאים שהדיסק החדש גדול מספיק כדי להכיל את הנתונים מהדיסק המקורי.
- מצרפים את שני אמצעי האחסון לאותו מכונה. הוראות מפורטות מופיעות במאמר צירוף דיסק שאינו דיסק אתחול למכונה וירטואלית.
- מפרמטים את אמצעי האחסון החדש ומעלים אותו. הוראות למקרים של Linux ושל Windows.
- מעתיקים את הנתונים מהאחסון המקורי לאחסון החדש באמצעות כלי השירות שזמינים למערכת ההפעלה (OS). לדוגמה, ב-Linux,
אפשר להשתמש ב-
rsyncאו ב-dd. במקרים של מופעי Windows, אפשר להשתמש ב-robocopy. - מוודאים שכל הנתונים נמצאים בנפח החדש ושהוא פועל כמו שצריך.
- כדי להשתמש בנפח החדש, צריך לעדכן את האפליקציה או את מערכת ההפעלה.
- אחרי שמוודאים שההעברה הסתיימה בהצלחה, אפשר לנתק ולמחוק את נפח האחסון המקורי והגדול יותר.
הגדלת הקיבולת של נפח אחסון מסוג Hyperdisk
אתם יכולים לשנות את הגודל של נפח Hyperdisk או להגדיל את הקיבולת שלו, גם אם הוא מצורף למופע פעיל. עם זאת, אם נפח Hyperdisk נמצא במצב ריבוי כתיבה, צריך לנתק את הנפח מכל המופעים לפני שמשנים את הגודל שלו.
אפשר לשנות את הגודל של נפחי Hyperdisk בתדירויות הבאות:
- Hyperdisk Throughput: אחת ל-6 שעות
- Hyperdisk Balanced ו-Hyperdisk Balanced High Availability: פעמיים בחלון זמן של 4 שעות
- כל שאר הסוגים של Hyperdisk: פעם ב-4 שעות
כדי לקבל את התוצאות הטובות ביותר, בצעו את השלבים הבאים כשאתם משנים את הקיבולת של נפח Hyperdisk:
מגבלות גודל של נפחי אחסון מסוג 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 |
עם זאת, הגודל הכולל של כל נפחי ה-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.
המסוף
נכנסים לדף Disks במסוף Google Cloud .
ברשימת הדיסקים בפרויקט, לוחצים על השם של נפח ה-Hyperdisk שרוצים לשנות.
בדף הפרטים של הדיסק, לוחצים על עריכה.
בשדה Access mode, בוחרים את מצב הגישה הרצוי:
- כדי להפעיל את מצב קריאה בלבד, בוחרים באפשרות קריאה בלבד של כמה מכונות וירטואליות.
- כדי להפעיל מצב של כמה מכונות וירטואליות עם הרשאות קריאה וכתיבה, בוחרים באפשרות Multiple VMs read-write (כמה מכונות וירטואליות עם הרשאות קריאה וכתיבה).
- (ברירת מחדל) כדי להפעיל מצב של כותב יחיד, בוחרים באפשרות קריאה וכתיבה של מכונה וירטואלית יחידה.
כדי להחיל את השינויים, לוחצים על שמירה.
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.
המסוף
נכנסים לדף Disks במסוף Google Cloud .
ברשימת הדיסקים בפרויקט, לוחצים על השם של נפח האחסון מסוג Hyperdisk שרוצים לשנות את הקיבולת או את הביצועים המוקצים שלו.
בדף הפרטים של הדיסק, לוחצים על Edit.
- בשדה גודל, מזינים את הגודל החדש של הדיסק. גודל הדיסק צריך להיות בטווח הערכים הנתמכים.
- ב-Hyperdisk Extreme, ב-Hyperdisk Balanced וב-Hyperdisk Balanced High Availability: בשדה Provisioned IOPS, מזינים את ערך ה-IOPS החדש של אמצעי האחסון.
- Hyperdisk Throughput, Hyperdisk ML, Hyperdisk Balanced ו-Hyperdisk Balanced High Availability: בשדה הקצאת משאבים לפי התפוקה שנקבעה, מזינים את ערך התפוקה החדש של אמצעי האחסון.
לוחצים על שמירה כדי להחיל את השינויים על הדיסק.
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
נכנסים לדף VM instances במסוף Google Cloud .
מוצאים את המופע שאליו מצורף הדיסק ששיניתם את הגודל שלו. לוחצים על SSH. בדפדפן נפתח חיבור טרמינל למופע.
משתמשים בפקודות
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.- דיסק אתחול: מחיצת
בודקים את סוג המחיצה:
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, מערכת ההפעלה תחלק מחדש את הדיסק באופן אוטומטי כדי שהשטח הנוסף יהיה זמין למערכת ההפעלה. אם אין לכם דיסקים נוספים לשנות, אפשר לדלג לשלב האחרון.אם אתם לא רוצים להשתמש באפשרות התיקון האוטומטי, או שהיא לא זמינה, אתם יכולים להציג את המידע על הדיסק שאתם רוצים לחלק מחדש למחיצות:
sudo parted -l /dev/DEVICE_NAME
מחפשים את השדה: Partition Table. אם הערך הוא
msdos, אז סוג המחיצה בדיסק הוא MBR. כלומר, הגודל המקסימלי של דיסק כזה יהיה 2TB.בדיסק אתחול, משנים את הגודל של מחיצת הבסיס ומערכת הקבצים בדיסק. בדוגמה הזו, אנחנו מניחים שתמונת ה-VM לא תומכת בחלוקה אוטומטית למחיצות של תיקיית הבסיס ובשינוי הגודל של מערכת הקבצים.
משנים את הגודל של מחיצת הבסיס באמצעות
parted. לדוגמה, הפקודות הבאות מרחיבות את מחיצה 1 במכשיר לגודל המקסימלי האפשרי:פותחים את
partedבמכשיר:sudo parted /dev/DEVICE_NAME
מחליפים את
DEVICE_NAMEבשם המכשיר של דיסק האתחול, לדוגמה,nvme0n1בשורת הפקודה, מזינים:
(parted) resizepartבפרומפט
Partition number?, מזינים:1
בשורת הפקודה של
Warning: Partition /dev/DEVICE_NAMEp1 is being used. Are you sure you want to continue?, מזינים:Yes
בשורת הפקודה
End?, מזינים את הפקודה הבאה:100%
בשורת הפקודה
(parted), מזינים:(parted) quit
מציגים את טבלת המחיצות החדשה באמצעות
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הרחבת מערכת הקבצים:
אם משתמשים ב-
ext4, צריך להשתמש בפקודהresize2fs:sudo resize2fs /dev/PARTITION_NAME
מחליפים את
PARTITION_NAMEבשם המחיצה של דיסק האתחול, לדוגמה,nvme0n1p1.אם אתם משתמשים ב-
xfs, אתם צריכים להשתמש בפקודהxfs_growfs:sudo xfs_growfs -d /
אם אתם משתמשים ב-btrfs, צריך להשתמש בפקודה
btrfs:sudo btrfs filesystem resize max /
בדיסק נתונים שלא משמש לאתחול, משנים את הגודל של מערכת הקבצים בדיסק.
אם אתם משתמשים ב-
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.
משתמשים בפקודה
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.
נכנסים לדף VM instances במסוף Google Cloud .
מוצאים את המכונה עם הדיסק ששיניתם את הגודל שלו. לוחצים על הלחצן RDP של המכונה. הדפדפן פותח חיבור RDP למכונה.
לוחצים לחיצה ימנית על לחצן התחל של Windows ובוחרים באפשרות ניהול דיסקים כדי לפתוח את הכלי ניהול דיסקים.
כדי להציג את סוג המחיצה של הדיסקים, מריצים את הפקודה הבאה ב-PowerShell:
Get-Disk
בעמודה Partition Style (סגנון המחיצה), אם הערך הוא MBR, סוג המחיצה בדיסק הוא MBR. כלומר, הגודל המקסימלי של דיסק כזה יהיה 2 TB.
מרעננים את הכלי Disk Management כדי שיזהה את הנפח הנוסף בדיסק. בחלק העליון של החלון Disk Management, לוחצים על Action ובוחרים באפשרות Refresh.
בדיסק ששיניתם את הגודל שלו, לוחצים לחיצה ימנית על המחיצה המפורמטת ובוחרים באפשרות הרחבת עוצמת הקול.
פועלים לפי ההוראות באשף הרחבת נפח האחסון כדי להרחיב את המחיצה הקיימת כך שתכלול את מקום הכונן הנוסף. אם המחיצה הקיימת מפורמטת ב-NTFS, אז הגודל המקסימלי של המחיצה מוגבל על ידי הגדרות גודל האשכול שלה.
אחרי שמסיימים את Extend Volume Wizard והנפח מסיים את הפורמט, בודקים את העמודה Status ברשימת הדיסקים המצורפים כדי לוודא שהסטטוס של הדיסק החדש הוא Healthy.
לא צריך להפעיל מחדש את המכונה אחרי שמסיימים את התהליך. עכשיו אפשר להשתמש במקום בכונן שנוסף.
המאמרים הבאים
- Hyperdisk
- איך מנתחים את רמת ה-IOPS הנוכחית של נפח אחסון מסוג Hyperdisk