Presentation is loading. Please wait.

Presentation is loading. Please wait.

מערכות קבצים מבוזרות Distributed File Systems

Similar presentations


Presentation on theme: "מערכות קבצים מבוזרות Distributed File Systems"— Presentation transcript:

1 מערכות קבצים מבוזרות Distributed File Systems
מרץ 2002 אלן אזאגורי ©

2 נושאים מבוא מאפיינים דוגמאות למערכות קבצים מבוזרות בגישת שרת-לקוח
מטרת מערכת קבצים מבוזרות מאפיינים שקיפות שיגור פונקציה לעומת שיגור נתונים – function shipping vs. data shipping מטמון שמירת מצב – stateful vs. stateless שמירה על הסמנטיקה דוגמאות למערכות קבצים מבוזרות בגישת שרת-לקוח NFS – Network File System AFS – Andrew File System רשתות אחסון – Storage Area Network המהפכה הבאה דוגמא – Storage Tank מרץ 2002 אלן אזאגורי ©

3 מערכות קבצים מבוזרות מטרה פתרונות
לאפשר למספר תהליכים אשר רצים במכונות שונות, גישה ושיתוף קבצים פתרונות ftp hostname get remotefilename localfilename open(“localfilename”) open(“E:\d1\d2\d3\filename”) מרץ 2002 אלן אזאגורי ©

4 שקיפות לאפליקציה Application Transparency
האם אפליקציה שנכתבה לטיפול בקבצים מקומיים צריכה להשתנות? במקרה של ftp – כן במקרה של NFS – לא מרץ 2002 אלן אזאגורי ©

5 שקיפות מקום Location Transparency
האם שם הקובץ מכיל מידע על מיקומו (מקומי/מרוחק)? ב-Unix United, שם של קובץ דומה ל-URL hostname: /d1/d2/d3/f ב-NFS, המשתמש לא יוכל להבחין אלא אם ה-mount points ידועים לו מרץ 2002 אלן אזאגורי ©

6 אי-תלות במיקום Location Independence
האם שינוי מיקום קובץ הוא שקוף? ב-NFS, מחייב שינוי ה-mount ב-AFS, ניתן להעביר “volumes” משרת לשרת בצורה שקופה לחלוטין מרחב שמות אחיד לקבצים ללא תלות במיקומם מרץ 2002 אלן אזאגורי ©

7 שיגור פונקציה Function Shipping
הגדרה הפעולות מועברות לשרת אשר מבצע אותן לוקלית ומעביר את התוצאות חזרה ללקוח שיטה נפוצה למימוש הינה Remote Procedure Call Client 2. read fileid Application Service Server 1. read 6. results 3. read 4. results Remote File System Invocation File System 5. buffer, status מרץ 2002 אלן אזאגורי ©

8 שיגור נתונים Data Shipping
הגדרה הנתונים מועברים מהלשרת ללקוח, אשר מבצע את הפעולה באופן מקומי Application 2.request data (if necessary) 1. read 6. results Remote File Handling Server 4. read 5. results 3. data shipped מרץ 2002 אלן אזאגורי ©

9 שיגור נתונים לעומת שיגור פונקציה
פשטות מימוש שיגור נתונים חוסך תקשורת מוריד עומס בשרת איך יודעים האם הנתונים תקפים? שילוב ישנן מערכות המשלבות שיגור פונקציה עם שיגור נתונים (מטמון) מרץ 2002 אלן אזאגורי ©

10 מטמון מדיניות עדכון הבעיה מדינויות וריאנטים
מתי מעבירים עדכונים מהמטמון לשרת? מדינויות write-through אמין, אך המטמון מנוצל אך ורק בקריאה write-back עדכונים אחרונים עלולים ללכת לאיבוד וריאנטים write-on-close – השינויים מועברים בעת סגירת הקובץ delayed-write – השינויים מועברים כל n שניות מרץ 2002 אלן אזאגורי ©

11 מטמון קונסיסטנטיות הבעיה פתרונות איך הלקוח יודע שהנתונים במטמון תקפים?
client-initiated הלקוח בודק בכל גישה, כל פרק זמן או כאשר הקובץ נפתח server-initiated השרת שומר מידע על איזה לקוח מחזיק איזה חלקים של קבצים השרת יכול לשלוח הודעה revoke ללקוח אשר פוסל את העותק שלו או, עבור קבצים הפתוחים לכתיבה ע"י מספר לקוחות, מבטלים את המטמון וניגשים כל הזמן לשרת מרץ 2002 אלן אזאגורי ©

