אם המכונה הווירטואלית (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
-
התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
- הגדרת אזור ותחום כברירת מחדל
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
אם אתם משתמשים במעטפת מקומית, אתם צריכים ליצור פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אין צורך לבצע את הפעולה הזו.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
Terraform
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Terraform שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
תפקידים והרשאות נדרשים
כדי לקבל את ההרשאה שדרושה לשינוי הגודל של דיסק מתמשך, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
- Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1) -
כדי להתחבר למכונה וירטואלית שיכולה לפעול כחשבון שירות: משתמש בחשבון שירות (גרסה 1) (
roles/iam.serviceAccountUser)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקיד שמוגדר מראש מכיל את ההרשאה compute.disks.update, שנדרשת כדי לשנות את הגודל של דיסק קשיח קבוע.
יכול להיות שתוכלו לקבל את ההרשאה הזו גם בתפקידים בהתאמה אישית או בתפקידים אחרים שמוגדרים מראש.
הקטנת הגודל של דיסק
אי אפשר להקטין את הגודל של דיסק מתמשך. צריך להחליף את הכונן בכונן חדש וקטן יותר. כדי לעשות זאת, יוצרים דיסק ריק עם גודל קטן יותר, ואז מעתיקים את התוכן מהדיסק המקורי לדיסק החדש. אחר כך תוכלו להשתמש בדיסק החדש במקום בדיסק המקורי.
כדי להחליף דיסק בדיסק קטן יותר, פועלים לפי השלבים הבאים:
- יוצרים דיסק ריק של אחסון מתמיד ומציינים את הגודל הרצוי. מוודאים שהדיסק החדש גדול מספיק כדי להכיל את הנתונים מהדיסק המקורי.
- מחברים את שני הדיסקים לאותה מכונה. הוראות מפורטות מופיעות במאמר צירוף דיסק שאינו דיסק אתחול למכונה וירטואלית.
- מפרמטים את הדיסק החדש ומעלים אותו. הוראות למקרים של Linux ושל Windows.
- מעתיקים את הנתונים מהדיסק המקורי לדיסק החדש באמצעות כלי עזר שזמינים למערכת ההפעלה. לדוגמה, ב-Linux,
אפשר להשתמש ב-
rsyncאו ב-dd. במקרים של מופעי Windows, אפשר להשתמש ב-robocopy. - מוודאים שבדיסק החדש יש את כל הנתונים והוא פועל כצפוי.
- כדי להשתמש בדיסק החדש, צריך לעדכן את האפליקציה או את מערכת ההפעלה.
- אחרי שמוודאים שההעברה הצליחה, אפשר לנתק ולמחוק את הדיסק המקורי הגדול יותר.
מגבלות גודל של נפחי אחסון בדיסקים לאחסון מתמיד
הגודל שאתם מציינים לדיסק לאחסון מתמיד צריך להיות בטווחים שמפורטים בטבלה הבאה.
| סוג הדיסק | גודל מינימלי | גודל מקסימלי | ברירת מחדל של גודל |
|---|---|---|---|
| דיסק אחסון מתמיד מאוזן | אזורי: 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 |
הגדלת הגודל של דיסק
כדי להגדיל את הגודל של דיסק הפעלה או דיסק שאינו דיסק הפעלה, פועלים לפי ההוראות הבאות:
המסוף
נכנסים לדף Disks במסוף Google Cloud .
ברשימת הדיסקים בפרויקט, לוחצים על שם הדיסק שרוצים לשנות את הגודל שלו.
בדף הפרטים של הדיסק, לוחצים על עריכה. יכול להיות שתצטרכו ללחוץ על התפריט More actions ואז על Edit.
בשדה גודל, מזינים את הגודל החדש של הדיסק. אפשר לשנות את הגודל של דיסקים עם טבלאות מחיצות MBR רק עד 2 TB.
לוחצים על שמירה כדי להחיל את השינויים על הדיסק.
גודל הדיסק החדש מוצג ברשימת הדיסקים.
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.
אם כוללים את הפרמטר size יחד עם הפרמטר image או snapshot, הערך של size צריך להיות שווה לגודל התמונה או הצילום או גדול ממנו.
אם לא מציינים את הפרמטרים image ו-snapshot, אפשר להגדיר את הפרמטר size לערך שקטן מגודל הדיסק הקיים. אם תעשו את זה, Terraform ישמיד את הדיסק ויצור דיסק חדש של אחסון מתמיד (persistent disk) ריק.
דיסק אחסון מתמיד אזורי
כדי לשנות את הגודל של דיסק לאחסון מתמיד אזורי, אפשר להשתמש במשאב google_compute_region_disk ובפרמטר size.
אם כוללים את הפרמטר 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
נכנסים לדף VM instances במסוף Google Cloud .
לצד המכונה שאליה צורף הדיסק החדש, לוחצים על הלחצן SSH. הדפדפן פותח חיבור טרמינל למופע.
משתמשים בפקודות
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.- דיסק אתחול: מחיצת
בודקים את סוג המחיצה:
לחלופין, כדי לראות מידע רק על דיסק ספציפי: sudo parted -l
מחפשים את השדה Partition Table (טבלת מחיצות). אם הערך הואsudo parted -l /dev/DEVICE_NAME
msdos, אז סוג המחיצה של הדיסק הוא MBR. כלומר, הגודל המקסימלי של דיסק כזה הוא 2 TB.משנים את הגודל של מחיצת הבסיס ומערכת הקבצים בדיסק האתחול. בדוגמה הזו, אנחנו מניחים שקובץ האימג' של המכונה הווירטואלית לא תומך בחלוקת מחיצות אוטומטית של שורש ובשינוי גודל של מערכת הקבצים.
משנים את הגודל של מחיצת הבסיס באמצעות
parted. לדוגמה, הפקודות הבאות מרחיבות את המחיצה1של/dev/sdaלגודל המקסימלי האפשרי:פותחים את
partedבמחיצה/dev/sda:sudo parted /dev/sda
בהנחיה
(parted), מזינים:resizepart
בהנחיה
Partition number?, מזינים:1
בהנחיה
Warning: Partition /dev/sda1 is being used. Are you sure you want to continue?, מזינים:Yes
בהנחיה
End?, מזינים100%
בהנחיה
(parted), מזינים:quit
קוראים את טבלת המחיצות החדשה באמצעות
partprobe.sudo partprobe /dev/sda
הרחבת מערכת הקבצים:
אם אתם משתמשים ב-
ext4, משתמשים בפקודהresize2fs:sudo resize2fs /dev/sda1
אם אתם משתמשים ב-
xfs, משתמשים בפקודהxfs_growfs:sudo xfs_growfs -d /
אם משתמשים ב-btrfs, משתמשים בפקודה
btrfs:sudo btrfs filesystem resize max /
משנים את הגודל של מערכת הקבצים בדיסק הנתונים שאינו דיסק האתחול.
אם אתם משתמשים ב-
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.
משתמשים בפקודה
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.
נכנסים לדף VM instances במסוף Google Cloud .
לצד המופע שבו הדיסק שונה, לוחצים על הלחצן RDP. בדפדפן נפתח חיבור RDP למופע.
לוחצים לחיצה ימנית על לחצן התחל של Windows ובוחרים באפשרות ניהול דיסקים כדי לפתוח את הכלי לניהול דיסקים.
כדי להציג את סוג המחיצה של הדיסקים, מריצים את הפקודה הבאה ב-PowerShell:
בעמודה Partition Style, אם הערך הוא MBR, אז סוג המחיצה בדיסק הוא MBR. כלומר, הגודל המקסימלי של דיסק כזה יהיה 2 TB.Get-Disk
מרעננים את הכלי לניהול הדיסק כדי שיזהה את הנפח הנוסף בדיסק לאחסון מתמיד של תחום. בחלק העליון של החלון 'ניהול דיסקים', לוחצים על פעולה ובוחרים באפשרות רענון.
בדיסק ששיניתם את הגודל שלו, לוחצים לחיצה ימנית על המחיצה המפורמטת ובוחרים באפשרות הרחבת עוצמת הקול.
פועלים לפי ההוראות באשף הרחבת נפח האחסון כדי להרחיב את המחיצה הקיימת כך שתכלול את נפח האחסון הנוסף. אם המחיצה הקיימת מעוצבת ב-NTFS, גודל המחיצה המקסימלי מוגבל על ידי הגדרות גודל האשכול שלה.
אחרי שמסיימים את השימוש באשף ופורמט הכונן מסתיים, בודקים את העמודה
Statusברשימת הדיסקים המצורפים כדי לוודא שהסטטוס של הדיסק החדש הואStatus.Healthy
לא צריך להפעיל מחדש את המכונה הווירטואלית אחרי שמסיימים את התהליך הזה. עכשיו אפשר להשתמש במקום הנוסף בדיסק כדי לאחסן נתונים.