Cloud Storage FUSE

במאמר הזה מובאת סקירה כללית של Cloud Storage FUSE, מתאם למערכת קבצים מסוג FUSE שמאפשר לטעון קטגוריות של Cloud Storage ולגשת אליהן כמערכות קבצים מקומיות, כדי שאפליקציות יוכלו לקרוא ולכתוב אובייקטים בקטגוריה שלכם באמצעות סמנטיקה של מערכת קבצים רגילה.

התיעוד הזה תמיד משקף את הגרסה העדכנית של Cloud Storage FUSE. פרטים על הגרסה האחרונה זמינים במאמר בנושא מהדורות של Cloud Storage FUSE ב-GitHub.

‫Cloud Storage FUSE הוא מוצר בקוד פתוח שנתמך על ידי Google. ‫Cloud Storage FUSE משתמש בממשקי API של FUSE ושל Cloud Storage כדי להציג קטגוריות כתיקיות שטעונות באופן מקומי במערכת הקבצים שלכם, באופן שקוף.

כדי להשתמש ב-Cloud Storage FUSE, צריך להתקין את חבילת Cloud Storage FUSE במכונה עם מערכת הפעלה תואמת, כמו Linux או Windows Subsystem for Linux, לוודא ש Google Cloud האימות וההרשאות מוגדרים בצורה נכונה, ואז להריץ את הפקודה gcsfuse כדי לטעון קטגוריית Cloud Storage ספציפית לספרייה מקומית.

‫Cloud Storage FUSE משולב עם שירותים אחרים. Google Cloud לדוגמה, מנהל ההתקן של ה-CSI של Cloud Storage FUSE מאפשר להשתמש ב-API של Google Kubernetes Engine‏ (GKE) כדי לצרוך קטגוריות כנפחי אחסון וכך לקרוא ולכתוב ב-Cloud Storage מתוך קבוצות Pod של Kubernetes. מידע נוסף על אינטגרציות אחרות מופיע במאמר אינטגרציות.

איך פועל Cloud Storage FUSE

‫Cloud Storage FUSE פועל על ידי תרגום שמות של אחסון אובייקטים למבנה שמזכיר ספריות, תוך כדי התייחסות לתו הלוכסן (/) בשמות האובייקטים כמפריד בין ספריות. המערכת מתייחסת לאובייקטים עם אותו קידומת משותפת כאל קבצים באותה ספרייה, וכך מאפשרת לאפליקציות ליצור אינטראקציה עם הקטגוריה הטעונה כמו עם מערכת קבצים. אפשר גם לארגן את האובייקטים במבנה לוגי של מערכת קבצים באמצעות מרחב שמות היררכי, שמאפשר לארגן את האובייקטים בתיקיות.

אפשר להריץ את Cloud Storage FUSE מכל מקום שיש בו קישוריות ל-Cloud Storage, כולל מ-Google Kubernetes Engine, ממכונות וירטואליות של Compute Engine וממערכות מקומיות.

‫Cloud Storage FUSE ללמידת מכונה

‫Cloud Storage FUSE שימושי במיוחד בתרחישים לדוגמה שבהם המאפיינים של Cloud Storage מתאימים מבחינת ביצועים ומדרגיות לאפליקציות שנדרשת בהן סמנטיקה של מערכת קבצים. לדוגמה, Cloud Storage FUSE מתאים לפרויקטים של למידת מכונה (ML) כי הוא מאפשר לאחסן נתונים, מודלים, נקודות ביקורת ויומנים ישירות ב-Cloud Storage. מידע נוסף מופיע במאמר בנושא Cloud Storage FUSE לעומסי עבודה של למידת מכונה.