12 פרוטוקול עם/בלי מצב Stateless vs. Stateful
הבעיה האם השרת שומר מצב עבור כל לקוח בין בקשה לבקשה? למשל, אילו קבצים נפתחו ע"י הלקוח, מיקום בקובץ, מידע על הנתונים במטמון של הלקוח,מנעולים וכד' פרוטוקול בלי מצב – Stateless השרת לא שומר מידע כל בקשה היא self-contained ולא מניחה שלשרת יש מידע מוקדם פרוטוקול עם מצב – Stateful השרת שומר מידע על כל לקוח בקשה של לקוח מתבצעת בהקשר מסויים, ולרוב אין צורך להעביר את כל המידע הדרוש לביצוע הפקודה מרץ 2002 אלן אזאגורי ©

13 פרוטוקול עם/בלי מצב יתרונות וחסרונות
עם מצב ניתן לבצע אופטימיזציות ולחסוך בתקשורת בלי מצב קל יותר למימוש קל להתאושש מנפילות השרת יכול ליפול ולהתאושש מבלי שלקוחות ירגישו (חוץ מזמן תגובה איטי בעת ההתאששות) מרץ 2002 אלן אזאגורי ©

14 שמירה על הסמנטיקה הבעיה דוגמאות
האם תוצאות פעולות על קבצים מרוחקים זהות לתוצאות על קובץ מקומי דוגמאות ב-Unix, תוצאות של write אמורות להשתקף מיידית בפעולות read עוקבות מרץ 2002 אלן אזאגורי ©

15 Network File System NFS version 3
מרץ 2002 אלן אזאגורי ©

16 הקדמה הגדרה פרוטוקול בין לקוח ושרת, מעל RPC (ולרוב מעל UDP/IP או TCP/IP) בעיקרון, בלי מצב הלקוח מרכיב (mounts) תת-עץ של השרת בעץ השמות שלו פעולות RPC read ו-write על קובץ גישה לתכונות של קובץ חיפוש בתוך מדריך פעולות על מדריכים,כמו חיפוש, הוספת/מחיקת כניסה וכד' אין open ו-close מרץ 2002 אלן אזאגורי ©

17 הרכבת מדריכים – Mount Client Server / / etc bin usr mail etc bin usr
exports john dan shared_data2 data test shared_data1 file1 file2 file3 dir1 dir2 dir3 f1 f3 f2 /usr/dan/shared_data1 host1 host2 /usr/dan/shared_data1 host1 מרץ 2002 אלן אזאגורי ©

18 הרכבת מדריכים – Mount Client Server / / etc bin usr mail etc bin usr
exports john dan shared_data2 data test shared_data1 dir1 dir2 dir3 f1 f2 f3 dir1 dir2 dir3 f1 f3 f2 מרץ 2002 אלן אזאגורי ©

19 מימוש NFS דוגמא Client Application System-call Interface Server
Logical File System Virtual File System Interface Virtual File System Interface Physical File System NFS Client NFS Server Physical File System Device Driver Device Driver RPC RPC מרץ 2002 אלן אזאגורי ©

20 ביצוע פקודות קיימת התאמה כמעט חד-חד ערכית בין קריאות מערכת לבין פעולות RPC ב-NFS היוצאים-מן-הכלל הם open ו-close NFS מבוסס על שיגור פונקציה אך כדי לקבל ביצועים, עושים שימוש במטמון מרץ 2002 אלן אזאגורי ©

21 שימוש במטמון מטמון תכונות file-attributes מטמון בלוקים file-blocks
תקפות נבדקת בפתיחה של קובץ משמש לבדוק את תקפות מטמון הבלוקים בכל מקרה, הם נזרקים לאחר 60 שניות מטמון בלוקים file-blocks מאפשר read-ahead ו-delayed-writes NFS אינו משמר סמנטיקת Unix למשל, כתיבות לא נראות מיידית אצל תהליכים במכונות אחרות מרץ 2002 אלן אזאגורי ©

22 Andrew File System AFS מרץ 2002 אלן אזאגורי ©

23 הקדמה ארכיטקטורה לקוח-שרת, מבוססת על שיגור נתונים
מניח שהשימוש read/write בו-זמנית בקבצים הוא נדיר שואף ל-scalability גבוה (אלפי לקוחות לשרת) ע"י שימוש אגרסיבי במטמון מטמון בלוקים של עד 64KB שימוש בדיסק הלוקלי של הלקוח על מנת לשמור את רוב הנתונים שהלקוח ניגש אליו שואף לשמירה על סמנטיקת Unix ב-AFS משתמשים בסמנטיקת write-on-close ב-DFS (גרסא מתקדמת של AFS) שומרים על סמנטיקת Unix מאפשר נדידת קבצים באופן שקוף ללקוח יחידת האדמיניסטרציה היא volume מרץ 2002 אלן אזאגורי ©

