מכונה של Google Cloud Managed Lustre היא מערכת קבצים מלאה של Lustre בענן. אפשר לטעון אותו למכונה וירטואלית של Compute Engine או לאשכול של Google Kubernetes Engine (GKE). אתם ניגשים לנתונים במכונה באמצעות טרמינולוגיית POSIX סטנדרטית.
כשיוצרים מכונה של Managed Lustre, צריך להגדיר את המאפיינים הבאים:
- שם המכונה, שמשמש את Google Cloud.
- השם של מערכת הקבצים, שמשמש כלים בצד הלקוח כמו
lfs. - נפח האחסון בגיביבייט (GiB). הקיבולת יכולה להיות בין 9,000GiB ל-84,016,000GiB (80.1PiB). הגודל המקסימלי של מכונה תלוי ברמת הביצועים שלה.
- רמת הביצועים. ב-Managed Lustre יש רמות ביצועים שונות, מ-125MBps ל-TiB ועד 1,000MBps ל-TiB, וגם רמה דינמית שמבצעת אופטימיזציה של הביצועים על סמך דפוסי הגישה לנתונים, עם קצב העברת נתונים מצטבר של 25MBps ל-TiB.
- המיקום. כדי לקבל את הביצועים הכי טובים, כדאי למקם את המכונה באותו אזור שבו נמצאים המכונות הווירטואליות של הלקוח או אשכול GKE.
- רשת ה-VPC של המכונה הזו. הרשת הזו צריכה להיות זהה לרשת שמשמשת את המכונות הווירטואליות או האשכולות.
רמות ביצועים וקיבולת אחסון מקסימלית
ב-Managed Lustre יש 4 רמות ביצועים קבועות ורמה דינמית אחת. רמות הביצועים משפיעות על הגודל המינימלי והמקסימלי של המכונה, ועל גודל השלב בין ערכי הקיבולת הקבילים. אי אפשר לשנות את רמת הביצועים של מכונה אחרי שהיא נוצרה.
למידע נוסף, ראו רמות ביצועים.
אחרי שיוצרים מכונה, אפשר להגדיל את נפח האחסון שלה עד לערך המקסימלי שמותר לרמת הביצועים ולגודל השלב שלה.
מחשבון קיבולת
בוחרים רמת ביצועים ומזינים את הקיבולת הרצויה כדי למצוא את הגודל התקין הקרוב ביותר. הגדלים החוקיים מעוגלים כלפי מעלה על סמך הגודל המינימלי וגודל השלב של הרמה.
מכסות
לפרויקט יש מכסות של תפוקה וקיבולת, שמתמלאות כשיוצרים מכונה. אם אין לכם מספיק מכסה באזור וברשת ה-VPC של המכונה בשביל גודל המכונה ורמת הביצועים שבחרתם, בקשת היצירה תיכשל. מידע נוסף זמין במאמר מכסות ומגבלות.
ההרשאות הנדרשות
כדי ליצור מכונה חדשה של Managed Lustre, צריך הרשאות אדמין של Managed Lustre (roles/lustre.admin) ב-IAM בפרויקט.
למידע נוסף, קראו את המאמר בקרת גישה באמצעות IAM.
בנוסף, צריך להפעיל את Managed Lustre API.
יצירת מכונה
אפשר ליצור מכונה חדשה של Managed Lustre מהממשקים הבאים.
gcloud
כדי ליצור מכונה חדשה של Managed Lustre, משתמשים בפקודה gcloud lustre
instances create:
gcloud lustre instances create INSTANCE_ID \
--per-unit-storage-throughput=PER_UNIT_STORAGE_THROUGHPUT \
--capacity-gib=CAPACITY_GIB \
--filesystem=FILESYSTEM \
--location=LOCATION \
--network=NETWORK_PATH
צריך לציין את הערכים הבאים:
INSTANCE_ID הוא השם של המכונה הזו ב-Managed Lustre. הוא צריך:
- הוא יכול לכלול רק אותיות קטנות, מספרים ומקפים.
- להתחיל באות.
- להכיל בין תו אחד ל-63 תווים.
- להסתיים במספר או באות.
- להיות ייחודיים בפרויקט ובמיקום.
--per-unit-storage-throughputהוא קצב העברת הנתונים המקסימלי של המכונה ב-MBps ל-TiB. הערכים התקינים הם0,125,250,500ו-1000. הבחירה שלכם בקצב העברת הנתונים משפיעה על קיבולת האחסון המינימלית והמקסימלית של המכונה.כדי לציין את רמת השירות הדינמית, מגדירים את הערך
0וכוללים את הדגל--dynamic-tier-options-mode=DEFAULT_CACHE. לדוגמה:gcloud lustre instances create my-dynamic-tier-instance \ --per-unit-storage-throughput=0 \ --dynamic-tier-options-mode=DEFAULT_CACHE \ ...
--capacity-gibהוא נפח האחסון של המכונה ב-Gibibyte (GiB). הערכים המותרים תלויים ברמת קצב הנתונים של האחסון שציינתם. לפרטים נוספים, קראו את הקטע רמות ביצועים וקיבולות אחסון מקסימליות.
--filesystemהוא השם שצריך להקצות למערכת הקבצים הזו של Lustre. השם הזה משמש פקודות בצד הלקוח, כוללmountו-lfs. הוא צריך להיות באורך של עד 8 תווים, להכיל רק אותיות ו/או מספרים, והוא תלוי אותיות רישיות.מומלץ לבחור שם ייחודי לכל המכונות של Managed Lustre ב-VPC. כך אפשר להשתמש בכמה מכונות מצומת GKE אחד.
הערך של
--locationחייב להיות אזור Google Cloud תקין שנתמך ב-Managed Lustre. כאן מופיעה רשימה מלאה של המיקומים הנתמכים.
--networkהוא הנתיב המלא של רשת ה-VPC שאליה שייך המכונה, בפורמטprojects/PROJECT_ID/global/networks/NETWORK. איך מגדירים רשת VPC?
--projectהוא מזהה הפרויקט ב- Google Cloud .
אלה הדגלים האופציונליים:
--dynamic-tier-options-modeמציין את המסלול הדינמי של המכונה הזו. כדי להפעיל את הרמה הדינמית, מגדירים את הערך של הדגל הזה בתורDEFAULT_CACHEומגדירים את--per-unit-storage-throughput=0.
--kms-key-nameמציין מפתח הצפנה בניהול הלקוח (CMEK) שבאמצעותו אפשר להצפין את המכונה הזו. למידע נוסף, קראו את המאמר מפתחות הצפנה בניהול הלקוח ל-Managed Lustre.
--maintenance-policy-weekly-windowsו---maintenance-policy-exclusion-windowמגדירים את מדיניות התחזוקה של המכונה הזו. פרטים נוספים זמינים במאמר אירועי תחזוקה וכללי מדיניות.
--async(אופציונלי) מריץ את הפקודה באופן אסינכרוני. במקום להמתין עד להשלמת יצירת המכונה, ה-CLI של Google Cloud מחזיר מזהה פעולה שאפשר להשתמש בו כדי לשלוח שאילתה לגבי סטטוס הפקודה.
אם הבקשה תצליח, יוחזר מזהה פעולה:
Create request issued for: [$INSTANCE_ID]
Waiting for operation [projects/$PROJECT_ID/locations/us-central1-a/operations/
operation-1234567890-609d21deae6f0-befaf0bc-867b1aa1] to complete...
יצירת מכונה עם קיבולת של 9,000GiB נמשכת כ-15 דקות, ויצירת מכונה עם קיבולת של 84,016,000GiB (80.1PiB) נמשכת כמה שעות. במאמר שאילתה לגבי סטטוס היצירה של המכונה מוסבר איך בודקים את סטטוס הבקשה.
REST
כדי ליצור מכונה באמצעות ה-API בארכיטקטורת REST, שולחים בקשה לנקודת הקצה הבאה:
POST https://lustre.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/instances?instanceId=INSTANCE_ID
Authorization: Bearer AUTH_TOKEN
{
"filesystem": string,
"perUnitStorageThroughput": int64,
"capacityGib": int64,
"network": string
}
צריך לציין את הערכים הבאים:
PROJECT_ID הוא מזהה הפרויקט ב- Google Cloud .
הערך של ZONE חייב להיות אזור Google Cloud תקין שנתמך ב-Managed Lustre. כאן מופיעה רשימה מלאה של המיקומים הנתמכים.
INSTANCE_ID הוא השם של המכונה הזו של Managed Lustre. הוא צריך:
- הוא יכול לכלול רק אותיות קטנות, מספרים ומקפים.
- להתחיל באות.
- להכיל בין תו אחד ל-63 תווים.
- להסתיים במספר או באות.
- להיות ייחודיים בפרויקט ובמיקום.
filesystemהוא השם שצריך להקצות למערכת הקבצים הזו של Lustre. השם הזה משמש פקודות בצד הלקוח, כוללmountו-lfs. הוא צריך להיות באורך של עד 8 תווים, להכיל רק אותיות ו/או מספרים, והוא תלוי אותיות רישיות.מומלץ לבחור שם ייחודי למערכת הקבצים בכל המכונות של Managed Lustre ב-VPC. כך אפשר להשתמש בכמה מכונות מצומת GKE אחד.
perUnitStorageThroughputהוא קצב העברת הנתונים המקסימלי של המכונה ב-MBps ל-TiB. הערכים התקינים הם0,125,250,500ו-1000. הבחירה שלכם בקצב העברת הנתונים משפיעה על קיבולת האחסון המינימלית והמקסימלית של המכונה.כדי לציין את הרמה הדינמית, מגדירים את הערך
0וכוללים את האובייקטdynamicTierOptions. לדוגמה:"perUnitStorageThroughput": 0, "dynamicTierOptions": { "mode": "DEFAULT_CACHE" }
capacityGibהוא נפח האחסון של המכונה ב-Gibibyte (GiB). הערכים המותרים תלויים ברמת קצב הנתונים של האחסון שציינתם. פרטים נוספים זמינים בקטע רמות ביצועים וקיבולות אחסון מקסימליות.
networkהוא הנתיב המלא של רשת ה-VPC שאליה שייך המכונה, בפורמטprojects/PROJECT_ID/global/networks/NETWORK. איך מגדירים רשת VPC?
השדות הבאים הם אופציונליים:
הערך
dynamicTierOptionsמפעיל את הרמה הדינמית במכונה הזו. כדי להפעיל את הרמה הדינמית, צריך להגדיר את השדהmodeבאובייקטdynamicTierOptionsלערךDEFAULT_CACHE, ואתperUnitStorageThroughputלערך0.
kmsKeyמציין מפתח הצפנה בניהול הלקוח (CMEK) שבאמצעותו אפשר להצפין את המכונה הזו. למידע נוסף, קראו את המאמר מפתחות הצפנה בניהול הלקוח ל-Managed Lustre.
ה-API תומך בשדות אופציונליים נוספים של מופעים. רשימה מלאה ותיאורים מופיעים במאמרי העזרה של המשאב Instance.
מסוף Google Cloud
נכנסים לדף Managed Lustre במסוף Google Cloud .
לוחצים על יצירה. נפתח הדף Create an instance.
מזינים שם מכונה ייחודי, ואם רוצים, גם תיאור. שם המכונה משמש את Google Cloud כדי לזהות את המכונה הזו.
מזינים שם של מערכת קבצים. זה השם שמשמש כלים בצד הלקוח, כמו
lfs. הוא צריך להיות באורך של עד 8 תווים, להכיל רק אותיות ו/או מספרים, והוא תלוי אותיות רישיות.בוחרים את האזור והתחום שבהם רוצים ליצור את המכונה. כדאי למקם את המכונה באותו אזור ובאותו תחום (zone) שבהם נמצאים המכונות הווירטואליות של Compute Engine או אשכולות Google Kubernetes Engine שיתחברו אליה.
בוחרים את רמת הביצועים של המכונה הזו.
מציינים את נפח האחסון של המכונה בגיביבייט (GiB). הערכים החוקיים תלויים ברמת קצב העברת הנתונים של האחסון שבחרתם. לפרטים נוספים, קראו את הקטע רמות ביצועים וקיבולות אחסון מקסימליות.
בקטע Encryption, בוחרים באפשרות Google-managed encryption key או באפשרות Cloud Key Management Service key. למידע על האפשרות של מפתח Cloud Key Management Service, קראו את המאמר מפתחות הצפנה בניהול הלקוח ל-Managed Lustre.
אופציונלי: כדי לקבוע מתי אפשר לבצע תחזוקה במכונה הזו, מרחיבים את הקטע Maintenance policy ומגדירים חלון זמן לתחזוקה או חלון זמן להחרגה. פרטים נוספים זמינים במאמר אירועי תחזוקה וכללי מדיניות.
בוחרים את הרשת שיצרתם בקטע יצירת רשת VPC.
הקטע Summary בדף מתעדכן ומוצגת בו עלות משוערת בהתאם לבחירות שלכם.
כדי להמשיך, לוחצים על שליחה. תהליך יצירת המכונה נמשך בין 15 דקות לשעה, בהתאם לקיבולת המכונה.
בדיקת סטטוס היצירה של מופע השאילתה
אפשר לשלוח שאילתה לגבי סטטוס בקשת היצירה מהממשקים הבאים.
gcloud
כדי לשלוח שאילתה לגבי הסטטוס של פעולת יצירה, אפשר לקבל את הפעולה או את המכונה.
כדי לקבל את המכונה:
gcloud lustre instances describe INSTANCE_NAME \
--location=ZONE
סטטוס היצירה הוא הערך של state.
כדי לקבל את הפעולה, משתמשים במזהה הפעולה מהתגובה ליצירת המכונה. מזהה הפעולה הוא בפורמט הבא:
operation-1234567890123-6127783ad26ea-88913969-02748053
gcloud lustre operations describe OPERATION_ID \
--location=LOCATION
סטטוס היצירה הוא הערך של done.
אחרי שהמכונה נוצרת, התוצאה של בקשת get במכונה דומה לתשובה הבאה.
שימו לב לכתובת ה-IP בשדה mountPoint ולשם של מערכת הקבצים. תצטרכו את הערכים האלה כשתטענו את המכונה.
capacityGib: '27000'
createTime: '2025-03-14T00:07:34.308574307Z'
filesystem: lustre-fs
mountPoint: 10.115.0.3@tcp:/testfs
name: projects/$PROJECT/locations/us-central1-a/instances/$INSTANCE_NAME
network: projects/$PROJECT/global/networks/default
state: ACTIVE
updateTime: '2025-03-14T00:15:37.101024263Z'
REST
כדי לשלוח שאילתה לגבי הסטטוס של פעולת יצירה, משתמשים במזהה הפעולה מהתגובה. מזהה הפעולה הוא בפורמט הבא:
operation-1234567890123-6127783ad26ea-88913969-02748053
שולחים בקשה לנקודת הקצה הבאה:
GET https://lustre.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/operations/OPERATION_ID
Authorization: Bearer
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע של Operation.
מסוף Google Cloud
נכנסים לדף Managed Lustre במסוף Google Cloud .
לוחצים על שם המכונה ברשימה. מופיע הדף Instance Details, שכולל את הסטטוס הנוכחי של הבקשה ליצירת מכונה.
פתרון בעיות
טווח כתובות ה-IP מוצה
אם יצירת המכונה נכשלת בגלל שגיאה שטווח כתובות ה-IP מוצה:
FAILED_PRECONDITION: Invalid resource state for "NETWORK_RANGES_NOT_AVAILABLE": IP address range exhausted
או:
Private Service Access IP address range exhausted or does not exist.
כדי לשנות את החיבור הפרטי הקיים ולהוסיף טווחי כתובות IP, פועלים לפי ההוראות במאמר הגדרת גישה לשירותים פרטיים.
מומלץ להשתמש בקידומת באורך של /20 לפחות (4,096 כתובות).
לא בוצע קישור בין הרשתות
אם יצירת המכונה נכשלת בגלל שגיאה בקישור בין רשתות שכנות (VPC network peering):
INVALID_ARGUMENT: the network has not been peered with Google managed services.
השגיאה הזו מתרחשת כשרשת ה-VPC שצוינה ב---network לא מקושרת לשירותים שמנוהלים על ידי Google באמצעות גישה לשירותים פרטיים.
כדי לפתור את הבעיה, צריך לפעול לפי ההוראות במאמר יצירה והגדרה של VPC כדי להקצות טווח של כתובות IP וליצור חיבור בין רשתות שכנות באמצעות VPC.