הרבה מפתחים בוחרים לעבוד עם מערכת Cloud Storage FUSE כדי לאחסן נתוני אימון ומודלים של למידת מכונה (ML) ולגשת אליהם בתור אובייקטים ב-Cloud Storage. יש כמה יתרונות לפיתוח פרויקטים של למידת מכונה (ML) ב-Cloud Storage FUSE:

  • כשעובדים עם Cloud Storage FUSE, אפשר להתקין קטגוריות של Cloud Storage בתור מערכת קבצים מקומית, כך שהאפליקציות יכולות להשתמש בסמנטיקה סטנדרטית של מערכת קבצים כדי לגשת לנתוני האימון ולמודלים. כך תחסכו את העלויות של שכתוב או ארגון הקוד מחדש (Refactoring) באפליקציה שלכם כשאתם משתמשים ב-Cloud Storage לאחסון נתוני למידת מכונה (ML).

  • עם Cloud Storage FUSE תוכלו ליהנות מהיתרונות של Cloud Storage כמו יכולת ההתאמה הגבוהה, הביצועים והיעילות הכלכלית, ולהריץ את עומסי העבודה (workloads) שלכם ללמידת מכונה (ML) בקנה מידה רחב, החל משלב האימון ועד להסקת המסקנות.

  • בעזרת Cloud Storage FUSE תוכלו להפעיל משימות אימון במהירות באמצעות משאבי מחשוב שיש להם גישה ישירה לנתונים ב-Cloud Storage, כך שלא תצטרכו להוריד נתוני אימון למשאב המחשוב.

מידע נוסף זמין במאמר Frameworks, מערכות הפעלה וארכיטקטורות שנתמכים על ידי Cloud Storage FUSE.

Frameworks, מערכות הפעלה וארכיטקטורות

המסגרות הבאות אומתו עם Cloud Storage FUSE:

  • TensorFlow V2.x

  • ‫TensorFlow V1.x

  • PyTorch V2.x

  • PyTorch V1.x

  • ‫JAX 0.4.x

‫Cloud Storage FUSE תומך במערכות ההפעלה ובארכיטקטורות הבאות:

  • ‫Rocky Linux 8.9 ואילך

  • ‫Ubuntu 18.04 ואילך

  • ‫Debian 10 ואילך

  • ‫CentOS 7.9 ואילך

  • ‫RHEL 7.9 ואילך

  • ‫SLES 15 ואילך

  • x86_64

  • ARM64

שילובים עם מוצרים אחרים של Google Cloud

‫Cloud Storage FUSE משולב עם המוצרים הבאים Google Cloud :

מוצר אופן השילוב עם Cloud Storage FUSE
AI Hypercomputer

מומלץ להשתמש ב-Cloud Storage FUSE בתרחישים לדוגמה של AI ו-ML, כי הוא מאפשר לטעון קטגוריות בתור מערכות קבצים מקומיות ולהרחיב את נפח אחסון הנתונים בצורה חסכונית יותר מאשר שירותים של מערכות קבצים. מידע נוסף מופיע במאמר בנושא שירותי אחסון.

Batch

כשיוצרים ומריצים משימות Batch,‏ Cloud Storage FUSE מאפשר לטעון קטגוריות של Cloud Storage כנפחי אחסון. אתם יכולים לציין קטגוריה בהגדרת משימה, והקטגוריה תצורף אוטומטית למכונות הווירטואליות של המשימה כשהמשימה תפעל.

Cloud Composer

כשיוצרים סביבה, Cloud Composer שומר את קוד המקור של תהליכי העבודה והתלות שלהם בתיקיות ספציפיות בקטגוריה של Cloud Storage. ‫Cloud Composer משתמש ב-Cloud Storage FUSE כדי למפות את התיקיות בקטגוריה לרכיבי Airflow בסביבת Cloud Composer.

Cloud Run

‫Cloud Run מאפשר לכם לטעון קטגוריה של Cloud Storage כנפח אחסון ולהציג את התוכן של הקטגוריה כקבצים במערכת הקבצים של הקונטיינר. הוראות להגדרת טעינת נפח אחסון מופיעות במאמר טעינת נפח אחסון של Cloud Storage.

