Традиционная централизованная файловая система позволяет множеству пользователей, работающих на одной системе, разделять доступ к файлам, хранящихся локально на этой машине. Распределенная файловая система расширяет эти возможности, позволяя разделять доступ к файлам пользователям на разных машинах, объединенных между собой с помощью сети. В основе распределенных файловых систем лежит модель клиент-сервер. В данном случае под клиентом понимается машина, которая обращается к некоторому файлу, а под сервером - машина, хранящая файлы и обеспечивающая к ним доступ. Некоторые системы требуют, чтобы клиенты и серверы были разными машинами, в то время как другие допускают, чтобы одна машина работала и как клиент, и как сервер.
Важно отметить различие между распределенными файловыми системами и распределенными операционными системами. Распределенная операционная система, подобная V или Amoeba, для пользователя выглядит как централизованная операционная система, но работает одновременно на нескольких машинах. Она может иметь файловую систему, которая разделяется всеми машинами системы. В отличие от них, распределенная файловая система представляет собой определенный слой программного обеспечения, который управляет связью между традиционными операционными системами и файловыми системами. Этот слой программных средств интегрируется с операционными системами мащин-хостов сети и обеспечивает сервис распределенного доступа к файлам для систем, которые имеют централизованное ядро.
Распределенные файловые системы имеют ряд важных свойств. Каждая конкретная система может обладать всеми или частью этих свойств. Это как раз и создает основу для сравнения различных архитектур между собой.
- Сетевая прозрачность - Клиенты должны иметь возможность обращаться к удаленным файлам пользуясь теми же самыми операциями, что и для доступа к локальным файлам.
- Прозрачность размещения - Имя файла не должно определять его местоположения в сети.
- Независимость размещения - Имя файла не должно меняться при изменении его физического меторасположения.
- Мобильность пользователя - Пользователи должны иметь возможность обращаться к разделяемым файлам из любого узла сети.
- Устойчивость к сбоям - Система должна продолжать функционировать при неисправности отдельного компонента (сервера или сегмента сети). Однако это может приводить к деградации производительности или к исключению доступа к некоторой части файловой системы.
- Масштабируемость - Система должна обладать возможностью масштабирования в случае увеличения нагрузки. Кроме того, должна существовать возможность постепенного наращивания системы путем добавления отдельных компонентов.
- Мобильность файлов - Должна быть возможность перемещения файлов из одного месторасположения в другое на работающей системе.
Имеется несколько важных вопросов, которые рассматриваются при разработке распределенных файловых систем. Они касаются функциональных возможностей, семантики и производительности системы. Различные файловые системы можно сравнивать между собой, выясняя как они решают эти вопросы:
- Пространство имен - Некоторые распределенные файловые системы обеспечивают однородное пространство имен такое, что каждый клиент использует одно и то же путевое имя для доступа к данному файлу. Другие системы позволяют клиенту создавать свое пространство имен путем монтирования разделяемых поддеревьев к произвольным каталогам в иерархии файлов. Оба метода имеют свою привлекательность.
- Операции с сохранением и без сохранения состояний - Сервер сохраняющий состояния обеспечивает хранение информации об операциях клиента между запросами и использует эту информацию о состоянии для корректного обслуживания последующих запросов. Такие запросы как open или seek связаны с изменением состояний, так как кто-то должен запомнить информацию о том, какие файлы открыл клиент, а также все смещения в открытых файлах. В системе без сохранения состояний каждый запрос является "самодостаточным" и сервер не поддерживает устойчивых состояний о клиентах. Например, вместо того, чтобы поддерживать информацию о смещении в открытом файле сервер может требовать от клиента указания смещения в каждой операции чтения или записи. Серверы с сохранением состояний работают быстрее, поскольку они могут использовать знания о состоянии клиента для существенного уменьшения сетевого трафика. Однако они должны иметь и целый комплекс механизмов поддержания согласованного состояния системы и восстановления после ее отказа. Серверы без сохранения состояний более просты в разработке и реализации, но не дают такой высокой производительности.
- Семантика разделения - Распределенная файловая система должна определить семантику, которая применяется когда несколько клиентов одновременно обращаются к одному файлу. Семантика UNIX требует, чтобы все изменения, сделанные одним клиентом, были бы видны другим клиентам, когда они выдают следующий системный вызов read или write. Некоторые файловые системы обеспечивают "семантику сессии" (session semantics), при которой изменения становятся доступными другим клиентам на основе гранулированности системных вызовов open и close. А некоторые системы дают даже еще более слабые гарантии, например, интервал времени, который должен пройти прежде, чем изменения наверняка попадут к другим клиентам.
- Методы удаленного доступа - В простой модели клиент-сервер используется метод удаленного обслуживания, при котором каждое действие инициируется клиентом, а сервер просто представляет собой агента, который выполняет заявки клиента. Во многих распределенных системах, особенно в системах, сохраняющих состояние, сервер играет гораздо более активную роль. Он не только обслуживает запросы клиентов, но и участвует в работе механизма обеспечения когерентности, уведомляя клиентов о всех случаях, когда кэшированные в нем данные становятся недостоверными.
[Предыдущая глава]
[Оглавление]
[Следующая глава]
|
 |
 |
 |
|
 |
 |
 |
Новости мира IT:
- 02.02 - Власти РФ согласовали сделку по продаже «Билайна» российскому топ-менеджменту — акции компании выросли
- 02.02 - Сергей Брин снова начал работать программистом в Google
- 02.02 - МТС начнёт выпускать в Твери автомобильные мультимедийные системы с навигацией
- 02.02 - В России возник дефицит чипов для документов — проблема затронула загранпаспорта нового образца
- 01.02 - Microsoft прекратила прямые продажи Windows 10
- 01.02 - «Яндекс» интегрирует в поиск и другие сервисы свой аналог ChatGPT до конца года
- 01.02 - Солнце и ветер дали Европе больше электроэнергии, чем любой другой источник в 2022 году
- 01.02 - Google тестирует на своих сотрудниках потенциальных конкурентов ChatGPT, включая бот Apprentice Bard
- 01.02 - Создатель ChatGPT разработал инструмент для выявления текстов, написанных ИИ
- 30.01 - Роскомнадзор получил более 44 тыс. жалоб о неправомерной обработке персональных данных в 2022 году
- 30.01 - На Apple подали в суд из-за сбора данных пользователей
- 30.01 - «Ростелеком», возможно, интересуется покупкой «Мегафона»
- 30.01 - В идеале Apple стремится создать очки дополненной реальности, которые можно носить весь день
- 30.01 - Российские мобильные операторы перешли на отечественную техподдержку
- 30.01 - Продажа «Билайна» российскому топ-менеджменту затягивается
- 27.01 - «Яндекс» попал в десятку самых посещаемых сайтов в мире
- 27.01 - В списке кредиторов криптобиржи FTX оказались Apple, Google, Amazon, Microsoft, а также авиакомпании, СМИ и университеты
- 27.01 - IBM и SAP показали хорошие квартальные результаты, но всё равно сокращают рабочие места
- 27.01 - От антимонопольного иска против Google выиграет Apple и другие компании
- 26.01 - Власти США подали иск, чтобы заблокировать сделку между Microsoft и Activision Blizzard
Архив новостей
|
 |
 |
 |
|
 |
 |
 |
|
|
 |
 |
|