קובץ תצורה של Cloud Storage FUSE מאפשר להגדיר באופן קבוע את ההתנהגות של Cloud Storage FUSE בקובץ YAML, במקום לציין אפשרויות בכל פעם שטוענים קטגוריה. כדי להשתמש בקובץ התצורה, מציינים את הנתיב שלו באפשרות --config-file כשמריצים את הפקודה gcsfuse.
במסמך הזה מתוארים הפורמט של קובץ התצורה והשדות הנתמכים. אפשר גם לשלוט באותה התנהגות באמצעות Cloud Storage FUSE CLI.
הפורמט והשדות של קובץ התצורה של Cloud Storage FUSE
בדוגמה הבאה של הגדרת YAML מוצגים הפורמט והשדות שזמינים ב-Cloud Storage FUSE.
app-name: "APP_NAME" logging: file-path: "FILE_PATH" format: FORMAT severity: SEVERITY log-rotate: max-file-size-mb: MAX_FILE_SIZE backup-file-count: BACKUP_FILE_COUNT compress: COMPRESS cache-dir: "CACHE_DIR" file-cache: max-size-mb: MAX_SIZE cache-file-for-range-read: CACHE_FILE_FOR_RANGE_READ enable-parallel-downloads: ENABLE_PARALLEL_DOWNLOADS exclude-regex: EXCLUDE_REGEX include-regex: INCLUDE_REGEX parallel-downloads-per-file: PARALLEL_DOWNLOADS_PER_FILE max-parallel-downloads: MAX_PARALLEL_DOWNLOADS download-chunk-size-mb: DOWNLOAD_CHUNK_SIZE metadata-cache: negative-ttl-secs: ENABLE_NEGATIVE_TTL_SECS stat-cache-max-size-mb: STAT_CACHE_MAX_SIZE ttl-secs: TTL_SECS enable-metadata-prefetch: ENABLE_METADATA_PREFETCH metadata-prefetch-entries-limit: METADATA_PREFETCH_ENTRIES_LIMIT metadata-prefetch-max-workers: METADATA_PREFETCH_MAX_WORKERS only-dir: "ONLY_DIR" gcs-auth: anonymous-access: ANONYMOUS_ACCESS key-file: "KEY_FILE" reuse-token-from-url: REUSE_TOKEN_FROM_URL token-url: "TOKEN_URL" gcs-connection: billing-project: "BILLING_PROJECT" client-protocol: CLIENT_PROTOCOL custom-endpoint: "CUSTOM_ENDPOINT" http-client-timeout: HTTP_CLIENT_TIMEOUT limit-bytes-per-sec: "LIMIT_BYTES_PER_SEC" limit-ops-per-sec: "LIMIT_OPS_PER_SEC" max-conns-per-host: MAX_CONNS_PER_HOST max-idle-conns-per-host: MAX_IDLE_CONNS_PER_HOST sequential-read-size-mb: SEQUENTIAL_READ_SIZE implicit-dirs: IMPLICIT_DIRS file-system: kernel-list-cache-ttl-secs: KERNEL_LIST_CACHE_TTL_SECS ignore-interrupts: IGNORE_INTERRUPTS dir-mode: "DIR_MODE" file-mode: "FILE_MODE" fuse-options: FUSE_OPTIONS gid: GID rename-dir-limit: RENAME_DIR_LIMIT temp-dir: "TEMP_DIR" uid: UID foreground: FOREGROUND gcs-retries: max-retry-attempts: MAX_RETRY_ATTEMPTS max-retry-sleep: MAX_RETRY_SLEEP multiplier: "MULTIPLIER" metrics: cloud-metrics-export-interval-secs: CLOUD_METRICS_EXPORT_INTERVAL prometheus-port: PROMETHEUS_PORT debug: log-mutex: LOG_MUTEX exit-on-invariant-violation: EXIT_ON_INVARIANT_VIOLATION write: enable-streaming-writes: STREAMING_WRITES global-max-blocks: MAXIMUM_GLOBAL_BLOCKS read: enable-buffered-read: ENABLE_BUFFERED_READ global-max-blocks: MAXIMUM_GLOBAL_READ_BLOCKS profile: PROFILE
שדות בקובץ התצורה של Cloud Storage FUSE
בטבלה הבאה מתוארים השדות שאפשר לציין בקובץ התצורה של Cloud Storage FUSE. כל השדות הם אופציונליים, אלא אם צוין אחרת.
| שדה | תיאור | ערך תקין | ערך ברירת המחדל |
|---|---|---|---|
|
שם האפליקציה של הטעינה. | ערך מחרוזת, לדוגמה: "my-bucket-mount". |
"" |
|
הנתיב לקובץ היומן שבו ייכתבו היומנים.
אם לא מציינים את השדה הזה, היומנים מנותבים אל stdout כש-Cloud Storage FUSE פועל במצב חזית, ואל syslogs כש-Cloud Storage FUSE פועל במצב רקע. |
ערך מחרוזת, לדוגמה: "/var/log". |
"" |
|
מציינת את הפורמט של קובץ היומן. |
|
json |
|
רמת החומרה של היומנים שאתם רוצים ש-Cloud Storage FUSE ייצור. רמות החומרה מסודרות מהנמוכה ביותר לגבוהה ביותר. לדוגמה, כשמציינים את הערך |
|
info |
|
הגודל המקסימלי במגה-בייט (MB) שקובצי היומן יכולים להגיע אליו לפני שהם מוחלפים. | מספר שלם. הערך המינימלי הוא 1. |
512 |
|
המספר המקסימלי של קובצי יומן שעברו רוטציה שצריך לשמור, לא כולל הקובץ הפעיל שאליו נכתבים היומנים. |
|
10 |
|
מציינת אם קובצי יומן שעברו רוטציה נדחסים באמצעות gzip. |
ערך בוליאני: true, false |
true |
|
מפעילה את מטמון הקבצים ומציינת את הספרייה לאחסון נתוני מטמון הקבצים. |
נתיב, לדוגמה: "/tmp/gcsfuse-cache-path".
אם השדה ריק, סימן שהוא מושבת. השדה הזה מושבת כברירת מחדל. |
|
|
המדיניות הזו מציינת את הגודל המקסימלי ב-MiB שמטמון הקבצים יכול להשתמש בו, ומאפשרת להגביל את הקיבולת הכוללת שמטמון הקבצים יכול להשתמש בה בספרייה שבה הוא מותקן. |
|
-1 |
|
ההגדרה הזו קובעת אם האובייקט המלא יורד באופן אסינכרוני ויישמר בספריית המטמון של Cloud Storage FUSE, כשהקריאה הראשונה תושלם מהיסט שאינו אפס. צריך להגדיר את השדה הזה לערך true אם מתכננים לבצע כמה קריאות אקראיות או קריאות חלקיות.
|
ערך בוליאני: true, false |
false |
|
האצת הקריאה של קבצים גדולים באמצעות שימוש בספריית המטמון של הקבצים כמאגר נתונים לשליפה מראש, תוך שימוש בכמה קבצי עבודה כדי להוריד כמה חלקים של קובץ במקביל. הורדות במקביל מופעלות באופן אוטומטי כשמפעילים שמירת קבצים במטמון. מידע נוסף על שמירת קבצים במטמון זמין במאמר שימוש בשמירת קבצים במטמון ב-Cloud Storage FUSE. מידע נוסף על הורדות במקביל ועל הגדרת מאפיינים תומכים זמין במאמר הורדות במקביל. |
ערך בוליאני: true, false. |
true |
|
ביטוי רגולרי שמציין קבצים שצריך להחריג מהשמירה במטמון.
אם קובץ תואם לביטוי הרגולרי הזה, הוא לא נשמר במטמון, גם אם הוא תואם גם ל-include-regex.
הביטוי הרגולרי מותאם לנתיבי קבצים בפורמט bucket_name/object_key. מידע נוסף זמין במאמר שליטה ביכולת השמירה במטמון ברמת פירוט של קובץ באמצעות ביטויים רגולריים. |
ערך מחרוזת שמייצג ביטוי רגולרי. | "" |
|
ביטוי רגולרי שמציין אילו קבצים לכלול בשמירה במטמון. אם משתמשים בשדה הזה, רק קבצים שתואמים לביטוי הרגולרי הזה נשמרים במטמון.
הביטוי הרגולרי מותאם לנתיבי קבצים בפורמט bucket_name/object_key. מידע נוסף זמין במאמר שליטה ביכולת השמירה במטמון ברמת פירוט של קובץ באמצעות ביטויים רגולריים. |
ערך מחרוזת שמייצג ביטוי רגולרי. | "" |
|
מציינת את המספר המקסימלי של goroutines שנוצרים לכל קובץ כדי להוריד את האובייקט מ-Cloud Storage למטמון הקבצים. | מספר שלם | 16 |
|
המספר המקסימלי של goroutines שאפשר ליצור בכל זמן נתון בכל משימות ההורדה של הקבצים. |
|
פי שניים ממספר ליבות המעבד (CPU) במכונה או 16, הגבוה מביניהם. |
|
מציינת את הגודל של כל בקשת קריאה ב-MiB שכל goroutine שולחת ל-Cloud Storage כשמורידים את האובייקט למטמון הקבצים. | מספר שלם | 200 |
|
הגודל המקסימלי של הזיכרון שבו מטמון הנתונים הסטטיסטיים יכול להשתמש, ב-MiB. מטמון הנתונים הסטטיסטיים נשמר תמיד בזיכרון. |
|
34 |
|
מגדירה את אורך החיים (TTL) בשניות של רשומות במטמון של נתוני stat שליליים, שמאחסנות תוצאות של קבצים שלא קיימים במטמון. |
|
5 |
|
המדיניות הזו מגדירה את אורך החיים (TTL) בשניות של רשומות מטא-נתונים שנשמרו במטמון. |
|
60 |
|
האפשרות הזו מאפשרת לאחזר מראש ברקע מטא-נתונים של אובייקטים בתוך ספרייה במקרה של אי מציאה במטמון. האפשרות הזו מבצעת עדכון באצווה למטמון המטא-נתונים, ומפחיתה באופן משמעותי את זמן האחזור בחיפושים הבאים של קבצים בספרייה. | ערך בוליאני: true, false. |
false |
|
מציינת את המספר המקסימלי של רשומות מטא-נתונים לאחזור מראש לכל ספרייה. ערכים שמציינים יותר מ-5,000 רשומות של מטא-נתונים גורמים לכמה קריאות רציפות ל-Objects: list של Cloud Storage, כי כל קריאה בודדת מוגבלת ל-5,000 תוצאות.
|
מספר שלם בין -1 ל-2147483647. מגדירים את הערך -1 כדי לאחזר מראש את כל הרשומות. |
5000 |
|
המספר המקסימלי של תהליכי עבודה ברקע שמותר להפעיל בו-זמנית כדי לבצע אחזור מראש של מטא-נתונים בכל הספריות. | מספר שלם בין -1 ל-2147483647. כדי להגדיר מספר בלתי מוגבל של עובדים, צריך להזין -1. |
10 |
|
טוענת רק ספרייה ספציפית מתוך קטגוריה. | נתיב, לדוגמה: "/etc/gcsfuse.yaml". |
|
|
השבתת האימות של בקשות. צריך להגדיר את השדה הזה אם משתמשים בנקודת קצה מותאמת אישית שלא תומכת באימות. צריך להגדיר את השדה הזה גם אם משתמשים ב-Cloud Storage FUSE עם קטגוריות ציבוריות. | ערך בוליאני: true, false |
false |
|
מציינת נתיב מוחלט לקובץ מפתח ה-JSON של פרטי הכניסה לצורך אימות בקשות ב-Cloud Storage. כברירת מחדל, אימות הבקשות ב-Cloud Storage FUSE מתבצע באמצעות Application Default Credentials. | כתובת URL. | אם השדה הזה לא מוגדר, המערכת משתמשת ב-Application Default Credentials. |
|
מציינת אם להשתמש שוב באסימון שהתקבל מ---token-url. |
ערך בוליאני: true, false |
true |
|
מציינת כתובת URL לקבלת אסימון גישה
כש---key-file חסר. |
כתובת URL. | |
|
מציינת איזה פרויקט צריך להשתמש לחיוב כשמתבצעת גישה לקטגוריה שהוטענה. השדה הזה נחוץ לרוב במהלך טעינת קטגוריה שמופעלת באמצעות התכונה מגיש הבקשה משלם. | ערך מחרוזת שמייצג מזהה פרויקט. | "" |
|
מציינת באמצעות איזה פרוטוקול תתבצע התקשורת עם הקצה העורפי של Cloud Storage. |
|
http1 |
|
מציינת נקודת קצה (endpoint) מותאמת אישית חלופית לאחזור נתונים.
נקודת הקצה המותאמת אישית חייבת לתמוך בפעולות ובמשאבים המקבילים לאלה של נקודת הקצה של JSON ב-Cloud Storage, storage.UNIVERSE_DOMAIN_NAME:443.
אם לא מצוינת נקודת קצה מותאמת אישית, Cloud Storage FUSE משתמש בנקודת הקצה הגלובלית ל-API בפורמט JSON ב-Cloud Storage, storage.googleapis.com:443.
אם נקודת הקצה המותאמת אישית שציינתם לא תומכת באימות, הגדירו את השדה anonymous-access לערך true כדי לעקוף את האימות. |
נקודת קצה, לדוגמה: storage.googleapis.com:443. |
|
|
מציינת כמה זמן צד הלקוח ב-HTTP ב-Cloud Storage FUSE יכול לחכות לקבלת תשובה מהשרת לפני שהזמן הקצוב יסתיים. | משך הזמן, לדוגמה: 1h10m10s לשעה אחת, 10 דקות ו-10 שניות. 0s מציין שאין זמן קצוב לתפוגה. |
0s, שמשמעותו היא שאין פסק זמן |
|
מציינת את מגבלת רוחב הפס שבה Cloud Storage FUSE יכול לקרוא נתונים מ-Cloud Storage. היא נמדדת במשך חלון זמן של 30 שניות. | "-1", שמציין שאין מגבלה. |
|
|
מציינת מגבלת ביצוע של מספר הפעולות לשנייה, שנמדדת במשך חלון זמן של 30 שניות. | מספר נקודה צפה (floating-point). הערך -1 מציין שאין מגבלה. |
"-1" |
|
מציינת את המספר המקסימלי של חיבורי TCP שמותרים לכל שרת.
האפשרות הזו מופעלת כאשר בשדה --client-protocol מגדירים את הערך http1. |
0 |
|
|
מציינת את המספר המקסימלי של חיבורים ללא פעילות שמותרים לכל שרת.
האפשרות הזו מופעלת כאשר בשדה --client-protocol מגדירים את הערך http1. |
מספר שלם בין 0 ל-2147483647.
הערך 0 מציין שאין מגבלה על חיבורי TCP. |
0 |
|
מציינת את גודל המקטע של הנתונים להורדה מ-Cloud Storage, ביחידות מגה-בייט (MB). | מספר שלם בין 1 ל-1024. |
200 |
|
כולל באופן משתמע תיקיות ותיקיות מנוהלות. מידע נוסף זמין במקטע Files and directories במאמרי העזרה של Cloud Storage FUSE GitHub. | ערך בוליאני: true, false |
false |
|
מפעילה את מטמון הרשימה ומגדירה את אורך החיים (TTL) בשניות של רשומות הרשימה שנשמרו במטמון. המטמון של הרשימה נשמר בזיכרון במטמון של הדף, שנשלט על ידי הליבה על סמך הזיכרון הזמין. |
| 0 |
|
הוראה ל-Cloud Storage FUSE להתעלם מאותות של הפרעות במערכת, כמו SIGINT שמופעל על ידי Control+C. כך אפשר למנוע מאותות להפסיק פעולות שמתבצעות. |
ערך בוליאני: true, false. |
true |
|
ביטים של הרשאות לספריות, על בסיס אוקטלי. | ערך מחרוזת שמייצג מספר שלם אוקטלי בין "000" ל-"777" (כולל), לדוגמה: "755". |
"755" |
|
מציינת ביטים של הרשאות לקבצים, על בסיס אוקטלי. | ערך מחרוזת שמייצג מספר שלם אוקטלי בין "000" ל-"777" (כולל), לדוגמה: "644". |
"644" |
|
מציינת אפשרויות טעינה נוספות שספציפיות למערכת. | ||
|
מציינת מי הבעלים של מזהה הקבוצה (GID) של כל צמתי inode. |
|
-1 |
|
מאפשרת לשנות את השם של ספריות שמכילות פחות צאצאים מהמגבלה שצוינה. | מספר שלם בין 0 ל-2147483647. |
0 |
|
מציינת נתיב לספרייה הזמנית לאחסון הנתונים שנכתבים במחסן ביניים (Stage) לפני ההעלאה ל-Cloud Storage. | נתיב מחרוזת, לדוגמה: "/mnt/ssd/example-user-gcsfuse-temp-dir". |
"/tmp" |
|
מציינת מי הבעלים של מזהה המשתמש (UID) של כל צמתי ה-inode. |
|
-1 |
|
מריצה את הפקודה gcsfuse בחזית. |
ערך בוליאני: true, false |
false |
|
מציינת את מספר הפעמים המקסימלי לביצוע ניסיון חוזר של פעולה שנכשלה, כדי למנוע לולאות אינסופיות של ניסיונות חוזרים. |
|
0 |
|
מציינת את משך הזמן המקסימלי שבו Cloud Storage FUSE יכול להשהות את הפעולה בלולאת ניסיון חוזר עם השהיה מעריכית לפני ניסיון חוזר (exponential backoff). אם משך ההשהיה לפני ניסיון חוזר חורג ממשך הזמן המקסימלי שצוין, הניסיון החוזר ממשיך עם משך הזמן המקסימלי שצוין. | משך זמן, לדוגמה: 1h5m50s (שעה אחת, 5 דקות ו-50 שניות) או 60s (60 שניות). |
30s |
|
מציינת את המכפיל להשהיה מעריכית לפני ניסיון חוזר (exponential backoff) בין ניסיונות חוזרים בזה אחר זה. | מספר בשיטת נקודה צפה | "2" |
|
מייצאת מדדים ל-Cloud Monitoring במרווח הזמן שצוין. |
מספר שלם שמייצג ערך בשניות, לדוגמה: 10 (10 שניות).
0 מציין שלא יתבצע ייצוא. |
0 |
|
חושפת נקודת קצה של מדדי Prometheus ביציאה שצוינה ובנתיב |
מספר שלם שמייצג את היציאה שרוצים לציין. | 0 |
|
מדפיסה הודעות ניפוי באגים כאשר מפעילים מניעה הדדית (mutex) למשך זמן רב מדי. אם השדה הזה צוין, רמת החומרה של היומנים מוגדרת באופן אוטומטי ל-trace, שכוללת יומני מעקב, יומני ניפוי באגים, יומני מידע, יומני אזהרות ויומני שגיאות. |
ערך בוליאני: true, false. |
false |
|
יוצאת מהתוכנית כשמזוהות הפרות של משתנים קבועים פנימיים. | ערך בוליאני: true, false. |
false |
|
שולטת בתהליך של נתיב הכתיבה, כך שהנתונים מועלים ישירות ל-Cloud Storage בזמן הכתיבה, במקום להעלות אותם ל-close() או ל-fsync() אחרי שהם נכתבים במלואם במחסן ביניים (Stage) מקומי.
מידע נוסף על כתיבה בסטרימינג זמין בקטע Reads/Writes במאמרי העזרה של Cloud Storage FUSE ב-GitHub. |
ערך בוליאני: true, false. |
true |
|
המדיניות מציינת את המספר המקסימלי של מקטעי נתונים שזמינים לכתיבה בסטרימינג בכל הקבצים. כברירת מחדל, כל קובץ משתמש במקטע נתונים אחד של 32MiB. |
|
|
|
מציין אחזור מראש אסינכרוני של חלקים מאובייקט ב-Cloud Storage למאגר נתונים זמני (buffer) בזיכרון, כך שפעולות קריאה עוקבות יתבצעו ממאגר הנתונים הזמני במקום לדרוש קריאות לרשת. | ערך בוליאני: true, false |
false |
|
מציינת את המספר המקסימלי של בלוקים שזמינים לקריאות במאגר נתונים זמני בכל נקודות הטיפול בקבצים. |
|
40 |
|
מחיל קבוצה מוגדרת מראש ואופטימלית של הגדרות Cloud Storage FUSE לשמירה במטמון, ל-threading ולגודל שטח האחסון הזמני, כדי לעזור לכם להשיג ביצועים גבוהים עבור סוג ספציפי של עומס עבודה, כמו אימון, הכנסה לשימוש בסביבת הייצור ונקודות ביקורת. למידע נוסף על כל הגדרה מוגדרת מראש שמבוססת על סוג עומס העבודה, קראו את המאמר הגדרות מבוססות-פרופיל לעומסי עבודה של AI/ML. |
|
"" |