במאמר הזה מתוארות האפשרויות של הפקודה gcsfuse שמשמשות לאינטראקציה עם Cloud Storage FUSE. אם אתם משתמשים במנהל התקן ה-CSI של Cloud Storage FUSE כדי לטעון את הקטגוריות שלכם למערכת הקבצים המקומית ב-Google Kubernetes Engine, כדאי לעיין במאמר בנושא אפשרויות טעינה של מנהל התקן ה-CSI של Cloud Storage FUSE.
ממשק שורת הפקודה (CLI) של Cloud Storage FUSE, או gcsfuse CLI, משמש לטעינת קטגוריות של Cloud Storage כמערכות קבצים במחשב מקומי.
מבנה הפקודות ב-CLI: gcsfuse
בדוגמה הבאה מוצג המבנה של הפקודה gcsfuse, כולל פקודות חובה ואפשרויות gcsfuse אופציונליות.
gcsfuse GLOBAL_OPTIONS BUCKET_NAME MOUNT_POINT
מחליפים את מה שכתוב בשדות הבאים:
GLOBAL_OPTIONSהןgcsfuseהאפשרויות שקובעות את אופן הגדרת הטעינה ואת התנהגות Cloud Storage FUSE.
BUCKET_NAMEהוא שם הקטגוריה שצריך לטעון. לדוגמה,my-mount-bucket. אופציונלי. כדי לבצע טעינה דינמית, לא כוללים שם של קטגוריה בפקודה הזו.
MOUNT_POINTהיא הספרייה המקומית שאליה תטענו את הקטגוריה. לדוגמה,/path/to/mount/point.
gcsfuse אפשרויות CLI
אפשרות gcsfuse |
תיאור | ערך תקין | ערך ברירת המחדל |
|---|---|---|---|
|
השבתת האימות של בקשות. צריך להגדיר את האפשרות הזו אם משתמשים בנקודת קצה מותאמת אישית שלא תומכת באימות. צריך להגדיר את האפשרות הזו גם אם משתמשים ב-Cloud Storage FUSE עם קטגוריות ציבוריות. | ערך בוליאני: true, false. |
false |
|
שם האפליקציה של הטעינה. | ערך מחרוזת, לדוגמה: my-bucket-mount. |
"" |
|
מציינת איזה פרויקט צריך להשתמש לחיוב כשמתבצעת גישה לקטגוריה שהוטענה. האפשרות הזו נחוצה לרוב במהלך טעינת קטגוריה שמופעלת באמצעות התכונה מגיש הבקשה משלם. | ערך מחרוזת שמייצג מזהה פרויקט. | "" |
|
המדיניות הזו מפעילה את המטמון של הקבצים ומציינת את הספרייה לאחסון נתוני המטמון של הקבצים. |
נתיב, לדוגמה: /tmp/gcsfuse-cache-path. ערך ריק מציין שהאפשרות הזו מושבתת. האפשרות הזו gcsfuse מושבתת כברירת מחדל. |
"" |
|
מציינת באמצעות איזה פרוטוקול תתבצע התקשורת עם הקצה העורפי של Cloud Storage. |
|
http1 |
|
מייצאת מדדים ל-Cloud Monitoring במרווח הזמן שצוין. |
מספר שלם שמייצג ערך בשניות, לדוגמה: 10 (10 שניות).
הערך 0 מציין שלא יתבצע ייצוא. |
0 |
|
מציינת את הנתיב אל קובץ התצורה שבו רוצים להשתמש כדי להגדיר את ההתנהגויות של Cloud Storage FUSE. | נתיב, לדוגמה: /etc/gcsfuse.yaml. |
"" |
|
מציינת נקודת קצה (endpoint) מותאמת אישית חלופית לאחזור נתונים.
נקודת הקצה המותאמת אישית חייבת לתמוך בפעולות ובמשאבים המקבילים לאלה של נקודת הקצה של JSON ב-Cloud Storage, storage.UNIVERSE_DOMAIN_NAME:443.
אם לא מציינים נקודת קצה מותאמת אישית, Cloud Storage FUSE משתמש בנקודת הקצה הגלובלית ל-API בפורמט JSON ב-Cloud Storage, storage.googleapis.com:443.
אם נקודת הקצה המותאמת אישית שציינתם לא תומכת באימות, צריך להגדיר את האפשרות --anonymous-access gcsfuse לערך true כדי לעקוף את האימות. |
נקודת קצה, לדוגמה: storage.googleapis.com:443. |
"" |
|
מפעילה פלט ניפוי באגים שקשורים ל-FUSE. האפשרות הזו הוחלפה באפשרות
--log-severity gcsfuse. כדי להפעיל פלט של ניפוי באגים, מגדירים את האפשרות --log-severity gcsfuse לערך trace, שכולל יומני מעקב, ניפוי באגים, מידע, אזהרה ושגיאה. |
ערך בוליאני: true, false. |
false |
|
מדפיסה מידע בנוגע לבקשה ולתזמון של Cloud Storage. האפשרות gcsfuse הוחלפה באפשרות --log-severity gcsfuse. כדי להפעיל פלט של ניפוי באגים, מגדירים את האפשרות --log-severity gcsfuse לערך trace, שכולל יומני מעקב, ניפוי באגים, מידע, אזהרה ושגיאה. |
ערך בוליאני: true, false. |
false |
|
יוצאת מהתוכנית כשמזוהות הפרות של משתנים קבועים פנימיים. | ערך בוליאני: true, false. |
false |
|
מדפיסה הודעות ניפוי באגים כאשר מפעילים מניעה הדדית (mutex) למשך זמן רב מדי. אם מציינים את האפשרות gcsfuse, דרגת החומרה של היומנים מוגדרת אוטומטית ל-trace, שכוללת יומני מעקב, ניפוי באגים, מידע, אזהרה ושגיאה. |
ערך בוליאני: true, false. |
false |
|
ביטים של הרשאות לספריות, על בסיס אוקטלי. | מספר שלם בין 000 ל-777 (כולל). |
755 |
|
הגדרה של אחזור מראש אסינכרוני של חלקים מאובייקט ב-Cloud Storage למאגר זמני בזיכרון, כדי שקריאות עוקבות יתבצעו מהמאגר הזמני במקום לדרוש קריאות לרשת. | ערך בוליאני: true, false |
false |
|
יוצרת רשומה במטמון של נתוני type עם הסוג NonexistentType אם קובץ לא נמצא ב-Cloud Storage. אם הקובץ נוצר ב-Cloud Storage אבל הרשומה NonexistentType של הקובץ שמורה במטמון, Cloud Storage FUSE לא יכול לבקש את הקובץ עד שהרשומה NonexistentType תוסר ממטמון של נתוני type. |
ערך בוליאני: true, false. |
false |
|
הפרמטר הזה שולט בזרימת נתיב הכתיבה, כך שהנתונים מועלים ישירות ל-Cloud Storage בזמן הכתיבה, במקום לאחסן את הכתיבה באופן מלא במחסן ביניים מקומי ולהעלות אותה אחרי close() או fsync().
מידע נוסף על כתיבה בסטרימינג אפשר למצוא במאמר הסמנטיקה של Cloud Storage FUSE במאמרי העזרה של Cloud Storage FUSE GitHub. |
ערך בוליאני: true, false. |
true |
|
המדיניות הזו קובעת את הגודל המקסימלי ב-MiB שבו מטמון הקבצים יכול להשתמש, ומאפשרת להגביל את הקיבולת הכוללת שבה מטמון הקבצים יכול להשתמש בספרייה המותקנת שלו. |
|
-1 |
|
האפשרות הזו קובעת אם האובייקט המלא יורד באופן אסינכרוני ויאוחסן בספריית המטמון של Cloud Storage FUSE, כשהקריאה הראשונה מסתיימת מהיסט שאינו אפס. צריך להגדיר את האפשרות הזו gcsfuse לערך true אם מתכננים לבצע כמה קריאות אקראיות או קריאות חלקיות.
|
ערך בוליאני: true, false. |
false |
|
מציין את הגודל של כל בקשת קריאה ב-MiB שכל goroutine שולחת ל-Cloud Storage כשמורידים את האובייקט למטמון הקבצים. | מספר שלם | 200 |
|
האצת קריאה של קבצים גדולים באמצעות ספריית מטמון הקבצים כמאגר אחזור מראש, תוך שימוש בכמה תהליכי עבודה להורדה מקבילה של כמה חלקים של קובץ. ההורדות המקבילות מופעלות אוטומטית כשמפעילים שמירת קבצים במטמון. מידע נוסף על שמירת קבצים במטמון זמין במאמר שמירת קבצים במטמון ב-Cloud Storage FUSE. |
ערך בוליאני: true, false. |
true |
|
ביטוי רגולרי שמציין קבצים שיוחרגו מהשמירה במטמון.
אם קובץ תואם לביטוי הרגולרי הזה, הוא לא נשמר במטמון, גם אם הוא תואם גם ל---file-cache-include-regex.
הביטוי הרגולרי מותאם לנתיבי קבצים בפורמט
bucket_name/object_key. מידע נוסף זמין במאמר בנושא שליטה באפשרות השמירה במטמון ברמת הקובץ באמצעות ביטויים רגולריים. |
ערך מחרוזת שמייצג ביטוי רגולרי. | "" |
|
ביטוי רגולרי שמציין אילו קבצים לכלול בשמירה במטמון. אם משתמשים באפשרות הזו, רק קבצים שתואמים לביטוי הרגולרי הזה נשמרים במטמון.
הביטוי הרגולרי מותאם לנתיבי קבצים בפורמט
bucket_name/object_key. מידע נוסף זמין במאמר בנושא שליטה באפשרות השמירה במטמון ברמת הקובץ באמצעות ביטויים רגולריים. |
ערך מחרוזת שמייצג ביטוי רגולרי. | "" |
|
המספר המקסימלי של goroutines שאפשר ליצור בכל זמן נתון בכל משימות ההורדה של הקבצים. |
|
פי שניים ממספר ליבות המעבד במחשב או 16, הגבוה מביניהם. |
|
מספר בקשות ההורדה בו-זמנית לכל קובץ. | מספר שלם | 16 |
|
מציינת ביטים של הרשאות לקבצים, על בסיס אוקטלי. | מספר שלם בין 000 ל-777 (כולל). |
644 |
|
מריצה את הפקודה gcsfuse בחזית. |
ערך בוליאני: true, false. |
false |
|
מציינת מי הבעלים של מזהה הקבוצה (GID) של כל צמתי inode. |
|
-1 |
|
מציגה עזרה לגבי Cloud Storage FUSE. | ללא | ללא |
|
מציגה את גרסת Cloud Storage FUSE שהתקנתם. | ללא | ללא |
|
מציינת כמה זמן צד הלקוח ב-HTTP ב-Cloud Storage FUSE יכול לחכות לקבלת תשובה מהשרת לפני שהזמן הקצוב יסתיים. | משך, לדוגמה: 1h10m10s למשך שעה, 10 דקות ו-10 שניות. 0s מציין שאין זמן קצוב לתפוגה. |
0s |
|
הפקודה הזו גורמת ל-Cloud Storage FUSE להתעלם מאותות הפרעה של המערכת, כמו SIGINT שמופעל על ידי Control+C. כך לא יבוטלו פעולות שמתבצעות כרגע. |
ערך בוליאני: true, false. |
true |
|
כולל באופן מרומז תיקיות ותיקיות מנוהלות. מידע נוסף זמין במאמר קבצים וספריות במאמרי העזרה של Cloud Storage FUSE GitHub. | ערך בוליאני: true, false. |
false |
|
ההגדרה הזו מפעילה את מטמון הרשימה ומגדירה את אורך החיים (TTL) בשניות של רשומות רשימה שנשמרו במטמון. המטמון של הרשימה נשמר בזיכרון במטמון הדפים, שמנוהל על ידי ליבת המערכת על סמך הזיכרון הזמין. |
|
0 |
|
מציינת נתיב מוחלט לקובץ מפתח ה-JSON של פרטי הכניסה לצורך אימות בקשות ב-Cloud Storage. כברירת מחדל, אימות הבקשות ב-Cloud Storage FUSE מתבצע באמצעות Application Default Credentials. | נתיב, לדוגמה: /home/example_user/gcloud-key.json. |
אם האפשרות הזו לא מוגדרת, נעשה שימוש בפרטי הכניסה שמוגדרים כברירת מחדל באפליקציה. |
|
מציינת את מגבלת רוחב הפס שבה Cloud Storage FUSE יכול לקרוא נתונים מ-Cloud Storage. היא נמדדת במשך חלון זמן של 30 שניות. | מספר נקודה צפה. -1 מציין שאין מגבלה. |
-1 |
|
מציינת מגבלת ביצוע של מספר הפעולות לשנייה, שנמדדת במשך חלון זמן של 30 שניות. | מספר נקודה צפה. -1 מציין שאין מגבלה. |
-1 |
|
מציינת את הקובץ לאחסון יומנים שאפשר לנתח באמצעות Fluentd. | נתיב, לדוגמה: /tmp/user-example-bucket-gcsfuse-logs.txt. |
stdout כש-Cloud Storage FUSE פועל בחזית או syslog כש-Cloud Storage FUSE פועל ברקע |
|
מציינת את הפורמט של קובץ היומן. |
|
json |
|
המספר המקסימלי של קובצי יומן מסובבים שיישארו, לא כולל הקובץ הפעיל שבו נרשמים היומנים. |
|
10 |
|
ההגדרה קובעת אם קובצי יומן מסובבים יידחסו באמצעות gzip. |
ערך בוליאני: true, false. |
true |
|
הגודל המקסימלי במגה-בייט (MB) שקבצי יומן יכולים להגיע אליו לפני שהם עוברים רוטציה. | מספר שלם. הערך המינימלי הוא 1. |
512 |
|
רמת החומרה שרוצים ש-Cloud Storage FUSE ייצור עבורה יומנים. הסדר של רמות החומרה הוא מהנמוכה ביותר לגבוהה ביותר. לדוגמה, כשמציינים |
|
info |
|
מציינת את המספר המקסימלי של חיבורי TCP שמותרים לכל שרת.
האפשרות הזו מופעלת כאשר בשדה --client-protocol מגדירים את הערך http1. |
מספר שלם בין 0 לבין 2147483647.
הערך 0 מציין שאין הגבלה על חיבורי TCP. |
0 |
|
מציינת את המספר המקסימלי של חיבורים ללא פעילות שמותרים לכל שרת.
האפשרות הזו מופעלת כאשר בשדה --client-protocol מגדירים את הערך http1. |
מספר שלם בין 0 לבין 2147483647.
0 מציין שאין הגבלה על חיבורים ללא פעילות. |
0 |
|
מציינת את המספר המקסימלי של ניסיונות חוזרים לביצוע פעולה אם הפעולה נכשלת, כדי למנוע לולאות אינסופיות של ניסיונות חוזרים. |
|
0 |
|
מציינת את משך הזמן המקסימלי שבו Cloud Storage FUSE יכול להיות במצב שינה בלולאת ניסיון חוזר עם השהיה מעריכית לפני ניסיון חוזר (exponential backoff). אם משך ההשהיה לפני ניסיון חוזר חורג ממשך הזמן המקסימלי שצוין, הניסיון החוזר יימשך עם משך הזמן המקסימלי שצוין. | משך, לדוגמה: 1h5m50s (שעה אחת, 5 דקות ו-50 שניות) או 60s (60 שניות). |
30s |
|
המדיניות מגדירה את אורך החיים (TTL) בשניות של רשומות במטמון של נתוני stat שליליים, שמאחסן תוצאות של קבצים שלא קיימים במטמון. |
|
5 |
|
הגדרה שמגדירה את משך החיים (TTL) בשניות של רשומות מטא-נתונים ששמורות במטמון. |
|
60 |
|
מציינת אפשרויות טעינה נוספות שספציפיות למערכת. לרוב אפשרויות הטעינה הכלליות ב-FUSE, כמו suid, יש תמיכה ב-Cloud Storage FUSE, ואפשר להעביר אותן יחד עם האפשרות -o. |
אפשרויות טעינה ב-FUSE, לדוגמה:
|
"" |
|
טוענת רק ספרייה ספציפית מתוך קטגוריה. | נתיב, לדוגמה: /etc/gcsfuse.yaml. |
"" |
|
האפשרות הזו מחילה קבוצה מוגדרת מראש ואופטימלית של הגדרות Cloud Storage FUSE לשמירה במטמון, לשרשור ולגדלי מאגרים, כדי לעזור לכם להשיג ביצועים גבוהים לסוג ספציפי של עומס עבודה, כמו אימון, הצגה ונקודות ביקורת. מידע נוסף על כל הגדרה מוגדרת מראש על סמך סוג עומס העבודה זמין במאמר בנושא הגדרות מבוססות-פרופיל לעומסי עבודה של AI/ML. |
|
"" |
|
חושף את נקודת הקצה של מדדי Prometheus ביציאה ובנתיב |
מספר שלם שמייצג את היציאה שרוצים לציין. | 0 |
|
מציין את המספר המקסימלי של בלוקים שזמינים לקריאות עם מאגר זמני בכל ידיות הקבצים. |
|
40 |
|
מאפשרת לשנות את השם של ספריות שמכילות פחות צאצאים מהמגבלה שצוינה. | מספר שלם בין 0 לבין 2147483647. |
0 |
|
מציינת את המכפיל להשהיה מעריכית לפני ניסיון חוזר בין ניסיונות חוזרים עוקבים. | מספר בשיטת נקודה צפה. | 2 |
|
ההגדרה מציינת אם לעשות שימוש חוזר באסימון שהתקבל מ---token-url. |
ערך בוליאני: true, false. |
true |
|
מציינת את גודל המקטע של הנתונים להורדה מ-Cloud Storage, ביחידות מגה-בייט (MB). | מספר שלם בין 1 לבין 1024. |
200 |
|
מציינת את מספר הרשומות שאפשר לשמור במטמון של נתוני stat. האפשרות gcsfuse הוחלפה באפשרות --stat-cache-max-size-mb gcsfuse. |
מספר שלם | 4096 |
|
הגודל המקסימלי של הזיכרון שבו מטמון הנתונים הסטטיסטיים יכול להשתמש, ב-MiB. מטמון הנתונים הסטטיסטיים תמיד נשמר כולו בזיכרון. |
|
32 |
|
מציינת למשך כמה זמן לשמור במטמון תוצאות של StatObject ומאפיינים של inode. האפשרות הזו הוחלפה באפשרות --metadata-cache-ttl-secs gcsfuse. |
משך, לדוגמה: 20s (20 שניות). |
60s |
|
מציינת נתיב לספרייה הזמנית לאחסון הנתונים שנכתבים במחסן ביניים (Stage) לפני ההעלאה ל-Cloud Storage. | נתיב, לדוגמה: /mnt/ssd/example-user-gcsfuse-temp-dir. |
|
|
מציינת כתובת URL לקבלת אסימון גישה
כש---key-file חסר. |
כתובת URL. | "" |
|
מציינת למשך כמה זמן לשמור במטמון את המיפוי בין שמות וקבצים או ספריות בצמתי inode של ספריות, בשניות. האפשרות gcsfuse הוחלפה באפשרות --metadata-cache-ttl-secs gcsfuse. |
משך בשניות, לדוגמה: 20s (20 שניות). |
60s |
|
הגודל המקסימלי ב-MiB לכל ספרייה שבה יכול מטמון הסוג להשתמש. מטמון הסוגים תמיד נשמר כולו בזיכרון. |
|
4 |
|
מציינת מי הבעלים של מזהה המשתמש (UID) של כל צמתי ה-inode. |
|
-1 |
|
מציין את המספר המקסימלי של נתונים שזמינים להזרמה לכתיבה בכל הקבצים. כברירת מחדל, כל קובץ משתמש במקטע נתונים אחד של 32 מיביבייט. |
|
|