שיתוף דיסקים בין מופעים

אפשר לגשת לאותו דיסק מכמה מכונות וירטואליות (VM) על ידי חיבור הדיסק לכל מכונה. אפשר לצרף דיסק למכונה במצב קריאה-בלבד או במצב ריבוי כותבים.

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

במצב ריבוי כותבים, כמה מופעים יכולים לקרוא ולכתוב לאותו דיסק. האפשרות הזו שימושית למערכות קבצים משותפות ולמסדי נתונים עם זמינות גבוהה (HA), כמו SQL Server Failover Cluster Infrastructure ‏ (FCI).

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

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

במאמר הזה נסביר על שיתוף דיסקים עם הרשאת כתיבה מרובה ועם הרשאת קריאה בלבד ב-Compute Engine, כולל סוגי הדיסקים הנתמכים ושיקולי הביצועים.

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

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

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

    המסוף

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

    gcloud

    1. התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:

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

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

      התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.

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

הפעלת שיתוף הדיסק

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

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

אלה מצבי הגישה הזמינים:

  • מצב כתיבה יחידה (READ_WRITE_SINGLE): זהו מצב הגישה שמוגדר כברירת מחדל. מאפשר לחבר את הדיסק למכונה אחת לכל היותר בכל זמן נתון. למופע יש גישת קריאה וכתיבה לדיסק.
  • מצב קריאה בלבד (READ_ONLY_MANY): מאפשר לצרף קבצים בו-זמנית לכמה מופעים במצב קריאה בלבד. במצב הזה, מופעים לא יכולים לכתוב לדיסק. נדרש לשיתוף עם הרשאת קריאה בלבד.
  • מצב ריבוי כותבים (READ_WRITE_MANY): מאפשר לצרף קבצים בו-זמנית לכמה מופעים במצב קריאה וכתיבה. נדרש לשיתוף עם כמה משתמשים עם הרשאת עריכה.

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

סוג Hyperdisk מצבי גישה נתמכים
‫Hyperdisk Balanced
Hyperdisk Balanced High Availability
  • מצב כתיבה יחיד
  • מצב ריבוי כותבים
Hyperdisk Extreme
  • מצב כתיבה יחיד
  • מצב ריבוי כותבים
Hyperdisk ML
  • מצב כתיבה יחיד
  • מצב קריאה בלבד
Hyperdisk Throughput
  • מצב כתיבה יחיד

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

מצב קריאה-בלבד ל-Hyperdisk ולדיסק של אחסון מתמיד

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

סוגי דיסקים שנתמכים במצב קריאה-בלבד

אפשר לצרף את סוגי הדיסקים האלה לכמה מופעים במצב קריאה-בלבד:

  • Hyperdisk ML
  • דיסק אחסון מתמיד מאוזן אזורי ושל תחום מוגדר
  • דיסק מתמיד שמבוסס על SSD
  • Standard Persistent Disk

ביצועים במצב קריאה-בלבד

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

מגבלות על שיתוף דיסקים במצב קריאה-בלבד

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

    • בנפחי אחסון של Hyperdisk ML, המספר המקסימלי של המכונות תלוי בגודל שהוקצה, באופן הבא:

      • נפחים עם קיבולת של עד ‎512 GiB: 2,500 instances
      • נפחים עם קיבולת של 513 GiB עד 1.5 TiB: 1,000 מכונות
      • נפחים עם קיבולת בין 1.501 TiB ל-2 TiB: 600 instances
      • נפחים עם קיבולת בין ‎2.001 TiB ל-‎4 TiB: 300 מכונות
      • נפחים בקיבולת של 4.001 TiB ו-16 TiB: ‫128 מכונות
      • נפחי אחסון בקיבולת של ‎16.001 TiB או יותר: ‫30 מופעים

    • נפחי אחסון מתמיד (persistent disk) מאוזן אזורי או אזוריים במצב קריאה-בלבד תומכים ב-10 מכונות לכל היותר.
    • לגבי דיסק מתמיד שמבוסס על SSD, Google ממליצה על לכל היותר 100 מכונות.
    • בנפחי אחסון של דיסקים מתמידים סטנדרטיים, המקסימום המומלץ הוא 10 מכונות.

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

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

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

