קובץ תצורה של 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) בשניות של רשומות במטמון הנתונים הסטטיסטיים השליליים, שמאחסן במטמון תוצאות של קבצים שלא קיימים. |
|
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 שניות. | מספר בשיטת נקודה צפה. הערך -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 בזמן הכתיבה, במקום להעלות אותם אחרי שהם נכתבים במלואם במחסן ביניים (Stage) מקומי באמצעות close() או fsync().
מידע נוסף על כתיבה בסטרימינג זמין במאמר קריאות/כתיבות במאמרי העזרה של Cloud Storage FUSE ב-GitHub. |
ערך בוליאני: true, false. |
true |
|
מציינת את המספר המקסימלי של מקטעי נתונים שזמינים לכתיבה בסטרימינג בכל הקבצים. כברירת מחדל, כל קובץ משתמש במקטע נתונים אחד של 32MiB. |
|
|
|
מציין אחזור מראש אסינכרוני של חלקים מאובייקט ב-Cloud Storage למאגר נתונים (buffer) בזיכרון, כך שפעולות קריאה עוקבות יתבצעו ממאגר הנתונים במקום לדרוש קריאות לרשת. | ערך בוליאני: true, false |
false |
|
מציינת את המספר המקסימלי של בלוקים שזמינים לקריאות במאגר נתונים זמני בכל נקודות האחיזה של הקבצים. |
|
40 |
|
הגדרה שמחילה קבוצה מוגדרת מראש של הגדרות אופטימליות של Cloud Storage FUSE לשמירה במטמון, ל-threading ולשטח אחסון זמני, כדי לעזור לכם להשיג ביצועים גבוהים בסוג ספציפי של עומס עבודה, כמו אימון, הצגת מודעות ונקודות ביקורת. למידע נוסף על כל הגדרה מוגדרת מראש שמבוססת על סוג עומס העבודה, קראו את המאמר הגדרות מבוססות-פרופיל לעומסי עבודה של AI/ML. |
|
"" |