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

Slides:



Advertisements
Similar presentations
Distributed Storage March 12, Distributed Storage What is Distributed Storage?  Simple answer: Storage that can be shared throughout a network.
Advertisements

Yanjun Zhao.  A network file system where a single file system can be distributed across several physical computers  allows administrators to group.
1DT057 DISTRIBUTED INFORMATION SYSTEM DISTRIBUTED FILE SYSTEM 1.
Copyright © Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE CS582: Distributed Systems Lecture 13, 14 -
Distributed File Systems
1 CS 194: Distributed Systems Distributed File Systems Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and.
Jan 28, 2003CS475: Internetworking with UNIX TCP/IP1 XDR, RPC, NFS Internetworking with UNIX TCP/IP Winter
Jeff Chheng Jun Du.  Distributed file system  Designed for scalability, security, and high availability  Descendant of version 2 of Andrew File System.
NFS. The Sun Network File System (NFS) An implementation and a specification of a software system for accessing remote files across LANs. The implementation.
Remote Files. Traditional Memory Interfaces Process Virtual Memory Virtual Memory File Management File Management Physical Memory Physical Memory Storage.
Lecture 23 The Andrew File System. NFS Architecture client File Server Local FS RPC.
Distributed File Systems Concepts & Overview. Goals and Criteria Goal: present to a user a coherent, efficient, and manageable system for long-term data.
CSC 456 Operating Systems Seminar Presentation (11/13/2012) Leon Weingard, Liang Xin The Google File System.
Distributed Systems. Interprocess Communication (IPC) Processes are either independent or cooperating – Threads provide a gray area – Cooperating processes.
Distributed File Systems Distributed file system (DFS) – a distributed implementation of the classical time-sharing model of a file system, where multiple.
What is a Distributed File System?? Allows transparent access to remote files over a network. Examples: Network File System (NFS) by Sun Microsystems.
Presented By: Samreen Tahir Coda is a network file system and a descendent of the Andrew File System 2. It was designed to be: Highly Highly secure Available.
Sun Network File System Presentation 3 Group A4 Sean Hudson, Syeda Taib, Manasi Kapadia.
Distributed File Systems
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition File System Implementation.
Information Management NTU Distributed File Systems.

Distributed File Systems Questions answered in this lecture: Why are distributed file systems useful? What is difficult about distributed file systems?
Chapter 12: File System Implementation
Chapter 17: Distributed-File Systems
CSE 486/586 Distributed Systems Distributed File Systems
Distributed File Systems
Distributed File Systems
Chapter 15: Advanced File System
Chapter 11: File System Implementation
Cloud Computing CS Distributed File Systems and Cloud Storage – Part II Lecture 13, Feb 27, 2012 Majd F. Sakr, Mohammad Hammoud and Suhail Rehman.
Lecture 25: Distributed File Systems
File System Implementation
Nache: Design and Implementation of a Caching Proxy for NFSv4
Nache: Design and Implementation of a Caching Proxy for NFSv4
Unit OS10: Fault Tolerance
Chapter 12: File System Implementation
NFS and AFS Adapted from slides by Ed Lazowska, Hank Levy, Andrea and Remzi Arpaci-Dussea, Michael Swift.
Chapter 17: Distributed-File Systems
Chapter 15: File System Internals
Today: Coda, xFS Case Study: Coda File System
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
CSE 451: Operating Systems Winter Module 22 Distributed File Systems
Chapter 11: File System Implementation
Distributed File Systems
DISTRIBUTED FILE SYSTEMS
Distributed File Systems
Exercises for Chapter 8: Distributed File Systems
Overview Assignment 12: solution Distributed file systems 1/13/2019.
Remote Procedure Call (invocation) RPC
CSE 451: Operating Systems Spring Module 21 Distributed File Systems
DESIGN AND IMPLEMENTATION OF THE SUN NETWORK FILESYSTEM
Distributed File Systems
Distributed File Systems
File-System Interface
CSE 451: Operating Systems Winter Module 22 Distributed File Systems
Chapter 15: File System Internals
Today: Distributed File Systems
CSE 486/586 Distributed Systems Distributed File Systems
University of Southern California Information Sciences Institute
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Mid term grades Mean = 48.59, Median = 48.5, Min = 40, Max = 56.
Review Stateless (NFS) vs Statefull (AFS)
Distributed File Systems
Chapter 15: File System Internals
Chapter 17: Distributed-File Systems
CSE 542: Operating Systems
CSE 486/586 Distributed Systems Distributed File Systems
Distributed File Systems
Network File System (NFS)
Presentation transcript:

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

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

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

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

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

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

שיגור פונקציה 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 אלן אזאגורי ©

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

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

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

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

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

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

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

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

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

הרכבת מדריכים – 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 אלן אזאגורי ©

הרכבת מדריכים – 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 אלן אזאגורי ©

מימוש 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 אלן אזאגורי ©

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

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

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

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

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

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

מימוש 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 אלן אזאגורי ©

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

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

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

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

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

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

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

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

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