מצב ריבוי כותבים ל-Hyperdisk

דיסקים במצב ריבוי כותבים מתאימים לתרחישי שימוש כמו:

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

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

סדרות מכונות ו-Hyperdisk שנתמכות במצב ריבוי כותבים

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

סוג Hyperdisk סוגי מכונות נתמכים מספר המופעים המקסימלי
Hyperdisk Balanced 8
Hyperdisk Balanced High Availability 8
Hyperdisk Extreme 16

מערכות קבצים נתמכות במצב ריבוי כותבים

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

  • הזמנות קבועות (PR), במיוחד למערכות HA כמו SQL Server FCI ו-NetApp ONTAP. ‫Google ממליצה להשתמש בפקודות PR כדי לספק גידור של קלט/פלט ולשמור על תקינות הנתונים. רשימת פקודות ה-PR הנתמכות מופיעה במאמר בנושא גידור קלט/פלט באמצעות הזמנות מתמשכות.
  • מערכות קבצים באשכולות שתומכות בכמה מופעים שכותבים לאותו נפח אחסון. דוגמאות למערכות קבצים כאלה: OCFS2, ‏ VMFS ו-GFS2.
  • מערכות תוכנה להרחבה אופקית כמו Lustre ו-IBM Spectrum Scale.
  • מנגנון סנכרון משלכם לתיאום של קריאות וכתיבות בו-זמניות.

ביצועי Hyperdisk במצב ריבוי כותבים

המידע בקטע הזה רלוונטי לסוגי הדיסקים הבאים:

  • כל דיסקי Hyperdisk Extreme במצב ריבוי כתיבה
  • דיסקים של Hyperdisk Balanced ו-Hyperdisk Balanced High Availability במצב ריבוי כתיבה שנוצרו אחרי 26 בפברואר 2026.

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

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

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

ביצועים של נפחי Hyperdisk Balanced ו-Hyperdisk Balanced High Availability במצב multi-writer לפני 26 בפברואר 2026

אם נפחי Hyperdisk Balanced ו-Hyperdisk Balanced High Availability שלכם היו במצב multi-writer לפני 26 בפברואר 2026,‏ Google ממליצה להפעיל ביצועים מבוססי-שימוש על ידי ביצוע אחת מהמשימות הבאות:

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

לדוגמה, נניח שמצרפים נפח Hyperdisk Balanced עם הקצאה של 100,000 IOPS ל-2 מכונות וירטואליות. כל מופע יכול לצרוך עד 50,000 פעולות קלט/פלט בשנייה (IOPS), ללא קשר לרמת הפעילות של המופע השני. באופן דומה, אם תצרפו את אמצעי האחסון ל-8 מופעים, כל מופע יוכל לצרוך לכל היותר 12,500 פעולות קלט/פלט בשנייה.

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

  • אי אפשר לצרף אמצעי אחסון במצב קריאה וכתיבה למכונות Bare Metal.
  • בנפחי Hyperdisk אזוריים, כל המופעים שמחוברים לנפח צריכים להיות באותו אזור. בנפחי אחסון אזוריים של Hyperdisk, המופעים צריכים להיות באותו אזור כמו אחת מהרפליקות של נפח האחסון.
  • אפשר לצרף נפח אחד של Hyperdisk Balanced או Hyperdisk Balanced High Availability במצב ריבוי כתיבה ל-8 מופעים לכל היותר. אפשר לצרף נפח אחד של Hyperdisk Extreme במצב ריבוי כתיבה ל-16 מופעים לכל היותר.
  • אי אפשר ליצור קובצי אימג' של מכונות או קובצי אימג' של דיסקים מנפחי Hyperdisk במצב של גישה לכתיבה מרובה.
  • אי אפשר ליצור נפח Hyperdisk במצב ריבוי כתיבה כשיוצרים או עורכים מופע. קודם צריך ליצור את נפח ה-Hyperdisk בנפרד, ואז לצרף אותו למופע.
  • אי אפשר לשנות את הגודל של נפח Hyperdisk במצב ריבוי כתיבה, אלא אם מנתקים את הנפח מכל המופעים.
  • אתם יכולים לבצע את השינויים הבאים בווליום של Hyperdisk שנמצא במצב multi-writer, גם אם הווליום מצורף לכמה אינסטנסים:

    • לשנות את ה-IOPS או את קצב העברת הנתונים שהוקצו לו
    • צירוף הדיסק למכונות נוספות

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

  • אי אפשר ליצור תמונה מנפח Hyperdisk במצב ריבוי כתיבה.

  • אי אפשר להפעיל מחיקה אוטומטית של נפחי Hyperdisk במצב ריבוי כתיבה.

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

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

  • חובה להשתמש באותו סוג ממשק כמו בדיסק האתחול של המופע.

  • אי אפשר לשנות את סוג המכונה של מופע שמצורף לדיסק במצב ריבוי כתיבה.

  • מאגרי אחסון תומכים רק באמצעי אחסון מסוג Hyperdisk Balanced במצב multi-writer. מאגרי אחסון לא תומכים בנפחי Hyperdisk Balanced High Availability ו-Hyperdisk Extreme.

  • אפשר להשתמש באשכולות למעבר אוטומטי לגיבוי (Failover) של Windows Server עם נפחי Hyperdisk במצב ריבוי כתיבה בסוגי מכונות שמשתמשים בממשקי אחסון SCSI או NVMe. עם זאת, כשמשתמשים בסוגי מכונות עם ממשק אחסון NVMe, חלות ההגבלות הבאות:

    • חובה להשתמש ב-Windows Server מגרסה 2022 ואילך.
    • צריך ליצור כל דיסק מקובץ ישירות בווליום של Hyperdisk שנמצא במצב multi-writer. אין תמיכה בפסיגה או באיגום של נפחי Hyperdisk שנמצאים במצב ריבוי כתיבה.

