שימוש: dfuse [OPTIONS] [mountpoint [pool container]]
אפשרויות:
-m --mountpoint=<path> Mount point to use (deprecated, use positional argument)
--pool=name pool UUID/label
--container=name container UUID/label
--path=<path> Path to load UNS pool/container data
--sys-name=STR DAOS system name context for servers
-S --singlethread Single threaded
-t --thread-count=count Total number of threads to use
-e --eq-count=count Number of event queues to use
-f --foreground Run in foreground
--enable-caching Enable all caching (default)
--enable-wb-cache Use write-back cache rather than write-through (default)
--disable-caching Disable all caching
--disable-wb-cache Use write-through rather than write-back cache
-o options mount style options string
--multi-user Run dfuse in multi user mode
-h --help Show this help
-v --version Show version
dfuse מבצעת טעינה של קובץ DAOS POSIX container במרחב המשתמשים בספריית נקודת הטעינה שצוינה כארגומנט המיקום הראשון. הספרייה הזו צריכה להתקיים ולהיות נגישה למשתמש, אחרת ההרכבה תיכשל.
אפשרות אחרת היא לציין את ספריית נקודת ההרכבה באמצעות האפשרות -m או --mountpoint=, אבל השימוש הזה הוצא משימוש.
אפשר לציין את מאגר ה-DAOS והקונטיינר בכמה דרכים שונות. צריך להשתמש רק בדרך אחת לציון המאגר והקונטיינר:
- אפשר לציין במפורש את מאגר ה-DAOS והקונטיינר בשורת הפקודה כארגומנטים מבוססי-מיקום, באמצעות UUID או תוויות. זו הדרך הנפוצה ביותר להשתמש ב-dfuse כדי לטעון קונטיינר POSIX.
- אפשר לציין במפורש את המאגר והקונטיינר של DAOS בשורת הפקודה באמצעות האפשרויות
--poolו---container, עם מזהי UUID או תוויות. השימוש הזה הוצא משימוש, ועכשיו צריך להשתמש בארגומנטים מיקומיים. - כשמשתמשים באפשרות
--path, מאפייני מרחב השמות של DAOS נטענים מנתיב מערכת הקבצים הזה, כולל מאגר DAOS ופרטי המאגר. - אם לא משתמשים באפשרות
--path, המערכת תבדוק גם את ספריית נקודת הצירוף ותטען משם את מאפייני מרחב השמות של DAOS אם הם קיימים. - כשמשתמשים במחרוזת של אפשרות ההרכבה
-o, המקשיםpool=ו-container=במחרוזת של אפשרות ההרכבה מזהים את המאגר והקונטיינר של DAOS. אם לא מציינים את המאגר והקונטיינר באף אחת מהשיטות האלה, dfuse יבנה שמות נתיבים של מערכת קבצים מתחת לנקודת הטעינה באמצעות מזהי ה-UUID (לא התוויות) של כל המאגרים והקונטיינרים של POSIX שהמשתמש שמריץ את dfuse יכול לגשת אליהם כרכיבי שם נתיב.
- אפשר לעבור בנתיב לקונטיינר POSIX שנטען בדרך הזו כדי לגשת אל שורש הקונטיינר, למשל על ידי שינוי הספרייה ל-
/mountpoint/pool_uuid/cont_uuid/. - עם זאת, אי אפשר לרשום את הספרייה /mountpoint/ , ולא יוצגו בה מזהי ה-UUID של המאגרים שמוצמדים אליה.
- באופן דומה, למרות שהמשתמש יכול לשנות את הספרייה לספרייה
/mountpoint/pool_uuid/, לא ניתן להציג את הספרייה הזו, ולא יוצגו בה מזהי ה-UUID של הקונטיינרים שמוצמדים אליה. - הפעלת הפקודה
fusermount3 -u /mountpointתבטל את הטעינה של כל קובצי ה-POSIX שהועלו בדרך הזו, וגם של הספריות/mountpoint/pool_uuid/.
- אפשר לעבור בנתיב לקונטיינר POSIX שנטען בדרך הזו כדי לגשת אל שורש הקונטיינר, למשל על ידי שינוי הספרייה ל-
שימוש בשרשורים ובמשאבים:
ל-dfuse יש שני סוגים של שרשורים: שרשורי fuse שמקבלים ומעבדים בקשות מהליבה, ושרשורי התקדמות שמשלימים פעולות קריאה/כתיבה אסינכרוניות.
כל שרשור התקדמות אסינכרוני משתמש בתור אירועים אחד של DAOS כדי לצרוך משאבי רשת נוספים. מכיוון שכל פעולות המטא-נתונים חוסמות, רמת המקביליות ב-dfuse מוגבלת על ידי מספר השרשורים של fuse.
כברירת מחדל, מספר השרשורים הכולל הוא אחד לכל ליבה זמינה, כדי לאפשר תפוקה מקסימלית. אם מופעלת טכנולוגיית Hyper-Threading, נעשה שימוש בשרשור אחד לכל ליבת Hyper-Threading. אפשר לשנות את ההגדרה הזו בשתי דרכים: לצמצם את מספר ליבות המעבד הזמינות על ידי הפעלת dfuse ב-cpuset באמצעות numactl או כלים דומים, או באמצעות האפשרויות --thread-count, --eq-count או --singlethread:
- האפשרות
--thread-countקובעת את המספר הכולל של השרשורים. - הגדלת האפשרות
--eq-countבערך קבוע של--thread-countתקטין את מספר השרשורים של הנתיך בהתאם. ערך ברירת המחדל של--eq-countהוא1. - במצב
--singlethread, נעשה שימוש בשרשור אחד לטיפול בבקשות של מנגנון ההגנה, ובשרשור שני לתור אירועים יחיד. בסך הכול נעשה שימוש בשני שרשורים.
אם dfuse פועל במצב רקע (ברירת המחדל, אלא אם הוא מופעל באמצעות mpirun), הוא יישאר בחזית עד שהנקודה תירשם בקרנל כדי לאפשר דיווח שגיאות מתאים.
אפשר להשתמש באפשרות -o כדי להפעיל את dfuse דרך fstab או דרך אפשרות דומה, והיא מקבלת אפשרויות סטנדרטיות של הרכבה. המחרוזת הזו תטופל כרשימה של צמדי מפתח=ערך שמופרדים בפסיקים, ו-dfuse ישתמש במפתחות pool= ו-container= מהמחרוזת הזו.
השמירה במטמון מופעלת כברירת מחדל. אפשר לקבוע את התנהגות השמירה במטמון של טעינת dfuse באמצעות אפשרויות של שורת הפקודה. אפשר להגדיר אמצעי בקרה נוספים על שמירת נתונים במטמון לכל מאגר תגים בנפרד באמצעות מאפייני מאגר התגים.
- אם משתמשים באפשרות
--disable-caching, לא מתבצעת שמירה במטמון ולא נעשה שימוש במאפייני מאגר התגים. ערך ברירת המחדל הוא--enable-caching. - אם משתמשים ב-
--disable-wb-cache, פעולות הכתיבה עבור כל הנפח מתבצעות במצב write-through, והמערכת עדיין משתמשת במאפייני הקונטיינר. ערך ברירת המחדל הוא--enable-wb-cache. - אם מציינים את האפשרויות
--disable-cachingוגם--enable-wb-cache, המערכת מתעלמת מהאפשרות--enable-wb-cacheולא מבצעת שמירה במטמון.