Cluster Toolkit

בעזרת Cluster Toolkit אפשר ליצור קטגוריה של Cloud Storage או לטעון אותה כמערכת קבצים. אפשר לציין את הקטגוריה בקובץ YAML של תוכנית בסיסית באמצעות המודול המתאים. המאגר נוצר אוטומטית או מותקן כשהפריסה מופעלת.

Dataflow

כשמשתמשים ב-Cloud Storage FUSE כדי לטעון קטגוריות של Cloud Storage ישירות למערכת הקבצים של העובד, קוד צינור עיבוד הנתונים של Apache Beam שמוטמע ב-Dataflow יכול לגשת לקבצים ב-Cloud Storage ישירות באמצעות סמנטיקה סטנדרטית של מערכת קבצים. האפשרות הזו שימושית במיוחד כשמשתמשים ב-Dataflow למשימות AI/ML שכוללות מערכי נתונים גדולים ותוכנה שדורשת גישה לקבצים.

קונטיינרים של למידה עמוקה (Deep Learning)

כדי לטעון קטגוריות של Cloud Storage לקונטיינרים של למידה עמוקה (Deep Learning), תוכלו להשתמש במנהל התקן ה-CSI של Cloud Storage FUSE (מומלץ) או להתקין את Cloud Storage FUSE.

קובצי אימג' של מכונות VM ללמידה עמוקה (Deep Learning)

מערכת Cloud Storage FUSE מותקנת מראש עם קובצי אימג' של מכונות VM ללמידה עמוקה (Deep Learning).

Google Kubernetes Engine (GKE)‎

מנהל התקן ה-CSI של Cloud Storage FUSE מנהל את השילוב בין Cloud Storage FUSE ל-Kubernetes API כדי לצרוך נפחי אחסון באמצעות קטגוריות של Cloud Storage. אפשר להשתמש במנהל התקן ה-CSI של Cloud Storage FUSE כדי לטעון קטגוריות בתור מערכות קבצים בצמתים של Google Kubernetes Engine.

אימון של Vertex AI

כשמבצעים אימון בהתאמה אישית ב-Vertex AI, אפשר לגשת לנתונים מקטגוריה של Cloud Storage בתור מערכת קבצים שנטענה. מידע נוסף זמין במאמר קריאה וכתיבה של קובצי Cloud Storage באמצעות Cloud Storage FUSE.

Vertex AI Workbench

מכונות של Vertex AI Workbench כוללות שילוב של Cloud Storage שמאפשר לכם לעיין בקטגוריות ולעבוד עם קבצים תואמים שנמצאים ב-Cloud Storage מתוך הממשק של JupyterLab. השילוב עם Cloud Storage מאפשר לכם לגשת לכל הקטגוריות והקבצים ב-Cloud Storage שהמופע שלכם יכול לגשת אליהם באותו פרויקט כמו המופע של Vertex AI Workbench. הוראות להגדרת האינטגרציה מופיעות במאמר איך ניגשים לקטגוריות ולקבצים של Cloud Storage ב-JupyterLab ב-Vertex AI Workbench.

במאמר שילוב עם שירותים וכלים תוכלו למצוא רשימה של מוצרים אחרים שמשולבים עם Cloud Storage. Google Cloud Google Cloud

שמירה במטמון

ב-Cloud Storage FUSE יש ארבעה סוגים של שמירה במטמון שעוזרים לשפר את הביצועים ולהפחית את העלויות: שמירה במטמון של קבצים, שמירה במטמון של נתוני stat, שמירה במטמון של סוגים ושמירה במטמון של רשימות. מידע נוסף על המטמונים האלה זמין במאמר סקירה כללית על שמירה במטמון.

סמנטיקה של ספריות