גידור קלט/פלט עם הזמנות מתמשכות

‫Google ממליצה להשתמש בהזמנות מתמשכות (PR) עם דיסקים במצב ריבוי כתיבה כדי לספק גידור קלט/פלט. הזמנות מתמשכות מנהלות את הגישה לדיסק בין מופעים. כך נמנע מצב של נתונים פגומים כתוצאה ממקרים שבהם מתבצעת כתיבה בו-זמנית לאותו חלק בדיסק.

כרכים של Hyperdisk במצב מרובה כתיבה תומכים בהזמנות של NVMe (spec 1.2.1).

מצבי הזמנה נתמכים

המערכת תומכת במצבי ההזמנה הבאים:

  1. הרשאת כתיבה בלעדית: יהיה בעל הזמנה יחיד וכותב יחיד. לכל שאר הנרשמים ולמי שלא נרשם תהיה רק הרשאת קריאה.
  2. גישה בלעדית: יהיה בעל הזמנה יחיד, שהוא הקורא והכותב. לכל שאר הנרשמים ולמי שלא נרשם לא תהיה הרשאת קריאה או כתיבה.
  3. כתיבה בלעדית – רק נרשמים: יהיה בעל הזמנה יחיד. לכל הנרשמים תהיה גישת קריאה וכתיבה לדיסק. למשתמשים שלא נרשמו תהיה גישה לקריאה בלבד.
  4. גישה בלעדית – רק למי שנרשם: יהיה רק בעל הזמנה אחד. לכל הנרשמים תהיה גישת קריאה וכתיבה לדיסק. למי שלא נרשם לא תהיה גישת קריאה או כתיבה.
  5. הרשאת כתיבה בלעדית – כל הנרשמים: כל הנרשמים יקבלו הרשאת הזמנה וגישת קריאה וכתיבה לדיסק. אנשים שלא נרשמו יוכלו רק לקרוא את התוכן.
  6. גישה בלעדית – כל הנרשמים: כל הנרשמים יקבלו הרשאה להזמנה וגישת קריאה וכתיבה לדיסק. למשתמשים שלא נרשמו לא תהיה גישת קריאה או כתיבה.

יש תמיכה ב-NVMe Get Features - Host Identifier. מספר המופע משמש כמזהה המארח שמוגדר כברירת מחדל.

התכונות הבאות של הזמנת NVMe לא נתמכות:

  • הגדרת תכונות – מזהה מארח
  • התראות על הזמנות:
    • קבלת דף יומן
    • מסכת התראות על הזמנות

פקודות נתמכות

