Распределённые файловые системы.
Заказать уникальный реферат- 25 25 страниц
- 9 + 9 источников
- Добавлена 11.01.2016
- Содержание
- Часть работы
- Список литературы
- Вопросы/Ответы
Введение 3
1. Описание файловых распределённых систем 5
1.1. Сетевая файловая система компании Sun 5
1.2. Модель системы файлов 8
1.3. Система файлов Coda 11
2 Другие файловые системы распределения 15
3 Файловый сервис 16
4. Сервис каталогов 18
5. Семантика разделения файлов 20
Выводы 24
Список использованной литературы 25
Именование файлов производится после монтирования общей файловой системы таким же образом, как и если бы она была централизованной с самого начала .
Наибольшее количество распределенных систем использует определенную форму именования двух уровней: на одном – файлы предназначенные для использования людьми и имеют символические имена, такие как text.doc, а на другом – внутренние, для использования самой системой, двоичные имена. Каталоги обеспечивают отображение между этими двумя уровнями имен.
5. СЕМАНТИКА РАЗДЕЛЕНИЯ ФАЙЛОВ
Когда один файл разделяют 2 или более пользователей, то, чтобы избежать проблем, нужно точно определить семантику записи и чтения. В централизованных системах, которые разрешают разделение файлов, обычно следует определение за операцией ЧТЕНИЕ следование операции ЗАПИСЬ. При этом происходит считывание только что обновленного файла. Аналогично, когда за двумя операциями записи следует операция чтения, то читается файл, который изменен последней операцией записи. Система придерживается тем самым абсолютного временного упорядочивания всех операций, а также возвращает самое последнее значение всегда. В централизованной системе и на мультипроцессоре с разделяемой памятью ее легко понять и реализовать.
Если в распределенных системах имеется лишь один файловый сервер, и клиенты не кэшируют файлы, то выше приведенная семантика может быть обеспечена в них. Для этого все операции чтения и записи направляются на файловый сервер, который обрабатывает их строго последовательно. Производительность распределенной системы в которой все запросы к файлам идут на один сервер, на практике, к сожалению, часто становится неудовлетворительной. Такую проблему иногда нейтрализуют путем разрешения клиентам обрабатывать локальные копии часто применяемых файлов в своих личных кэшах. Вскоре после создания локальной копии файла другой клиент прочитает этот файл с сервера. Если клиент сделает в своем локальном кэше и начнет ее модифицировать, то он получит неверную копию файла. Одним из способов удаления этого недостатка является немедленный возврат всех изменений в кэшированном файле на сервер. На практике такой подход не эффективен, хоть и концептуально прост.
Иным решением является введение сессионной семантики, в соответствии с которой изменения в открытом файле сначала видны только процессу, который модифицирует файл, и только после закрытия файла эти изменения могут видеть другие процессы. Возникает проблема одновременного использования одного и того же файла 2 или более клиентами с применением сессионной семантики . Одно из решений этой проблемы – процедура принятия правил, в соответствии с которыми окончательным является вариант, закрытый последним. Значительно более простым в реализации, но менее эффективным, является вариант, при котором окончательным результирующим файлом на сервере может оказаться любой из этих файлов.
Еще один подход к разделению файлов заключается в том, чтобы сделать все файлы неизменяемыми. Тогда файл нельзя открыть для записи, а можно выполнять только операции «Новый документ» и ЧИТАТЬ. Тогда для изменения файла остается только возможность создать полностью новый файл и поместить его в каталог под именем старого файла. Следовательно, хотя файл и нельзя модифицировать, его можно заменить (автоматически) новым файлом. Другими словами, хотя файлы и нельзя обновлять, но каталоги обновлять можно. Таким образом, проблема, связанная с одновременным использованием файла, просто исчезнет.
Существует еще один способ работы в распределенных системах с файлами разделения – это возможность применить механизм неделимых транзакций, которые являются неделимой последовательностью действий над файлами (чтения, удаления, вставки, модификации). Эта последовательность такова, что или результаты всех операторов, которые входят в процесс транзакции, находят отображение в файловой системе, или нет входе операций воздействия всех этих операторов.
Для достижения свойства неделимости транзакций в распределенных системах используется специальный протокол, называемый протоколом двухфазной фиксации транзакций. Хотя он и не является единственным протоколом такого рода, но он наиболее широко используется.
Суть этого протокола состоит в следующем. Один из процессов выполняет функция координатора (рис. 6). Он начинает транзакцию, совершая действия записи об этом в своем регистрационном журнале. Далее координатор посылает всем выполняющим эту транзакцию подчиненным процессам сообщение «подготовиться к фиксации». Когда процессы, которые подчиняются координатору, получают это сообщение, то происходит проверка их готовности к фиксации. После этого, в случае, если готовность подтверждена, выполняется запись в журнале подчиненных процессов.
После этого подчиненные процессы остаются в состоянии готовности и ждут от координатора команду фиксации. Если хотя бы один из подчиненных процессов не откликнулся, то координатор «откатывает» подчиненные транзакции, включая и те, которые подготовились к фиксации.
1 Фаз
2 Фаза
Рисунок 6. Двухфазный протокол фиксации транзакции
Вторая фаза состоит в том, что координатор посылает всем подчиненным процессам команду «фиксировать» (commit). После выполнения этой команды, подчиненные процессы выполняют фиксацию изменения и происходит завершение подчиненных транзакций. В итоге выполняется гарантия одновременного синхронного завершения транзакции, которая была распределена.
С целью получения приемлемой производительности, распределенные файловые системы обычно разрешают пользователям проводить кэширование файлов целиком. Такое кэширование поддерживается и в NFS, и в Coda, несмотря на наличие возможности сохранения также и больших фрагментов файлов. После того, как файл открыт и передан (частично) клиенту, все остальные операции могут осуществляться локально. Изменения сбрасываются на сервер перед закрытием файла. С другой стороны, такие системы, как Plan 9 и xFS, поддерживают блочное кэширование в комбинации с протоколом кэша обратной записи.
Мировая практика состоит в том, что распределенная файловая система не строится поверх транспортного уровня, а находит применение существующий уровень RPC, так что все операции представляют собой вызовы RPC, адресованные файловому серверу, и необходимости в передаче сообщений не возникает. Такой подход используется в NFS, Coda и SFS. Желательно, чтобы уровень RPC поддерживал семантику обращений «максимум однажды», в противном случае эта семантика должна быть явно реализована в форме части уровня файловой системы, как в случае NFS.
Защита очень важна для любых распределенных систем, включая файловые. Система NFS сама по себе фактически не предоставляет каких-либо механизмов защиты, но, обладая стандартизованным интерфейсом, позволяет использовать в связке с ней разнообразные системы защиты, например Kerberos. В противоположность ей Coda и Plan 9 обладают собственными механизмами защиты.
ВЫВОДЫ
Распределенные файловые системы – это очень важное понятие , применяемое в информационных технологиях и распределенных системах. В основном они строятся в соответствии с моделью «клиент-сервер» с кэшированием на клиенте и поддержкой репликации серверов с целью получения необходимой масштабируемости. Нужно также проводить репликацию и кэширование для повышения доступности этих систем.
Системы, рассмотренные в данном реферате, отличаются от нераспределенных семантикой разделения файлов. Если говорить в целом, файловые системы очень часто позволяют пользователю провести считывание данных, которые записываются в файл последними. Такую семантику, а именно семантику UNIX, очень нелегко с максимальной эффективностью реализовать в изложенных в реферате распределенных файловых системах.
Например NFS реализует поддержку ее «урезанного» варианта, который носит название «семантика сеансов». При ней итоговая версия файла определяется последним пользователем (клиентом), который выполнил закрытие файла, открытого на запись.
В Coda же разделение файлов выполняется с соблюдением семантики транзакций в том смысле, что пользователи, которые выполнили процесс чтения, получат последнюю версию файла после повторного его открытия. В том случае, если управление всеми операциями выполняет сервер, тогда возможно использование и базовой семантики UNIX, хотя масштабируемость в этом случае останется под вопросом.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
Распределенные системы. Принципы и парадигмы / Э. Таненбаум, М. Ван-Стен. — СПб.: Питер, 2003. — 877 с
Информационные ресурсы и поисковые системы: учебное пособие / Н.В. Максимов, О.Л. Голицына, Г.В. Тихомиров, П.Б. Храмцов. - М.: МИФИ, 2008. 400 с.
Callaghan, B.: NFS Illustrated. Reading, MA: Addison-Wesley, 2000.
Kleiman, S.: «Vnodes: an Architecture for Multiple File System Types in UNIX.» Proc. Summer Techn. Conf. USENIX, 1986. pp. 238-247.
Kistler, J. and Satyanaryanan, M.: «Disconnected Operation in the Coda File System.» ACM Trans. Comp. Syst., vol. 10, no. 1, pp. 3-25, Feb. 1992
Kistler, J.: Disconnected Operation in a Distributed File System, vol. 1002 of Lect. Notes Comp. Sc. Berlin: Springer-Verlag, 1996.
Голицына О.Л.. Информационные системы: учеб. пособие / Голицына О.Л., Максимов Н.В., Попов ИИ. - М.: ФОРУМ: ИНФРА-М, 2007.
Информационно-поисковый тезаурус по информатике. / Сост. Пащенко Н.А., Ксенофонтова Е.Б.. Скоробогатая В.Ф., научный редактор Черный А.И. - М.:ВИНИТИ, 1987.
Ключко В.И., Романов Д.А., Романова М.Л. Операционные системы: учеб. пособие / Кубан. Гос. Технол. ун-т. – Краснодар: изд-во КубГТУ, 2009. – 105 с.
4
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. Распределенные системы. Принципы и парадигмы / Э. Таненбаум, М. Ван-Стен. — СПб.: Питер, 2003. — 877 с
2. Информационные ресурсы и поисковые системы: учебное по-собие / Н.В. Максимов, О.Л. Голицына, Г.В. Тихомиров, П.Б. Храмцов. - М.: МИФИ, 2008. 400 с.
3. Callaghan, B.: NFS Illustrated. Reading, MA: Addison-Wesley, 2000.
4. Kleiman, S.: «Vnodes: an Architecture for Multiple File System Types in UNIX.» Proc. Summer Techn. Conf. USENIX, 1986. pp. 238-247.
5. Kistler, J. and Satyanaryanan, M.: «Disconnected Operation in the Coda File Sys¬tem.» ACM Trans. Comp. Syst., vol. 10, no. 1, pp. 3-25, Feb. 1992
6. Kistler, J.: Disconnected Operation in a Distributed File System, vol. 1002 of Lect. Notes Comp. Sc. Berlin: Springer-Verlag, 1996.
7. Голицына О.Л.. Информационные системы: учеб. пособие / Голицына О.Л., Максимов Н.В., Попов ИИ. - М.: ФОРУМ: ИНФРА-М, 2007.
8. Информационно-поисковый тезаурус по информатике. / Сост. Пащенко Н.А., Ксенофонтова Е.Б.. Скоробогатая В.Ф., науч¬ный редактор Черный А.И. - М.:ВИНИТИ, 1987.
9. Ключко В.И., Романов Д.А., Романова М.Л. Операционные системы: учеб. пособие / Кубан. Гос. Технол. ун-т. – Краснодар: изд-во КубГТУ, 2009. – 105 с.
Вопрос-ответ:
Какие файловые системы распределения существуют?
Существуют различные файловые системы распределения, включая сетевую файловую систему компании Sun и систему файлов Coda.
Как происходит именование файлов в распределенных файловых системах?
Именование файлов происходит после монтирования общей файловой системы таким же образом, как если бы она была централизованной.
Какой принцип работы у файлового сервиса в распределенных файловых системах?
Файловый сервис предоставляет доступ к файлам, расположенным на удаленных серверах, и обеспечивает их синхронизацию и управление.
Какая семантика использования файлов присутствует в распределенных файловых системах?
Распределенные файловые системы поддерживают семантику разделения файлов, которая позволяет разным пользователям работать с одними и теми же файлами одновременно.
Какую модель системы файлов можно использовать в распределенных файловых системах?
В распределенных файловых системах можно использовать модель системы файлов, основанную на клиент-серверной архитектуре, где сервер предоставляет доступ к файлам клиентам.
Что такое распределенные файловые системы?
Распределенные файловые системы (РФС) - это концепция, где данные и файлы хранятся и обрабатываются на нескольких компьютерах, объединенных в сеть. Вместо того, чтобы иметь одну центральную точку хранения, файлы распределены по разным узлам сети.
Как работает сетевая файловая система компании Sun?
Сетевая файловая система компании Sun (NFS) предоставляет возможность удаленного доступа к файлам и директориям на удаленном сервере. NFS использует клиент-серверную модель, где клиентское приложение запрашивает данные у сервера. Клиент и сервер могут находиться на разных компьютерах и взаимодействовать через сеть.
Что такое файловый сервис?
Файловый сервис - это компонент распределенной файловой системы, который отвечает за хранение, управление и обработку файлов. Он обеспечивает доступ к файлам на разных компьютерах сети и позволяет выполнять операции чтения, записи, копирования и удаления файлов.
Какой принцип работы системы файлов Coda?
Система файлов Coda работает по принципу репликации данных. В ней каждый компьютер, участвующий в системе, хранит копию файлов на локальном диске. Изменения, внесенные в файлы на одном компьютере, автоматически распространяются на другие компьютеры в сети. Это позволяет обеспечить высокую отказоустойчивость и доступность данных.
Как происходит именование файлов в распределенных файловых системах?
Именование файлов производится после монтирования общей файловой системы таким же образом, как и если бы она была централизованной. Каждый файл имеет свое уникальное имя в пределах файловой системы, которое можно использовать для его идентификации и доступа.