‫Cloud Storage מציע קטגוריות עם מרחב שמות שטוח וקטגוריות עם מרחב שמות היררכי. כברירת מחדל, Cloud Storage FUSE יכול לזהות ספריות שהוגדרו במפורש, שנקראות גם תיקיות, בקטגוריות שמופעל בהן מרחב שמות היררכי. אבל הוא לא יכול לזהות ספריות שהוגדרו במרומז בקטגוריות עם מרחב שמות שטוח, כולל תיקיות מדומה ותיקיות מנוהלות.

ספריות שהוגדרו במפורש הן תיקיות שמיוצגות על ידי אובייקטים משלהן בקטגוריות של Cloud Storage. ספריות שמוגדרות במרומז הן ספריות שאין להן אובייקטים תואמים משלהן בקטגוריות של Cloud Storage.

לדוגמה, נניח שאתם טוענים קטגוריה בשם my-bucket שמכילה אובייקט בשם my-directory/my-object.txt, כאשר my-directory/ היא תיקייה מדומה. כשמריצים את ls בנקודת הטעינה של הקטגוריה, כברירת מחדל, ל-Cloud Storage FUSE אין גישה לספרייה המדומה my-bucket/my-directory/ או לאובייקט my-object.txt שבתוכה. כדי לאפשר ל-Cloud Storage FUSE לזהות את התיקייה המדומה ואת האובייקט שבתוכה, צריך לכלול את האפשרות --implicit-dirs gcsfuse או את השדה implicit-dirs בקובץ ההגדרות כחלק מהפקודה gcsfuse mount כשמטעינים קטגוריה עם מרחב שמות שטוח.

אם אתם צריכים לאחסן את הנתונים שלכם ולגשת אליהם באמצעות מערכת קבצים, אתם יכולים להשתמש בקטגוריות עם מרחב שמות היררכי מופעל. במאמר יצירת קטגוריות עם מרחב שמות היררכי מופעל מוסבר איך ליצור קטגוריות כאלה.

מידע נוסף על סמנטיקה של ספריות, כולל הוראות לטעינה של קטגוריות עם ספריות שמוגדרות באופן מרומז, אפשר למצוא במאמר קבצים וספריות במאמרי העזרה של Cloud Storage FUSE GitHub.

אסטרטגיות של ניסיונות חוזרים ב-Cloud Storage FUSE

כברירת מחדל, בקשות מ-Cloud Storage FUSE ל-Cloud Storage שנכשלו מתבצעות מחדש עם השהיה מעריכית לפני ניסיון חוזר (exponential backoff) עד למשך זמן מסוים, עם ערך ברירת מחדל של 30s (30 שניות). כשמשך ההשהיה לפני ניסיון חוזר חורג ממשך הזמן המקסימלי שצוין, הניסיון החוזר נמשך עם משך הזמן המקסימלי שצוין. אפשר להשתמש באפשרות --max-retry-sleep או בשדה gcs-retries:max-retry-sleep כחלק משליחת קריאה ל-gcsfuse mount כדי לציין את משך ההשהיה לפני ניסיון חוזר.

אסטרטגיה לניסיון חוזר לבקשות תקועות של GET או READ

כשמבצעים בקשת GET או READ באמצעות Cloud Storage FUSE, מוחל פרק זמן קצוב לתפוגה. אם הבקשה חורגת מתקופת הזמן הקצובה לתפוגה, Cloud Storage FUSE מבטל את הבקשה ומנסה שוב באמצעות אלגוריתם של השהיה מעריכית לפני ניסיון חוזר.

הזמן הקצוב לתפוגה הוא דינמי ומבוסס על השהייה באחוזון ה-99 של בקשות GET או READ קודמות שהושלמו או בוטלו, עם מינימום של 1.5 שניות. כך מוודאים שהמערכת תנסה שוב רק את 1% הבקשות הכי איטיות, כלומר אלה שחורגות מהחציון ה-99 של זמן האחזור ההיסטורי.