הזמנות של NVMe תומכות בפקודות הבאות:

  • פעולת רישום הזמנה (RREGA) – החלפה/רישום/ביטול רישום – IEKEY
  • פעולת השגת הזמנה (RACQA) – השגה/הקדמה – IEKEY
  • פעולת ביטול הזמנה (RRELA) – ביטול הזמנה/ניקוי – IEKEY
  • דוח הזמנות
  • השדה Reservation capabilities (RESCAP) במבנה הנתונים של מרחב השמות identify.

הזמנות של NVMe לא תומכות בפקודות הבאות:

  • השתלטות וביטול
  • השבתה של האפשרות 'התמדה במקרה של אובדן מתח' (PTPL). התכונה PTPL תמיד מופעלת.

איך משתפים דיסק במצב ריבוי כותבים

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

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

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

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

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

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

מצב כתיבה מרובה לנפחי אחסון מתמיד (Persistent Disk)

אתם יכולים לחבר נפח של דיסק אחסון מתמיד מסוג SSD במצב ריבוי כתיבה לעד שתי מכונות וירטואליות (VM) מסוג N2 בו-זמנית, כך ששתי המכונות הווירטואליות יוכלו לקרוא ולכתוב לדיסק.

אם יש לכם יותר מ-2 מכונות וירטואליות מסוג N2 או שאתם משתמשים בסדרת מכונות אחרת, אתם יכולים להשתמש באחת מהאפשרויות הבאות:

כדי להפעיל מצב של כמה בעלי הרשאת כתיבה לנפחי Persistent Disk חדשים, צריך ליצור נפח Persistent Disk חדש ולציין את הדגל --multi-writer ב-ה-CLI של gcloud או את המאפיין multiWriter ב-Compute Engine API.

אמצעי אחסון של Persistent Disk במצב ריבוי כתיבה מספקים יכולת אחסון בלוקים משותפת, ומהווים בסיס תשתיתי לבניית מערכות אחסון מבוזרות ושירותים דומים עם זמינות גבוהה. כשמשתמשים בכרכים של דיסקים לאחסון מתמיד במצב של מספר בעלי הרשאות כתיבה, צריך להשתמש במערכת תוכנה לאחסון עם יכולת הרחבה שיכולה לתאם את הגישה למכשירים של דיסקים לאחסון מתמיד בכמה מכונות וירטואליות. דוגמאות למערכות אחסון כאלה כוללות את Lustre ו-IBM Spectrum Scale. רוב מערכות הקבצים של מכונה וירטואלית יחידה, כמו EXT4,‏ XFS ו-NTFS, לא מיועדות לשימוש עם אחסון בלוקים משותף.

מידע נוסף זמין בקטע שיטות מומלצות במסמך הזה. אם אתם צריכים אחסון קבצים בניהול מלא, אתם יכולים להטמיע שיתוף קבצים ב-Filestore במכונות של Compute Engine.

כרכים של דיסקים לאחסון מתמיד במצב 'מספר בעלי הרשאות כתיבה' תומכים בחלק מהפקודות של SCSI-3 Persistent Reservations‏ (SCSI PR). יישומים בעלי זמינות גבוהה יכולים להשתמש בפקודות אלה עבור גידור קלט/פלט ותצורות של מעבר לגיבוי בעת כשל.

יש תמיכה בפקודות הבאות של SCSI PR:

  • IN {REPORT CAPABILITIES, READ FULL STATUS, READ RESERVATION, READ KEYS}
  • OUT {REGISTER, REGISTER AND IGNORE EXISTING KEY, RESERVE, PREEMPT, CLEAR, RELEASE}

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

סוגי Persistent Disk שנתמכים במצב multi-writer

אפשר לצרף בו-זמנית דיסק מתמיד שמבוסס על SSD במצב ריבוי כותבים לעד 2 מכונות וירטואליות מסוג N2.

