אפשר לגשת לאותו דיסק מכמה מכונות וירטואליות (VM) על ידי חיבור הדיסק לכל מכונה. אפשר לצרף דיסק למכונה במצב קריאה-בלבד או במצב ריבוי כותבים.
במצב קריאה-בלבד, כמה מופעים יכולים רק לקרוא נתונים מהדיסק. אף אחד מהמכונות לא יכולה לכתוב בדיסק. שיתוף דיסק במצב קריאה בלבד בין מכונות זול יותר מאשר שמירת עותקים של אותם נתונים בכמה דיסקים.
במצב כתיבה מרובה, כמה מכונות יכולות לקרוא ולכתוב באותו דיסק. האפשרות הזו שימושית למערכות קבצים ולמסדי נתונים משותפים עם זמינות גבוהה (HA), כמו SQL Server Failover Cluster Infrastructure (FCI).
אפשר לשתף דיסק אזורי רק בין מופעים באותו אזור. אפשר לשתף דיסקים אזוריים רק עם מופעים באותם אזורים כמו העותקים של הדיסק.
אין עלויות נוספות שקשורות לשיתוף דיסק בין מכונות. לא חייבים להשתמש באותו סוג מכונה של Compute Engine כדי לשתף דיסק, אבל כל מכונה צריכה להשתמש בסוג מכונה שתומך בשיתוף דיסקים.
במאמר הזה נסביר על שיתוף דיסקים עם הרשאת קריאה בלבד ועם הרשאת כתיבה מרובה ב-Compute Engine, כולל סוגי הדיסקים הנתמכים ושיקולי הביצועים.
לפני שמתחילים
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים Google Cloud ולממשקי ה-API, לא צריך להגדיר אימות.
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 או Persistent Disk קיים לכמה מופעים. עם זאת, בנפחי Hyperdisk צריך קודם להגדיר את מצב הגישה של הדיסק למצב multi-writer או למצב קריאה בלבד.
מצב הגישה של נפח 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
- דיסק מתמיד סטנדרטי
ביצועים במצב קריאה בלבד
צירוף דיסק במצב קריאה בלבד לכמה מכונות לא משפיע על הביצועים של הדיסק. כל מופע עדיין יכול להגיע לביצועי הדיסק המקסימליים האפשריים לסוג המכונה של המופע.
מגבלות על שיתוף דיסקים במצב קריאה-בלבד
- דיסק אחסון מתמיד או נפח Hyperdisk ML אזוריים צריכים להיות באותו אזור כמו כל המכונות שרוצים לחבר אליהן את הנפח. במקרה של נפח אחסון מתמיד אזורי, כל המכונות צריכות להיות באותו אזור כמו אחת מההעתקים של הדיסק.
- אם משתפים נפח Hyperdisk ML במצב קריאה בלבד, אי אפשר להפעיל מחדש גישת כתיבה לדיסק.
- בכל מרווח של 30 שניות, אפשר לצרף נפח Hyperdisk ML לעד 100 מכונות וירטואליות.
המספר המקסימלי של מופעים שאפשר לצרף אליהם דיסק משתנה בהתאם לסוג הדיסק:
בנפחי Hyperdisk ML, המספר המקסימלי של מכונות תלוי בגודל שהוקצה, באופן הבא:
- נפחים עם קיבולת של עד 512 GiB: 2,500 מכונות
- נפחים עם קיבולת של 513 GiB עד 1.5 TiB: 1,000 מופעים
- נפחים עם קיבולת בין 1.501 TiB ל-2 TiB: 600 מופעים
- נפחים עם קיבולת בין 2.001 TiB ל-4 TiB: 300 מכונות
- נפחים בקיבולת של 4.001 TiB ו-16 TiB: 128 מכונות
- אמצעי אחסון בנפח של 16.001 TiB או יותר: 30 מכונות
- נפחים של דיסק אחסון מתמיד מאוזן אזורי או מרובה-אזורים במצב קריאה בלבד תומכים ב-10 מכונות לכל היותר.
- לדיסק מתמיד שמבוסס על SSD, Google ממליצה על 100 מכונות לכל היותר.
- בנפחי אחסון של דיסקים מתמידים סטנדרטיים, המקסימום המומלץ הוא 10 מכונות.
איך משתפים דיסק במצב קריאה בלבד בין מכונות
אם אתם לא משתמשים ב-Hyperdisk ML, אתם יכולים לצרף את הדיסק לכמה מכונות וירטואליות באמצעות ההוראות שבמאמר צירוף דיסק שאינו דיסק אתחול למכונה וירטואלית.
כדי לצרף נפח Hyperdisk ML במצב קריאה-בלבד לכמה מופעים, צריך קודם להגדיר את מצב הגישה של הדיסק למצב קריאה-בלבד. אחרי שמגדירים את מצב הגישה, מצרפים את אמצעי האחסון של Hyperdisk ML למכונות.
מצב ריבוי כותבים ב-Hyperdisk
דיסקים במצב כתיבה מרובה מתאימים לתרחישי שימוש כמו:
- הטמעה של SQL Server FCI.
- מערכות קבצים באשכולות שבהן כמה מכונות כותבות לאותו דיסק
- מערכות זמינות מאוד במצב פעיל-פעיל או פעיל-סביל. צירוף אותו דיסק לכמה מופעים יכול למנוע שיבושים, כי אם מופע אחד נכשל, למופעים אחרים עדיין יש גישה לדיסק והם יכולים להמשיך להריץ את עומס העבודה.
אם המטרה העיקרית שלכם היא אחסון קבצים משותף בין מכונות וירטואליות, כדאי לשקול את אחת מהאפשרויות הבאות:
- Filestore, פתרון מנוהל של Google לאחסון קבצים
- Cloud Storage
- שרת קבצים ברשת ב-Compute Engine
סדרות מכונות ו-Hyperdisk שנתמכות במצב ריבוי כותבים
בטבלה הבאה מפורטים סוגי ה-Hyperdisk שתומכים במצב ריבוי כתיבה. בטבלה מפורטים גם סדרות המכונות שנתמכות במצב ריבוי כתיבה לכל סוג של Hyperdisk, ומספר המופעים המקסימלי שאפשר לצרף בו-זמנית לנפח אחסון יחיד.
| סוג Hyperdisk | סוגי המכונות הנתמכים | מספר המופעים המקסימלי |
|---|---|---|
| Hyperdisk Balanced | 8 | |
| Hyperdisk Balanced High Availability | 8 | |
| Hyperdisk Extreme | 16 |
1 במכונות C4 שנוצרו לפני 1 במאי 2026 אי אפשר להשתמש במצב ריבוי כותבים.
מערכות קבצים נתמכות במצב ריבוי כותבים
כדי לגשת לדיסק מכמה מכונות, אפשר להשתמש באחת מהאפשרויות הבאות:
- הזמנות קבועות (PR), במיוחד למערכות HA כמו SQL Server FCI ו-NetApp ONTAP. Google ממליצה להשתמש בפקודות PR כדי לספק גידור של קלט/פלט ולשמור על תקינות הנתונים. רשימת הפקודות הנתמכות של PR מופיעה במאמר I/O fencing with persistent reservations.
- מערכות קבצים באשכולות שתומכות בכמה מופעים שכותבים לאותו נפח אחסון. דוגמאות למערכות קבצים כאלה: OCFS2, VMFS ו-GFS2.
- מערכות תוכנה להרחבה אופקית כמו Lustre ו-IBM Spectrum Scale.
- מנגנון סנכרון משלכם לתיאום של קריאות וכתיבות בו-זמניות.
ביצועי Hyperdisk במצב ריבוי כותבים
המידע בקטע הזה רלוונטי לסוגי הדיסקים הבאים:
- כל דיסקי Hyperdisk Extreme במצב ריבוי כותבים
- דיסקים של Hyperdisk Balanced ו-Hyperdisk Balanced High Availability במצב multi-writer שנוצרו אחרי 26 בפברואר 2026.
כשמצרפים דיסק מכל אחד מהסוגים הבאים למספר מכונות, Compute Engine משתמש בביצועים מבוססי-שימוש: מכונה מקבלת חלק מהביצועים שהוקצו לדיסק רק בזמן שהיא משתמשת בו באופן פעיל. מופע יחיד יכול לצרוך את כל הביצועים שהוקצו לדיסק אם כל המופעים המצורפים האחרים לא פעילים.
הביצועים של כתיבה מרובה שמבוססת על שימוש מאפשרים לכם להפחית את העלויות אם כל מופע משתמש בדיסק בזמן אחר. הסיבה לכך היא שאפשר להקצות לדיסק עם גישת קריאה וכתיבה מרובות את הביצועים המקסימליים שנדרשים למופע הכי תובעני, במקום להקצות את הביצועים המשולבים של כל המופעים.
כמות הביצועים שמוקצית לכל מופע תלויה בביצועי הדיסק שנדרשים למופע. הביצועים המקסימליים של כל מופע מוגבלים בסופו של דבר על ידי הביצועים שהוקצו לדיסק ומגבלות הביצועים של המופע.
ביצועים של נפחי Hyperdisk Balanced ו-Hyperdisk Balanced High Availability במצב כתיבה מרובה לפני 26 בפברואר 2026
אם אמצעי האחסון של Hyperdisk Balanced ו-Hyperdisk Balanced High Availability היו במצב multi-writer לפני 26 בפברואר 2026, Google ממליצה להפעיל ביצועים מבוססי-שימוש באמצעות אחת מהמשימות הבאות:
- מנתקים את הדיסק ומחברים אותו מחדש לכל מכונה שהוא מחובר אליה
- עצירה והפעלה מחדש של כל מכונה שהדיסק מחובר אליה
אם לא מפעילים את האפשרות 'צריכה לפי שימוש', הביצועים מתחלקים באופן שווה בין כל המופעים, גם בין מופעים שלא פועלים או שלא משתמשים בדיסק באופן פעיל.
לדוגמה, נניח שאתם מצרפים נפח Hyperdisk Balanced שהוקצה עם 100,000 IOPS ל-2 מכונות. כל מופע יכול לצרוך לכל היותר 50,000 פעולות קלט/פלט בשנייה, ללא קשר לרמת הפעילות של המופע השני. באופן דומה, אם תצרפו את אמצעי האחסון ל-8 מופעים, כל מופע יוכל לצרוך לכל היותר 12,500 פעולות קלט/פלט בשנייה.
מגבלות על שיתוף של נפחי Hyperdisk במצב ריבוי כותבים
- אי אפשר לצרף אמצעי אחסון במצב ריבוי כתיבה למופעי Bare Metal, למעט אמצעי אחסון מסוג Hyperdisk Balanced שמצורפים למופעי C3.
- במכונות C4 שנוצרו לפני 1 במאי 2026 אין תמיכה במצב כתיבה מרובה. כדי לצרף נפח Hyperdisk שנמצא במצב ריבוי כתיבה למופע C4, המופע צריך להיווצר אחרי 1 במאי 2026.
- בנפחי Hyperdisk אזוריים, כל המופעים שמחוברים לנפח צריכים להיות באותו אזור. במקרה של נפחי Hyperdisk אזוריים, המופעים צריכים להיות באותו אזור כמו אחת מהרפליקות של נפח האחסון.
- אפשר לצרף נפח אחד של Hyperdisk Balanced או Hyperdisk Balanced High Availability במצב multi-writer ל-8 מופעים לכל היותר. אפשר לצרף נפח Hyperdisk Extreme אחד במצב כתיבה מרובה ל-16 מכונות לכל היותר.
- אי אפשר ליצור קובצי אימג' של מכונות או קובצי אימג' של דיסקים מנפחי Hyperdisk במצב של גישה לכתיבה מרובה.
- אי אפשר ליצור נפח Hyperdisk במצב ריבוי כתיבה כשיוצרים או עורכים מופע. קודם צריך ליצור את נפח האחסון של Hyperdisk בנפרד, ואז לצרף אותו למופע.
- אי אפשר לשנות את הגודל של נפח Hyperdisk במצב של כמה כותבים, אלא אם מנתקים את הנפח מכל המכונות.
אתם יכולים לבצע את השינויים הבאים בנפח Hyperdisk במצב multi-writer, גם אם הנפח מחובר לכמה מכונות:
- שינוי של IOPS או של קצב העברת הנתונים שהוקצו
- חיבור הדיסק למכונות נוספות
כשמבצעים אחד מהשינויים האלה, מערכת Compute Engine מחלקת מחדש את הביצועים המוקצים של נפח ה-Hyperdisk בין כל המופעים המצורפים. התהליך יכול להימשך עד 6 שעות.
אי אפשר ליצור תמונה מנפח Hyperdisk במצב ריבוי כתיבה.
אי אפשר להפעיל מחיקה אוטומטית של אמצעי אחסון ב-Hyperdisk במצב של כמה כותבים.
אי אפשר להשתמש בנפח Hyperdisk במצב ריבוי כתיבה בתור דיסק האתחול של מכונה.
אי אפשר להשתמש בנפחי Hyperdisk במצב של כמה כותבים עם מכונות בצמתים של דייר יחיד.
צריך להשתמש באותו סוג ממשק כמו של דיסק האתחול של המכונה.
אי אפשר לשנות את סוג המכונה של מופע שמצורף לדיסק במצב ריבוי כתיבה.
מאגרי אחסון תומכים רק בנפחי אחסון Hyperdisk Balanced במצב ריבוי כותבים. מאגרי אחסון לא תומכים בנפחים של Hyperdisk Balanced High Availability ו-Hyperdisk Extreme.
אתם יכולים להשתמש באשכולות למעבר אוטומטי לגיבוי (Failover) של Windows Server עם נפחי Hyperdisk במצב ריבוי כתיבה בסוגי מכונות שמשתמשים בממשקי אחסון SCSI או NVMe. עם זאת, כשמשתמשים בסוגי מכונות עם ממשק אחסון NVMe, חלות ההגבלות הבאות:
- צריך להשתמש ב-Windows Server מגרסה 2022 ואילך.
- צריך ליצור כל דיסק מקובץ ישירות בווליום של Hyperdisk שנמצא במצב multi-writer. אין תמיכה בהוספה או באיגוד של נפחי Hyperdisk שנמצאים במצב ריבוי כתיבה.
גידור קלט/פלט באמצעות שמירת מקומות מתמשכת
Google ממליצה להשתמש ב-PR עם דיסקים במצב multi-writer כדי לספק גידור קלט/פלט. הזמנות קבועות מנהלות את הגישה לדיסק בין המכונות. כך נמנע מצב של שיבוש נתונים כתוצאה ממקרים שבהם מתבצעת כתיבה בו-זמנית לאותו חלק בדיסק.
אמצעי אחסון מסוג Hyperdisk במצב של כמה כותבים תומכים בהזמנות NVMe (מפרט 1.2.1).
מצבי הזמנה נתמכים
אלה מצבי ההזמנה שנתמכים:
- כתיבה בלעדית: יהיה בעל הזמנה אחד וכותב אחד. לכל שאר הנרשמים ולכל מי שלא נרשם תהיה גישת קריאה בלבד.
- גישה בלעדית: יהיה בעל הזמנה יחיד, שהוא הקורא והכותב. לכל שאר הנרשמים והמשתתפים שלא נרשמו לא תהיה גישת קריאה או כתיבה.
- הרשאה בלעדית לכתיבה – רק נרשמים: תהיה רק הזמנה אחת. לכל הנרשמים תהיה הרשאת קריאה וכתיבה בדיסק. למשתמשים שלא נרשמו תהיה גישה לקריאה בלבד.
- גישה בלעדית – רק למי שנרשם: יהיה רק בעל הזמנה אחד. לכל הנרשמים תהיה הרשאת קריאה וכתיבה בדיסק. למשתמשים שלא נרשמו לא תהיה גישת קריאה או כתיבה.
- בלעדיות לכתיבה – כל הנרשמים: כל הנרשמים יהיו בעלי הזמנה ותהיה להם גישת קריאה וכתיבה לדיסק. למי שלא רשום תהיה רק גישת קריאה.
- גישה בלעדית – כל הנרשמים: כל הנרשמים יקבלו הרשאה להזמנה וגישת קריאה וכתיבה לדיסק. למשתמשים שלא נרשמו לא תהיה הרשאת קריאה או כתיבה.
יש תמיכה ב-NVMe Get Features - Host Identifier. מספר המכונה משמש כמזהה המארח שמוגדר כברירת מחדל.
התכונות הבאות של שמירת NVMe לא נתמכות:
- הגדרת תכונות – מזהה מארח
- התראות על הזמנות:
- קבלת דף יומן
- מסכת התראות על הזמנות
פקודות נתמכות
הפקודות הבאות נתמכות בהזמנות NVMe:
- פעולה של רישום הזמנה (
RREGA) – החלפה/רישום/ביטול רישום –IEKEY - פעולת השגת הזמנה (
RACQA) – השגה/הקדמה –IEKEY - פעולה לביטול הזמנה (
RRELA) – ביטול/ניקוי –IEKEY - דוח הזמנות
- השדה של יכולות ההזמנה (
RESCAP) במבנה הנתונים של מרחב השמות identify.
הזמנות של NVMe לא תומכות בפקודות הבאות:
- הפקעה וביטול
- השבתת התכונה "שמירה במקרה של הפסקת חשמל" (PTPL). התכונה PTPL תמיד מופעלת.
איך משתפים דיסק במצב ריבוי כותבים
לפני שמצרפים דיסק במצב ריבוי כותבים למספר מופעים, צריך להגדיר את מצב הגישה של הדיסק לריבוי כותבים. אפשר להגדיר את מצב הגישה לדיסק כשיוצרים אותו.
אפשר גם להגדיר את מצב הגישה לדיסק קיים, אבל קודם צריך לנתק את הדיסק מכל המכונות.
כדי ליצור דיסק חדש ולהשתמש בו במצב ריבוי כותבים, פועלים לפי השלבים הבאים:
- יוצרים את הדיסק ומגדירים את מצב הגישה שלו ל'כתיבה מרובה'. להוראות, ראו הוספת Hyperdisk למכונה.
- מחברים את הדיסק לכל מכונה.
כדי להשתמש בדיסק קיים במצב כתיבה מרובה:
- מנתקים את הדיסק מכל המכונות.
- מגדירים את מצב הגישה לדיסק כקריאה וכתיבה בכמה מכונות.
- מצרפים את הדיסק לכל מופע.
מצב כתיבה מרובה לנפחי אחסון מתמיד
אתם יכולים לחבר נפח של דיסק אחסון מתמיד מסוג SSD במצב ריבוי כתיבה לעד שתי מכונות וירטואליות (VM) מסוג N2 בו-זמנית, כך ששתי המכונות הווירטואליות יוכלו לקרוא ולכתוב לדיסק.
אם יש לכם יותר מ-2 מכונות וירטואליות מסוג N2 או שאתם משתמשים בסדרת מכונות אחרת, אתם יכולים להשתמש באחת מהאפשרויות הבאות:
- חיבור המופעים ל-Cloud Storage
- קישור המופעים ל-Filestore
- יצירת שרת קבצים ברשת ב-Compute Engine
כדי להפעיל מצב של כמה כותבים לנפחי Persistent Disk חדשים, צריך ליצור נפח Persistent Disk חדש ולציין את הדגל --multi-writer ב-ה-CLI של gcloud או את המאפיין multiWriter ב-Compute Engine API.
אמצעי אחסון מסוג Persistent Disk במצב של מספר בעלי הרשאות כתיבה מספקים יכולת אחסון בלוקים (block storage) משותפת, ומהווים בסיס תשתיתי לבניית מערכות אחסון מבוזרות ושירותים דומים עם זמינות גבוהה. כשמשתמשים בדיסקים לאחסון מתמיד במצב של מספר בעלי הרשאות כתיבה, צריך להשתמש במערכת תוכנה לאחסון עם יכולת הרחבה אופקית שיכולה לתאם את הגישה למכשירים של דיסקים לאחסון מתמיד בכמה מכונות וירטואליות. דוגמאות למערכות אחסון כאלה כוללות את Lustre ו-IBM Spectrum Scale. רוב מערכות הקבצים של מכונה וירטואלית יחידה, כמו EXT4, XFS ו-NTFS, לא מיועדות לשימוש עם אחסון בלוקים משותף.
מידע נוסף זמין בקטע שיטות מומלצות במסמך הזה. אם אתם צריכים אחסון קבצים בניהול מלא, אתם יכולים לטעון קובץ משותף של Filestore במכונות של Compute Engine.
כרכים של Persistent Disk במצב 'מספר בעלי הרשאות כתיבה' תומכים בקבוצת משנה של פקודות 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 שנוצרו במצב של מספר כותבים יש מגבלות ספציפיות של 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* | |
במאמר שיתוף דיסקי אחסון מתמידים (persistent disk) בין מכונות וירטואליות מוסבר איך לשתף דיסקי אחסון מתמידים (persistent disk) בין כמה מכונות וירטואליות.
הגבלות על שיתוף דיסק במצב של כמה כותבים
- מצב ריבוי כותבים נתמך רק בכונני Persistent Disk מסוג SSD.
- אפשר ליצור נפח של דיסק אחסון מתמיד במצב מרובה כותבים בכל אזור, אבל אפשר לצרף את הדיסק הזה רק למכונות וירטואליות במיקומים הבאים:
australia-southeast1europe-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 Disk במצב multi-writer לא תומכים במדדים של Persistent Disk.
- אי אפשר לשנות דיסקים במצב ריבוי כותבים למצב קריאה בלבד.
- אי אפשר ליצור קובצי אימג' מנפחי Persistent Disk במצב של כמה כותבים.
- מגבלות נמוכות יותר של IOPS. פרטים נוספים זמינים במאמר בנושא ביצועי הדיסק.
- אי אפשר לשנות את הגודל של נפח Persistent Disk עם כמה כותבים.
- כשיוצרים מכונה באמצעות Google Cloud CLI, אי אפשר ליצור נפח Persistent Disk עם כמה כותבים באמצעות הדגל
--create-disk.
שיתוף נפח של דיסק מתמיד שמבוסס על SSD במצב של כמה מכונות וירטואליות עם הרשאת כתיבה
אפשר לשתף נפח של דיסק מתמיד שמבוסס על SSD במצב של כמה כותבים בין מכונות וירטואליות מסוג N2 באותו אזור. למידע נוסף על אופן הפעולה של המצב הזה, ראו מצב כתיבה מרובה של Persistent Disk. כדי ליצור ולצרף אמצעי אחסון ב-Persistent Disk עם כמה כותבים:
gcloud
יוצרים ומצרפים נפח של Persistent Disk אזורי באמצעות ה-CLI של gcloud:
משתמשים בפקודה
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.
-
אחרי שיוצרים את הדיסק, מצרפים אותו לכל מכונה וירטואלית פועלת או מושבתת עם סוג מכונה 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
-
חוזרים על הפקודה
gcloud compute instances attach-disk, אבל מחליפים את INSTANCE_NAME בשם של המכונה הווירטואלית השנייה.
אחרי שיוצרים ומצרפים דיסק חדש למופע, צריך לפרמט ולהתקין את הדיסק באמצעות מערכת קבצים של דיסק משותף. רוב מערכות הקבצים לא יכולות להשתמש באחסון משותף. לפני שמשתמשים במערכת קבצים עם דיסק מתמשך עם גישת קריאה וכתיבה מרובה, צריך לוודא שהיא תומכת ביכולות האלה. אי אפשר לצרף את הדיסק לכמה מכונות וירטואליות באמצעות אותו תהליך שבו משתמשים בדרך כלל כדי לצרף את הדיסק למכונה וירטואלית אחת.
REST
משתמשים ב-Compute Engine API כדי ליצור ולצרף נפח של דיסק מתמיד שמבוסס על SSD למכונות וירטואליות מסוג N2 במצב של גישה לכתיבה מרובה.
ב-API, יוצרים בקשת
POSTכדי ליצור נפח Persistent Disk אזורי באמצעות ה-methoddisks.insert. כוללים את המאפייניםname,sizeGbו-type. כדי ליצור את הדיסק החדש כדיסק ריק ולא מאותחל שאינו דיסק אתחול, אל תציינו תמונת מקור או קובץ snapshot של מקור לדיסק הזה. צריך לכלול את המאפייןmultiWriterעם הערךTrueכדי לציין שאפשר לשתף את הדיסק בין מכונות וירטואליות במצב של גישה לכתיבה מרובה.POST https://compute.googleapis.com/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.
-
כדי לצרף את הדיסק למכונה, יוצרים בקשת
POSTל-methodcompute.instances.attachDisk. כוללים את כתובת ה-URL של אמצעי האחסון של Persistent Disk האזורי שיצרתם:POST https://compute.googleapis.com/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: האזור שבו נמצאים המכונה הווירטואלית והדיסק החדש -
INSTANCE_NAME: השם של מכונת ה-VM שמוסיפים לה את נפח האחסון החדש של Persistent Disk. -
DISK_NAME: השם של הדיסק החדש
-
כדי לצרף את הדיסק למכונה וירטואלית שנייה, חוזרים על הפקודה
instances.attachDiskמהשלב הקודם. מגדירים אתINSTANCE_NAMEלשם של המכונה הווירטואלית השנייה.
אחרי שיוצרים דיסק חדש ומחברים אותו למכונה, מפרמטים ומתקינים את הדיסק באמצעות מערכת קבצים של דיסק משותף. רוב מערכות הקבצים לא יכולות להשתמש בנפח אחסון משותף. לפני שמשתמשים במערכת קבצים עם דיסק מתמשך עם גישת קריאה וכתיבה מרובה, צריך לוודא שהיא תומכת ביכולות האלה.