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

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

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

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

יצירת דיסק 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

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

$ sudo umount /mnt/ram-disk

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

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

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

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

    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"