שיטות מומלצות לשימוש במצב ריבוי כותבים

  • גידור קלט/פלט באמצעות פקודות SCSI PR מוביל למצב של נתוני Persistent Disk שמתאימים לקריסה. במערכות קבצים מסוימות אין עקביות במקרה של קריסה, ולכן הן עלולות להיפגם אם משתמשים בפקודות SCSI PR.
  • מערכות קבצים רבות, כמו EXT4,‏ XFS ו-NTFS, לא מיועדות לשימוש באחסון בלוקים משותף, ואין להן מנגנונים לסנכרון או לביצוע פעולות שמקורן בכמה מופעים של מכונות וירטואליות.
  • לפני שמשתמשים בנפחי Persistent Disk במצב מרובה כותבים, חשוב לוודא שמבינים את מערכת הקבצים ואיך אפשר להשתמש בה בצורה בטוחה עם אחסון בלוקים משותף וגישה בו-זמנית מכמה מופעים.

ביצועים של אחסון מתמיד (persistent disk) במצב 'מספר בעלי הרשאות כתיבה'

לנפחי Persistent Disk שנוצרו במצב ריבוי כותבים יש מגבלות ספציפיות על IOPS ועל קצב העברת הנתונים.

מצב ריבוי בעלי הרשאות כתיבה בדיסק מתמיד שמבוסס על SSD אזורי
‫IOPS מקסימליים מתמשכים
קריאת IOPS לכל GB 30
קצב קריאה/כתיבה של IOPS לכל GB 30
קריאת IOPS לכל מכונה ‫15,000 עד 100,000*
פעולות קלט/פלט של כתיבה לשנייה לכל מופע ‫15,000 עד 100,000*
התפוקה המתמשכת המקסימלית (MB לשנייה)
תפוקת קריאה לכל GB 0.48
קצב העברת נתונים לכתיבה לכל GB 0.48
קריאת תפוקה לכל מכונה ‫240–1,200*
קצב העברת נתונים לכתיבה לכל מופע ‫240–1,200*
* ביצועי ה-IOPS והתפוקה של דיסקים לאחסון מתמיד תלויים בגודל הדיסק, במספר המעבדים הווירטואליים (vCPU) של המכונה ובגודל בלוק ה-I/O, בין גורמים אחרים.
צירוף דיסק עם הרשאת כתיבה למספר מכונות וירטואליות לא משפיע על הביצועים הכוללים או על העלות. כל מכונה מקבלת חלק ממגבלת הביצועים לכל דיסק.

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

הגבלות על שיתוף דיסק במצב של כמה כותבים

  • מצב ריבוי כותבים נתמך רק בכרכים של Persistent Disk מסוג SSD.
  • אפשר ליצור נפח של דיסק אחסון מתמיד במצב מרובה כותבים בכל אזור, אבל אפשר לצרף את הדיסק הזה רק למכונות וירטואליות במיקומים הבאים:
    • australia-southeast1
    • europe-west1
    • us-central1 (באזורים us-central1-a ו-us-central1-c בלבד)
    • us-east1 (אזור us-east1-d בלבד)
    • us-west1 (באזורים us-west1-b ו-us-west1-c בלבד)
  • המכונות הווירטואליות המצורפות צריכות להיות מסוג מכונה N2.
  • גודל הדיסק המינימלי הוא 10GiB.
  • בדיסקים במצב ריבוי כתיבה אי אפשר לצרף יותר מ-2 מכונות וירטואליות בכל פעם. כרכים של דיסקים לאחסון מתמיד (persistent disks) במצב 'מספר בעלי הרשאות כתיבה' לא תומכים במדדים של דיסקים לאחסון מתמיד.
  • אי אפשר לשנות דיסקים במצב ריבוי כתיבה למצב קריאה בלבד.
  • אי אפשר ליצור תמונות מנפחי דיסק מתמשך במצב ריבוי כותבים.
  • מגבלות IOPS נמוכות יותר. פרטים נוספים מופיעים במאמר בנושא ביצועי הדיסק.
  • אי אפשר לשנות את הגודל של נפח אחסון של דיסק לאחסון מתמיד עם מספר בעלי הרשאות כתיבה.
  • כשיוצרים מכונה באמצעות Google Cloud CLI, אי אפשר ליצור אמצעי אחסון של דיסק מתמשך עם גישת קריאה וכתיבה מרובות באמצעות הדגל --create-disk.

שיתוף נפח אחסון של SSD Persistent Disk במצב multi-writer בין מכונות וירטואליות

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

gcloud

