1 / 47

Лекція 09. Файлова система NFS

Лекція 09. Файлова система NFS. Діденко Дмитро Георгійович Старший викладач кафедри ММСА ННК «ІПСА» Національний технічний університет України «Київський політехнічний інститут» м. Київ, Україна. Питання заняття. Файлова система NFS. 1. Історія розвитку NFS.

laith-oneal
Download Presentation

Лекція 09. Файлова система NFS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Лекція 09. Файлова система NFS Діденко Дмитро Георгійович Старший викладач кафедри ММСА ННК «ІПСА» Національний технічний університет України «Київський політехнічний інститут» м. Київ, Україна

  2. Питання заняття • Файлова система NFS. Файлова система NFS

  3. 1. Історія розвитку NFS Мережева файлова система NFS (Network File System) компанiї Sun Microsystems надає клiєнту набiр протоколiв подання розподiленої файлової системи. Систему NFS було реалiзовано на UNIX. Тепер iснують реалiзацiї на iнших платформах, зокрема на Windows 2000, MS-DOS. Найвiдомiшi версiї 3 та 4. Файлова система NFS

  4. 2. Цілі NFS • NFS не повинна обмежуватися операційною системою UNIX. Будь-яка операційна система повинна бути здатною реалізувати сервер і клієнт NFS; • протокол не повинен залежати від будь-яких визначених апаратних засобів; • повинні бути реалізовані прості механізми відновлення у випадку відмов сервера або клієнта; • додатки повинні мати прозорий доступ до вилучених файлів без використання спеціальних шляхових імен або бібліотек і без перекомпіляції; • для UNIX-клієнтів повинна підтримуватися семантика UNIX; • продуктивність NFS повинна бути порівнювана із продуктивністю локальних дисків; • реалізація повинна бути незалежною від транспортних засобів. Файлова система NFS

  5. 3. Незалежність реалізації NFS Архiтектура NFS не залежить вiд локальної файлової системи i має в основi модель вiддаленого сервiсу, у якiй клiєнти отримують прозорий доступ до файлової системи вiддаленого сервера. Файли постiйно мiстяться на серверi i в разi потреби реплiкуються в локальному адресному просторi клiєнта. Файлова система NFS

  6. 4. Компоненти NFS • Протокол NFS визначає набір запитів (операцій), які можуть бути спрямовані клієнтом до сервера, а також набір аргументів і значення, які повертаються, для кожного із цих запитів. Версія 1 цього протоколу існувала тільки в надрах Sun Microsystems і ніколи не була випущена. Всі реалізації NFS (у тому числі NFSv3) підтримують версію 2 NFS (NFSv2), що вперше була випущена в 1985 році в SunOS 2.0. Версія 3 протоколу була опублікована в 1993 році й реалізована деякими фірмами-постачальниками. • Протокол віддаленого виклику процедур (RPC) визначає формат всіх взаємодій між клієнтом і сервером. Кожний запит NFS посилається як пакет RPC. • Зовнішнє подання даних (XDR - External Data Representation) забезпечує машинно-незалежний метод кодування даних для пересилання через мережу. Всі запити RPC використовують кодування XDR для передачі даних. Слід зазначити, що XDR і RPC використовуються для реалізації багатьох інших сервісів, крім NFS. • Програмний код сервера NFS відповідає за обробку всіх запитів клієнта й забезпечує доступ до експортованих файлових систем. Файлова система NFS

  7. 4. Компоненти NFS (продовження) • Програмний код клієнта NFS реалізує всі звернення клієнтської системи до вилучених файлів шляхом посилки серверу одного або декількох запитів RPC. • Протокол монтування визначає семантику монтування й розмонтування файлових систем NFS. NFS використовує кілька фонових процесів-демонів. На сервері набір демонів nfsd очікують запити клієнтів NFS і відповідають на них. • Демон mountd обробляє запити монтування. На клієнті набір демонів biod обробляє асинхронне уведення/вивід блоків файлів NFS. • Менеджер блокувань мережі (NLM - Network Lock Manager) і монітор стану мережі (NSM - Network Status Monitor) разом забезпечують засоби для блокування файлів у мережі. Ці засоби, хоча формально не пов'язані з NFS, можна знайти в більшості реалізацій NFS. Вони забезпечують сервіси не можливі в базовому протоколі. NLM і NSM реалізують функціонування сервера за допомогою демонів lockd і statd відповідно. Файлова система NFS

  8. 5. Доступ клієнта до файлів Клiєнт пiдтримує доступ до файлової системи за допомогою системних викликiв локальної ОС. Клiєнт використовує iнтерфейс вiртуальної файлової системи VFS (Virtual File System), який є фактично стандартним iнтерфейсом для розподiлених файлових систем. В iнтерфейсi VFS клiєнт реалiзує операцiї у формi запитiв RPC до сервера NFS. Файлова система NFS

  9. 6. RPC в NFS Сервер NFS перетворює видiленi заглушкою сервера запити з повiдомлення i перетворює їх у коректнi операцiї з файлами iнтерфейсу VFS. Файлова система NFS

  10. 7. Архiтектура NFS в UNIX Файлова система NFS

  11. 8. Модель системи NFS Модель системи NFS подiбна до файлової системи UNIX. Файли розглядаються як неiнтерпретованi послiдовностi байтiв. Файли органiзовано у виглядi iєрархiчного графу iмен, вузлами якого є каталоги i файли. Доступ до файлiв здiйснюється за допомогою не iмен, а дескрипторiв файлiв, тому за iменем файлу клiєнт отримує дескриптор. Значення атрибутiв файлiв можна змiнювати. Файлова система NFS

  12. 9. Відмінності версій NFS В операцiях версiй 3, 4 системи NFS є суттєвi вiдмiнностi. Зокрема, введено операцiї open, close для файлiв, якi передбачають, що файловий сервер зберiгає iнформацiю про стан файлу. Дескриптор файлу застосовують для вiдкриття i закриття файлу. Файлова система NFS

  13. 10. Монтування файлiв Монтування файлiв у чужому файловому просторi iмен у версiї 4 (наприклад, у разi перенесення каталогу) здiйснюється з використанням операцiї lookup знаходження файлу за iменем. Файлова система NFS

  14. 11. Операцiя readdir За операцiєю readdir повертається список пар (iм'я, дескриптор файлу) з вiдповiдними атрибутами, якi запитанi клiєнтом. Клiєнт може визначити кiлькiсть потрiбних елементiв. Атрибутами є тип файлу, довжина файлу, iдентифiкатор файлової системи. Атрибути iмен можна застосовувати та записувати за допомогою операцiй getattr, setattr. Файлова система NFS

  15. 12. Операцiя readdir Структура NFS забезпечує незалежнiсть ОС, мережевих структур i транспортних протоколiв. Протокол NFS розмiщено над рiвнем RPC, що забезпечує нiвелювання вiдмiнностi мiж платформами i мережами. Файлова система NFS

  16. 13. Протокол RPC Структура NFS забезпечує незалежнiсть ОС, мережевих структур i транспортних протоколiв. Протокол NFS розмiщено над рiвнем RPC, що забезпечує нiвелювання вiдмiнностi мiж платформами i мережами. Взаємодiя мiж клiєнтом i сервером вiдбувається згiдно з протоколом RPC для вiдкритих мережевих обчислень (Open Network Computing) ONC RPC. У NFS для версiї 4 пiдтримуються складенi процедури (compound procedures) RPC, за якими кiлька запитiв операцiй можна об'єднувати в один, що дозволяє пiдвищити продуктивнiсть системи. Якщо неможливо виконати одну з операцiй, виконання процедури завершується без спроб розв'язання конфлiктiв. Файлова система NFS

  17. 14. Процеси в NFS Процеси "клiєнт-сервер" NFS з версiї 4 реалiзуються з використанням збереженої iнформацiї про стан розподiленої файлової системи, а також з використанням кешування у невеликих обсягах на клiєнтi для розвантаження сервера. Сервер може призначати оренду кожному файлу, доступ до якого запитує клiєнт. Оренда передбачає надання виняткових прав зчитування i записування у файл пiд час оренди з можливим її продовженням. Файлова система NFS

  18. 15. Зворотній виклик У NFS передбачено можливiсть зворотного виклику з боку сервера з використанням iнформацiї про стан клiєнтiв, а також монтування клiєнтом частини файлової системи сервера у своїй локальнiй файловiй системi. Цей процес називають експортуванням сервером каталогу. Експортований каталог у рiзних клiєнтах доволi важко розподiлити мiж кiлькома клiєнтами, оскiльки це потребує узгодженостi простору iмен. Файлова система NFS

  19. 16. Монтування сервером експортованого каталогу Для монтування сервером експортованого каталогу iншого сервера цей каталог недоступний для власних клiєнтiв, оскiльки потребує спецiальних дескрипторiв файлу, включаючи iдентифiкатор експортуючого сервера. У версiї 3 NFS це не пiдтримується. Але рекурсивне розв'язання iмен пiдтримується в NFS версiї 4. Файлова система NFS

  20. 17. Монтування каталогу Файлова система NFS

  21. 18. Дескриптори файлу Дескриптори файлу створюються сервером NFS i є унiкальними для всiх експортованих сервером. Довжина їх становить 128 байт у версiї 4 i 64 байт у версiї 3. Дескриптор реалiзовано як iдентифiкатор файлу у файловiй системi i може зберiгатися на боцi клiєнта. Файлова система NFS

  22. 19. Оперативне визначення iмен Оперативне визначення iмен на перетинi монтажної точки у SFS 4 здiйснюється наданням спецiальної операцiї utrootfh. Ця операцiя пропонує серверу визначити всi iмена файлiв вiдносно кореневого дескриптора файлiв для файлової системи, яку вiн пiдтримує. Кореневий дескриптор можна використовувати для пошуку довiльних iнших дескрипторiв файлу у файловiй системi сервера. Клiєнт монтує вiддалену файлову систему, вимагаючи вiд сервера за допомогою putrootfh визначення iмен вiдносно кореневого дескриптора файлiв. Файлова система NFS

  23. 20. Монтування вiддалених файлових систем Монтування вiддалених файлових систем (тобто експортованого каталогу) за запитом виконує програма автоматичного монтувальника (automounter) на машинi клiєнта. Файлова система NFS

  24. 21. Автоматичний монтувальник для NFS Файлова система NFS

  25. 22. Створення каталогу • За запитом програмою каталогу /home/alice автоматичний монтувальник шукає каталог. • Оскiльки каталогу немає, автоматичний монтувальник створює каталог /home/alice. • Автоматичний монтувальник виконує запит до сервера для пошуку /аliсе. • Сервер експортує каталог /аliсе, а автоматичний монтувальник монтує його в /home/alice. Файлова система NFS

  26. 23. Застосування символiчних посилань для монтування каталогiв Файлова система NFS

  27. 24. Атрибути файлів Для розширення можливостей реалiзацiї NFS у рiзних файлових системах версiя 4 має набiр атрибутiв файлiв, що складаються з обов'язкових атрибутiв, якi пiдтримуються будь-якою реалiзацiєю, рекомендованих атрибутiв i додаткового набору атрибутiв. Атрибут зберiгається у виглядi масиву параметрiв <атрибут, значення> разом з файлом або каталогом. Iнтерпретацiя атрибутiв здiйснюється додатками, а операцiї (записування значення, читання) пiдтримується системою NFS. До обов'язкових належать атрибути типу, розмiру, ознаки змiни файлу, унiкальний iдентифiкатор файлової системи сервера. Файлова система NFS

  28. 25. Рекомендовані атрибути • АСЕ - список контролю доступу; • FILEHANDLE - дескриптор файлу, встановлений сервером; • FILEID - унiкальний iдентифiкатор файлу в файловiй системi; • OWNER - iм'я власника файлу; • TIME ACCESS - час останнього доступу; • TIME CREATE - час створення файлу; • FSI LOCATIONS - мiсце розташування файлової системи у мережi. Файлова система NFS

  29. 26. Синхронiзацiя в NFS Синхронiзацiя в розподiленiй системi NFS пiдтримується чотирма операцiями блокування: • lock - блокування набору байтiв; • lockt - перевiрка наявностi конфлiктного блокування; • locku - зняття блокування з набору байтiв; • renew - продовження оренди вказаного блокування. Файлова система NFS

  30. 27. Блокування файлів Операцiя lock використовується у запитах пiд час читання i записування послiдовного набору байтiв файлу за умови, що немає конфлiктностi з iншим блокуванням. Пiсля зняття блокування, що заважає, потрiбне блокування можна вибрати зi списку FIFO блокувань за умови що клiєнт запитав його. Операцiя lockt дозволяє виявити, на яку послiдовнiсть файлiв призначено блокування. Блокування встановлюється на час оренди, яку визначає сервер. Якщо клiєнт не виконує renew, то сервер знiмає блокування. Файлова система NFS

  31. 28. Додатковi засоби блокування Для деяких ОС (Windows) передбачено додатковi засоби блокування. У NFS для Windows додатковим засобом є сумiсне резервування (shared reservation). Iз вiдкриванням клiєнтом файлу вiн визначає тип свого доступу (READ, WRITE, BOTH) i тип доступу, за яким сервер повинен вiдмовляти iншим клiєнтам (NONE, READ, WRITE, BOTH). Якщо сервер не в змозi задовольнити вимогу клiєнта, то операцiя вiдкриття файлу завершиться з помилкою. У разi спроби вiдкриття новим клiєнтом файлу, вiдкритого iншим, тоді повертаються помилки. Файлова система NFS

  32. 29. Типи заборон за сумiсним доступом Файлова система NFS

  33. 30. Кешування в NFS Для пiдвищення продуктивностi в NFS v.4 використовують кешування даних з файлу, атрибутiв, дескрипторiв файлової системи на клiєнтську машиину. Файлова система NFS

  34. 31. Кешування в NFS (продовження) Пiдтримується кешування пiсля вiдкриття клiєнтом файлу за допомогою операцiй читання (READ). Змiни в отриманих даних повертаються на сервер через операцiю записування. Кiлька клiєнтiв однiєї машини можуть одночасно використовувати цей кеш. Пiсля вiдкриття файлу сервер може делегувати клiєнтовi частину своїх прав (open delegation), зокрема, права обробки клiєнтом файлу з правом на запис у файл, i локально блокувати запит iншого клiєнта цiєї ж машини. Файлова система NFS

  35. 32. Кешування на боцi клiєнта в NFS Файлова система NFS

  36. 33. Вiдмiна делегування Вiдмiну делегування (delegation) реалiзує сервер з використанням механiзму RPC зворотного виклику клiєнтом. Файлова система NFS

  37. 34. Кешування атрибутiв i дескрипторiв Кешування атрибутiв i дескрипторiв (точнiше вiдображень iмен файлiв у дескриптори) i каталогiв вiдбувається зазвичай без змiн. У разi потреби їх модифiкацiї цi значення узгоджуються. Файлова система NFS

  38. 35. Реплікація в NFS NFS має обмеженi можливостi реплiкацiї файлiв. Механiзм RRPC NFS не гарантує надiйностi, оскiльки заглушки клiєнта i сервера орiєнтованi на використання протоколiв TCP i UDP, а в RPC не передбачає додаткових засобiв визначення дублювання запитiв. Проблему дублювання можна розв'язувати кешуванням запитiв сервером (duplicate request cache) з використанням iдентифiкатора транзакцiї XID (Transaction Identifier) вiд клiєнта. Файлова система NFS

  39. 36. Перiод амнiстiї У разi блокування клiєнту надається перiод амнiстiї (grace period) протягом якого клiєнт може повторно заявити права на блокування. Це передбачає синхронiзацiю годинникiв клiєнта i сервера. Файлова система NFS

  40. 37. Контроль доступу до файлiв Система захисту в NFS передбачає контроль доступу до файлiв за допомогою контролю доступу до файлiв i наявностi захищеного каналу взаємодiї. Файлова система NFS

  41. 38. Архiтектура захисту в NFS Файлова система NFS

  42. 39. Способи автентифiкацiї Захищенi виклики RPC передбачають три способи автентифiкацiї: • системна автентифiкацiя на основi технологiї UNIX, за якою клiєнт передає серверу тест своїх поточних iдентифiкаторiв i групи разом зi списком груп, у якi вiн входить; • автентифiкацiя за методом Дiффi Хеллмана; • використання системи Kerberos (починаючи з версiї NFS 4). Файлова система NFS

  43. 40. Узагальнена схема захисту RPC SEC_GSS У NFS версiї 4 захист пiдсилено узагальненою схемою захисту RPC SEC_GSS, яка пiдтримує множину механiзмiв захисту. Файлова система NFS

  44. 41. Захищений запит RPC у NFS Файлова система NFS

  45. 42. Методи авторизації Метод LIPICEY є системою з вiдкритим ключем, який дозволяє проходити клiєнтом автентифiкацiю за паролями, а сервер автентифiкується за допомогою вiдкритого ключа. Kerberos може безпосередньо вбудовуватись у реалiзацiю NFS. Авторизацiя в NFS здiйснюється для керування доступом атрибутом ACL файлiв, кожний запис списку якого визначає права доступу певного користувача або групи. Iснує близько 20 операцiй, якi визначають права доступу, що набагато бiльше, нiж у UNIX. Файлова система NFS

  46. Питання заняття • Файлова система NFS. Файлова система NFS

  47. Питання? Розподілені інформаційні системи www.simulation.kiev.ua/dis/

More Related