יצירת דיסקים של זיכרון RAM בזיכרון

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

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

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

  • מידע נוסף על ההבדל בין דיסקים של RAM לבין אפשרויות אחסון אחרות ב-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 באמצעות המאגר המאוחד לניהול זהויות.

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

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

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

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

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

יצירת דיסק RAM

אפשר ליצור דיסק RAM עם מערכת הקבצים tmpfs, שכלולה כברירת מחדל ברוב הפצות Linux.

  1. אם אין מספיק זיכרון זמין במופע, אפשר לשנות את סוג המכונה של המופע לסוג מכונה עם יותר זיכרון.

  2. מתחברים למכונה באמצעות SSH. בדוגמה הזו, נכנסים אל הדף VM instances ולוחצים על הלחצן SSH ליד המכונה שרוצים להוסיף לה דיסק RAM.

  3. יוצרים נקודת טעינה לדיסק ה-RAM.

    $ sudo mkdir /mnt/ram-disk
    
  4. יוצרים ומפעילים דיסק RAM חדש tmpfs. צריך להגדיר ערך למאפיין size שיעמוד בדרישות האחסון שלכם בלי להתחרות עם האפליקציות שלכם על הזיכרון או לנצל את כל הזיכרון הזמין. בדוגמה הזו, סוג המכונה של המופע הוא n1-highmem-32 עם זיכרון של 208GB, ולכן גודל דיסק ה-RAM של 50g מתאים.

    $ sudo mount -t tmpfs -o size=50g tmpfs /mnt/ram-disk
    
  5. מוסיפים את דיסק ה-RAM לקובץ /etc/fstab כדי שהמכשיר יתחבר מחדש באופן אוטומטי אם מפעילים מחדש את המכונה:

    $ echo 'tmpfs /mnt/ram-disk tmpfs nodev,nosuid,noexec,nodiratime,size=50G 0 0' | sudo tee -a /etc/fstab
    

מחיקת דיסק RAM

אפשר לבטל את הטעינה של tmpfs דיסק RAM בדיוק כמו כל אמצעי אחסון אחר. הפעולה הזו תמחק את דיסק ה-RAM ואת כל הנתונים שמאוחסנים בו. בדוגמה הזו, מסירים דיסק RAM שנטען ב-/mnt/ram-disk:

$ sudo umount /mnt/ram-disk

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

אתם יכולים לגבות דיסק RAM לפני שהמופע מופעל מחדש, כדי לשמור את הנתונים בדיסק RAM עד שהמופע יופעל שוב. מגבים את הנתונים לנפח Hyperdisk ב-Google Cloud, או לנפח Persistent Disk אם סוג המכונה של המכונה הווירטואלית לא תומך ב-Hyperdisk.

  1. יוצרים ומפעילים נפח Hyperdisk לשימוש כדיסק גיבוי לדיסק ה-RAM. מוודאים שהדיסק גדול מספיק כדי להכיל את המידע בדיסק ה-RAM.

  2. יוצרים סקריפט כיבוי למופע עם פקודה rsync שכותבת את התוכן של דיסק ה-RAM לנפח הגיבוי. בדוגמה הזו, משתמשים ב-CLI של gcloud כדי להוסיף את המטא-נתונים למופע עם דיסק ה-RAM שמוטמע ב-shutdown-script והנפח של Hyperdisk שמוטמע ב-/mnt/ram-disk-backup./mnt/ram-disk

    gcloud compute instances add-metadata example-instance --metadata shutdown-script="#! /bin/bash
    rsync -a --delete --recursive --force /mnt/ram-disk/ /mnt/ram-disk-backup/
    EOF"
    
  3. אפשר גם ליצור סקריפט לטעינה בזמן ההפעלה שישחזר את הקבצים בחזרה לדיסק ה-RAM כשהמכונה תופעל מחדש. משתמשים ב-CLI של gcloud כדי להוסיף את המטא-נתונים startup-script למופע.

    gcloud compute instances add-metadata example-instance --metadata startup-script="#! /bin/bash
    rsync -a --recursive --force /mnt/ram-disk-backup/ /mnt/ram-disk/
    EOF"