כדי ליצור ולצרף נפח של דיסק אחסון מתמיד אזורי באמצעות CLI של gcloud:

  1. משתמשים בפקודה gcloud beta compute disks create כדי ליצור אמצעי אחסון של דיסק קשיח קבוע אזורי. כוללים את הדגל --multi-writer כדי לציין שאפשר לשתף את הדיסק בין מכונות וירטואליות במצב ריבוי כתיבה.

    gcloud beta compute disks create DISK_NAME \
       --size DISK_SIZE \
       --type pd-ssd \
       --multi-writer
    

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

    • DISK_NAME: השם של הדיסק החדש
    • DISK_SIZE: הגודל של הדיסק החדש ב-GB. טווח הגדלים האפשריים הוא מ-1GB עד 65,536GB עבור נפחי אחסון של דיסק מתמיד שמבוסס על SSD, או מ-200GB עד 65,536GB עבור נפחי אחסון של דיסק מתמיד סטנדרטי במצב multi-writer.
  2. אחרי שיוצרים את הדיסק, מצרפים אותו לכל מכונה וירטואלית שמופעלת או מושבתת עם סוג מכונה N2. משתמשים בפקודה gcloud compute instances attach-disk:

    gcloud compute instances attach-disk INSTANCE_NAME \
       --disk DISK_NAME
    

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

    • INSTANCE_NAME: השם של מכונת ה-VM מסוג N2 שאליה מוסיפים את נפח האחסון החדש של דיסק אחסון מתמיד (persistent disk) באזור
    • DISK_NAME: השם של הדיסק החדש שמצרפים ל-VM
  3. חוזרים על הפקודה gcloud compute instances attach-disk, אבל מחליפים את INSTANCE_NAME בשם של המכונה הווירטואלית השנייה.

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

REST

משתמשים ב-Compute Engine API כדי ליצור ולצרף נפח של SSD Persistent Disk למכונות וירטואליות מסוג N2 במצב של גישה לכתיבה מרובה.

  1. ב-API, יוצרים בקשת POST ליצירת נפח של דיסק מתמשך אזורי באמצעות השיטה disks.insert. כוללים את המאפיינים name, sizeGb ו-type. כדי ליצור את הדיסק החדש הזה כדיסק ריק ולא מאותחל שאי אפשר לאתחל ממנו, לא מציינים תמונת מקור או קובץ snapshot של מקור לדיסק הזה. צריך לכלול את המאפיין multiWriter עם הערך True כדי לציין שאפשר לשתף את הדיסק בין מכונות וירטואליות במצב של גישה לכתיבה מרובה.

    POST https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/zones/ZONE/disks
    
    {
    "name": "DISK_NAME",
    "sizeGb": "DISK_SIZE",
    "type": "zones/ZONE/diskTypes/pd-ssd",
    "multiWriter": "True"
    }
    

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

    • PROJECT_ID: מזהה הפרויקט
    • ZONE: האזור שבו נמצאים מכונת ה-VM והדיסק החדש
    • DISK_NAME: השם של הדיסק החדש
    • DISK_SIZE: הגודל ב-GB של הדיסק החדש הגודל יכול להיות בין 1GB ל-65,536GB עבור כונני דיסק מתמיד שמבוסס על SSD או בין 200GB ל-65,536GB עבור כונני דיסק מתמיד סטנדרטי במצב multi-writer.
  2. כדי לצרף את הדיסק למכונה, צריך ליצור בקשת POST אל ה-method‏ compute.instances.attachDisk. כוללים את כתובת ה-URL של אמצעי האחסון של הדיסק הקשיח האזורי שיצרתם:

    POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk
    
    {
    "source": "/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME"
    }
    

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

    • PROJECT_ID: מזהה הפרויקט
    • ZONE: האזור שבו נמצאים מכונת ה-VM והדיסק החדש
    • INSTANCE_NAME: השם של מכונת ה-VM שמוסיפים לה את נפח האחסון החדש של Persistent Disk.
    • DISK_NAME: השם של הדיסק החדש
  3. כדי לצרף את הדיסק למכונה וירטואלית שנייה, חוזרים על הפקודה instances.attachDisk מהשלב הקודם. מגדירים את INSTANCE_NAME לשם של המכונה הווירטואלית השנייה.

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

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