אסטרטגיה לניסיון חוזר של העלאות תקועות

העלאה של קבצים גדולים מתבצעת בחלקים. כדי להפחית את זמן האחזור של כתיבה בסוף התהליך, אם פעולת כתיבה ברמת הנתח נתקעת או נכשלת, Cloud Storage FUSE מנסה לבצע אותה מחדש אחרי 10 שניות. המערכת מבצעת עד ארבע פעולות ניסיון חוזר לכל נתח תקוע.

פעולות Cloud Storage FUSE שמשויכות לפעולות Cloud Storage

כל פעולה שמבצעים באמצעות Cloud Storage FUSE גורמת לביצוע הפעולות של Cloud Storage שקשורות לפעולה הזו. הטבלה הבאה מתארת פקודות נפוצות של Cloud Storage FUSE ואת הפעולות שמשויכות אליהן ב-API בפורמט JSON של Cloud Storage. אפשר להציג מידע על הפעולות של Cloud Storage FUSE על ידי הגדרת האפשרות --log-severity או השדה logging:severity לערך TRACE בפקודה gcsfuse.

פקודה הפעולות ב-API בפורמט JSON
gcsfuse --log-severity=TRACE example-bucket mp ‫Objects.list (לבדיקת פרטי הכניסה)
cd mp לא רלוונטי
ls mp Objects.list("")‎
mkdir subdir

Objects.get("subdir")

Objects.get("subdir/")

Objects.insert("subdir/")

cp ~/local.txt subdir/

Objects.get("subdir/local.txt")

Objects.get("subdir/local.txt/")

‫Objects.insert("subdir/local.txt"), כדי ליצור אובייקט ריק

‫Objects.insert("subdir/local.txt"), כשסוגרים לאחר סיום הכתיבה

rm -rf subdir

Objects.list("subdir")

Objects.list("subdir/")

Objects.delete("subdir/local.txt")

Objects.list("subdir/")

Objects.delete("subdir/")

מדדים

‫Cloud Storage מציע מדדים מפורטים שיכולים לעזור לכם לשפר את הביצועים של Cloud Storage FUSE ולהוזיל את העלויות. מידע נוסף על מדדים של Cloud Storage FUSE זמין במאמר מדדים של Cloud Storage FUSE.

אבטחה

ב-Cloud Storage FUSE, האימות הרגיל של Google Cloudמתבצע באמצעות Application Default Credentials כדי לזהות משתמשים או חשבונות שירות. הגישה לתוכן בקטגוריות נשלטת על ידי הרשאות ניהול זהויות והרשאות גישה. הרשאות המערכת המקומית מאבטחות את נקודת הטעינה עצמה ואת כל הנתונים שנשמרו במטמון באופן מקומי.

התמחור של Cloud Storage FUSE

‫Cloud Storage FUSE זמין בחינם, אבל על האחסון, המטא-נתונים והקלט/פלט ברשת שהוא יוצר ב-Cloud Storage ומקבל ממנו יש חיוב כמו בכל ממשק אחר של Cloud Storage. כלומר, העברות הנתונים והפעולות של Cloud Storage FUSE עוברות מיפוי ב-Cloud Storage ומחויבות בהתאם. מידע נוסף על פעולות נפוצות ב-Cloud Storage FUSE ועל אופן המיפוי שלהן לפעולות של Cloud Storage מופיע במאמר מיפוי פעולות.

כדי להימנע מהפתעות לא נעימות כדאי להעריך מראש מה יהיו התוצאות של מיפוי השימוש שלכם ב-Cloud Storage FUSE לחיובים של Cloud Storage. לדוגמה, אם אתם משתמשים ב-Cloud Storage FUSE כדי לאחסן קובצי יומן, יכול להיות שתצברו חיובים במהירות אם מתבצעת כתיבה אגרסיבית ליומנים של מאות או אלפי מכונות בו-זמנית.