24 מרחב שמות ב-AFS מרחב השמות מפריד בין קבצים מקומיים לבין קבצים משותפים
אבל לכל הלקוחות תמונה זהה של תת העץ המותף בד"כ משתמש מחזיק את כל הקבצים הפרטיים ב-AFS מאפשר נדידה (mobility) של משתמשים בין תחנות / / etc bin afs etc bin local afs john john data test data test file1 file3 file1 file3 file2 file2 מרץ 2002 אלן אזאגורי ©

25 מבנה תהליך Venus רץ אצל הלקוח תהליך Vice רץ אצל השרת
מנהל את המטמון המקומי מביא מהשרת את הבלוקים הרלוונטים, ושומר אותם במערכת הקבצים המקומית תהליך Vice רץ אצל השרת מנהל רישום של איזה לקוח מחזיק איזה בלוק מחלק “callbacks” ללקוחות הנותנים להם זכויות לבצע פעולות מקומית מבלי לתקשר עם השרת הפרוטוקול בין השרת ללקוח נקרא Virtue לקוח פונה ל-location server אשר שומר על מיפוי volume-שרת מרץ 2002 אלן אזאגורי ©

26 מימוש AFS Client Application System-call Interface Server
Logical File System Virtual File System Interface Virtual File System Interface Vice Local File System AFS Client Venus Physical File System Callbacks Table Device Driver Device Driver RPC RPC AFS Cache AFS Volumes מרץ 2002 אלן אזאגורי ©

27 שמירה על קונסיסטנטיות הנחה בסיסית פעולה בשגרה עדכון קובץ
בלוקים במטמון תקפים עד שהשרת לא מציין אחרת פעולה בשגרה כל עוד כל הבלוקים הדרושים לפעולה נמצאים במטמון, הפעולה מתבצעת מקומית ללא התערבות השרת עדכון קובץ כאשר תהליך סוגר קובץ לאחר עדכון, העדכונים מועברים לשרת, אשר "פוסל" את הבלוקים המתאימים אצל לקוחות אחרים מרץ 2002 אלן אזאגורי ©

28 תמיכה בעותקים AFS מאפשר ל-volume להימצא ביותר משרת אחד
מיועד ל-volumes אשר אינם משתנים, או משתנים לעיתים רחוקות עותק אחד הוא read/write ויתר העותקים הם read-only ה- location-server מחזיר רשימה של שרתים הלקוח בוחר שרת מתוך הרשימה מרץ 2002 אלן אזאגורי ©

29 נדידת volumes AFS מאפשר ל-volume לנדוד באופן שקוף
לקוחות ממשיכים לפנות לשרת א' השרת "זוכר" בצד אילו בלוקים משתנים ברגע שה-volume הועתק, מפסיקים פעילות לרגע הבלוקים שהשתנו ולא הועתקו, מעותקים כעת מעדכנים את טבלאות המיפוי ב-location servers מאפשרים המשך פעילות בשרת ב' מרץ 2002 אלן אזאגורי ©

30 Storage Area Networks המהפכה הבאה... מרץ 2002 אלן אזאגורי ©

31 לפני Storage Area Networks
דיסק נשלט ע"י מכונה אחת לכן, גישה לקבצים היושבים בשרת נעשית דרך השרת צוואר-בקבוק תקשורת חיצונית איטית Client Client Client Client Server Server Server תקשורת פנימית מהירה מרץ 2002 אלן אזאגורי ©

32 Storage Area Networks מהירות הרשת מגיעה היום ל-2Gbps
מאפשר לכל לקוח גישה ישירה לדיסק Client Client Client Client מרץ 2002 אלן אזאגורי ©

33 בעיות חדשות דיסק היא יחידה "טיפשית" איך נאפשר שיתוף קבצים?
אינה מבדילה בין לקוחות איך נאפשר שיתוף קבצים? מי אחראי על הקצאת בלוקים בדיסק? מי אחראי על שמירת קונסיסטנטיות? מרץ 2002 אלן אזאגורי ©

34 Storage Tank ארכיטקטורה
Client Client Client Client Metadata Server control Network data מרץ 2002 אלן אזאגורי ©

35 Metadata Server ניהול מקום ניהול קונסיסטנטיות
אחראי להקצות בלוקים לקבצים ניהול קונסיסטנטיות מחלק רשות החכרה (leases) המאפשרים ללקוחות להחזיק בלוקים במטמון בזיכרון לפרק זמן קצוב לקוח חייב לכתוב בלוק לדיסק (אם השתנה) לפני שתוקף ה-lease פוקע – או לחדש את ה-lease כמו כן, לקוח חייב לקרוא בלוק מחדש לאחר שתוקף ה-lease פוקע – או לחדש את ה-lease מרץ 2002 אלן אזאגורי ©


Download ppt "מערכות קבצים מבוזרות Distributed File Systems"

Similar presentations


Ads by Google