במאמר תמחור של Cloud Storage אפשר למצוא מידע על חיובים כמו אחסון, שימוש ברשת ופעולות.

מגבלות

ל-Cloud Storage FUSE יש ממשק של מערכת קבצים, אבל הוא שונה ממערכת הקבצים NFS או CIFS בקצה העורפי. בנוסף, Cloud Storage FUSE לא תואם ל-POSIX. מידע על מוצר של מערכות קבצים ל-POSIX ב- Google Cloudמופיע בדף Filestore.

כשמשתמשים ב-Cloud Storage FUSE, חשוב להכיר את המגבלות שלו ואת הסמנטיקה שלו, ששונה מזו של מערכות קבצים של POSIX. צריך להשתמש ב-Cloud Storage FUSE רק במסגרת היכולות שלו.

המגבלות של Cloud Storage FUSE וההבדלים בינו לבין מערכות הקבצים של POSIX

הרשימה הבאה מפרטת את המגבלות של Cloud Storage FUSE:

  • מטא-נתונים‏: Cloud Storage FUSE לא מעביר מטא-נתונים של אובייקטים כשמעלים קבצים ל-Cloud Storage, מלבד ליעדי mtime וקישור סימבולי. כלומר, אי אפשר להגדיר מטא-נתונים של אובייקט כשמעלים קבצים באמצעות Cloud Storage FUSE. אם צריך לשמור מטא-נתונים של האובייקטים, כדאי להעלות את הקבצים באמצעות Google Cloud CLI, ‏API בפורמט JSON או Google Cloud מסוף.
  • בו-זמניות (concurrency): כשמגדירים כמה נקודות הרכבה כדי לגשת לאותה קטגוריה של Cloud Storage, ושתי הרכבות או יותר מנסות לכתוב לאותו אובייקט של Cloud Storage בו-זמנית, ההרכבה הראשונה שמשלימה את פעולת הכתיבה ומבצעת בהצלחה את הסרת השינויים מהאובייקט נשמרת. בחיבורים אחרים שלא עדכנו את תיאורי הקבצים המקומיים שלהם אחרי שהאובייקט השתנה, תופיע שגיאת syscall.ESTALE כשמנסים לשמור את העריכות בגלל בדיקות של תנאים מוקדמים. כדי לוודא שהנתונים נכתבים באופן עקבי, אנחנו ממליצים מאוד לא להשתמש בכמה מקורות לשינוי אותו אובייקט.

    שימו לב: כמה קוראים יכולים לגשת לאותם אובייקטים או לאובייקטים שונים בתוך קטגוריה, וכמה כותבים יכולים לשנות אובייקטים שונים באותה קטגוריה בו-זמנית. כתיבה בו-זמנית לאותו אובייקט ב-Cloud Storage נתמכת מאותו טעינה ומתנהגת באופן דומה למערכות קבצים מובנות.

  • קישורים: Cloud Storage FUSE לא תומך בקישורים קשיחים.
  • נעילת קבצים ותיקון קבצים: Cloud Storage FUSE לא תומך בנעילת קבצים או בתיקון קבצים. כלומר אסור לאחסן מאגרים של מערכת לניהול גרסאות בנקודות טעינה של Cloud Storage FUSE, כי המערכות לניהול גרסאות מסתמכות על נעילה ותיקון של קבצים. בנוסף, אין להשתמש ב-Cloud Storage FUSE כתחליף לקובץ.
  • סמנטיקה: הסמנטיקה ב-Cloud Storage FUSE שונה מהסמנטיקה במערכת קבצים רגילה. לדוגמה, אין תמיכה במטא-נתונים כמו זמן הגישה האחרונה, וחלק מהפעולות של המטא-נתונים, כמו שינוי השם של הספרייה, אינן אטומיות אלא אם משתמשים בדליים עם מרחב שמות היררכי מופעל. רשימה של ההבדלים בין הסמנטיקה של Cloud Storage FUSE לסמנטיקה של מערכת קבצים רגילה מופיעה במאמר Cloud Storage FUSE semantics במאמרי העזרה של Cloud Storage FUSE GitHub. מידע על האופן שבו Cloud Storage FUSE מסיק ספריות ב-Cloud Storage זמין במאמר בנושא סמנטיקה של ספריות.
  • עומסי עבודה שמבצעים תיקון קבצים (או החלפת קבצים): Cloud Storage FUSE יכול לכתוב ב-Cloud Storage רק אובייקטים שלמים, ואין מנגנון לביצוע תיקונים. אם תנסו לתקן קובץ, Cloud Storage FUSE יטען מחדש את הקובץ כולו. היוצא מן הכלל היחיד הוא שאפשר לצרף תוכן בסוף קובץ בגודל 2MB ומעלה. במקרה כזה Cloud Storage FUSE יעלה רק את התוכן שצורף.
  • גישה: הרשאת הגישה לקבצים מנוהלת על ידי ההרשאות של Cloud Storage. בקרת הגישה בסגנון POSIX לא פועלת.
  • ביצועים: זמן האחזור ב-Cloud Storage FUSE ארוך בהרבה מזה של מערכת קבצים מקומית, ולכן לא כדאי להשתמש בו כקצה העורפי לאחסון מסד נתונים. התפוקה עשויה להיות נמוכה יותר בפעולות קריאה או כתיבה של קבצים קטנים בנפרד. שימוש בקבצים גדולים יותר או העברת כמה קבצים בו-זמנית יכולים להגביר את התפוקה.
  • זמינות: לפעמים כשמשתמשים ב-Cloud Storage FUSE כדי לגשת אל Cloud Storage עשויות לקרות שגיאות זמניות. מומלץ לבצע שוב פעולות שנכשלו באמצעות אסטרטגיות לניסיונות חוזרים.
  • ניהול גרסאות של אובייקטים: ב-Cloud Storage FUSE אין תמיכה רשמית בשימוש בקטגוריות שמופעל בהן ניהול גרסאות של אובייקטים. שימוש ב-Cloud Storage FUSE עם קטגוריות שמופעל בהן ניהול גרסאות של אובייקטים עלול לגרום להתנהגות בלתי צפויה.
  • קידוד מחדש של קובץ:

    אובייקטים עם content-encoding: gzip במטא-נתונים: אובייקט כזה בספרייה שטעונה על ידי Cloud Storage FUSE לא עובר המרת קידוד שמבטלת דחיסה. במקום זאת, האובייקט נשאר דחוס באותו אופן שבו הוא מאוחסן בקטגוריה.

    לדוגמה, קובץ בגודל 1,000 בייט, שהועלה לקטגוריה באמצעות הפקודה gcloud storage cp עם הדגל --gzip-local, עשוי להפוך לאובייקט Cloud Storage בגודל 60 בייט (הגודל בפועל לאחר הדחיסה תלוי בתוכן וביישום ה-gzip שבו נעשה שימוש ב-CLI של gcloud). אם טוענים את הקטגוריה באמצעות gcsfuse ומבצעים פעולת הצגת רשימה או קריאה של הקובץ הרלוונטי מספריית הטעינה, הגודל שלו שיוחזר יהיה 60 בייטים, והתוכן שלו יהיה גרסה דחוסה של התוכן המקורי שגודלו היה 1, 000 בייטים.

    בניגוד לכך, בהורדה באמצעות הפקודה gcloud storage cp gs://bucket/path /local/path, הקובץ יעבור המרת קידוד שמבטלת דחיסה: בפקודה gcloud, הדחיסה של התוכן תיפתח באופן אוטומטי במהלך ההורדה, והתוכן המקורי הלא דחוס יישלח.

  • כללי מדיניות שמירת נתונים: ב-Cloud Storage FUSE אין תמיכה בכתיבה לקטגוריות עם מדיניות שמירת נתונים. פעולת הכתיבה תיכשל אם מנסים לכתוב לקטגוריה עם מדיניות שמירת נתונים.

    ב-Cloud Storage FUSE יש תמיכה בקריאת אובייקטים מקטגוריות עם מדיניות שמירת נתונים, אבל כאשר טוענים את הקטגוריה צריך לטעון אותה כ-Read-Only על ידי העברת הדגל -o RO בזמן טעינת הקטגוריה.

  • אחסון מקומי: אובייקטים חדשים או אובייקטים שעברו שינוי מאוחסנים בשלמותם בקובץ מקומי זמני עד שסוגרים או מסנכרנים אותם. בעבודה עם קבצים גדולים, חשוב לוודא שיש לכם מספיק קיבולת אחסון מקומית לעותקים זמניים שלהם, במיוחד בעבודה עם מכונות של Compute Engine. מידע נוסף אפשר למצוא במקטע Cloud Storage FUSE README overview file במאמרי העזרה של Cloud Storage FUSE GitHub.
  • מגבלות על רכיבי handler של קבצים: לליבת Linux יש מגבלה שמוגדרת כברירת מחדל של 1,024 רכיבי handler של קבצים פתוחים. כשמשתמשים ב-Cloud Storage FUSE כשרת לטיפול בכמה חיבורים בו-זמנית, יכול להיות שתחרגו מהמגבלה הזו. כדי למנוע בעיות, צריך לוודא שמספר החיבורים בו-זמנית למארח יחיד לא חורג מהמגבלה, ולשקול להגדיל את המגבלה. תרחישים שבהם זה חשוב כוללים שימוש בטעינת Cloud Storage FUSE כדי להציג תוכן אינטרנט, לארח אחסון שמחובר לרשת (NAS) או לארח שרת פרוטוקול להעברת קבצים (FTP). כשממלאים בקשה לתוכן אינטרנט ב-Cloud Run מטעינת Cloud Storage FUSE, מספר הבקשות המקסימלי בו-זמנית לכל מופע מוגבל לפחות מ-1,000.
  • rsync מגבלות: זמן האחזור של מערכת הקבצים ב-Cloud Storage FUSE משפיע על rsync, שקורא וכותב רק קובץ אחד בכל פעם. כדי להעביר מספר קבצים במקביל אל הקטגוריה או ממנה, משתמשים ב-Google Cloud CLI על ידי הרצה של gcloud storage rsync. מידע נוסף זמין במאמרי העזרה בנושא rsync.
  • מגבלות על פעולות של הצגת רשימה: כשמציגים ברשימה את כל האובייקטים בקטגוריה שנטענה, למשל באמצעות הרצת ls,‏ Cloud Storage FUSE שולח קריאה ל-Objects: list API ב-Cloud Storage. ה-API מחלק את התוצאות לדפים, כך שייתכן ש-Cloud Storage FUSE יצטרך לשלוח קריאות מרובות, בהתאם למספר האובייקטים בקטגוריה שלכם. לכן, פעולת הצגת הרשימה יכולה להיות יקרה ואיטית.

בעיות מוכרות

רשימה של בעיות מוכרות ב-Cloud Storage FUSE מופיעה במאמר בעיות פתוחות ב-Cloud Storage FUSE ב-GitHub.

פנייה לתמיכה

בערוצי התמיכה הרשמיים שלGoogle Cloud אפשר לקבל תמיכה, לשלוח שאלות כלליות ולבקש תכונות חדשות. אפשר לקבל תמיכה גם באמצעות דיווח על בעיות ב-GitHub.

פתרונות לבעיות נפוצות אפשר למצוא במאמר פתרון בעיות בייצור במאמרי העזרה של Cloud Storage FUSE GitHub.

המאמרים הבאים