Лучшие вопросы
Таймлайн
Чат
Перспективы

Распределённая файловая система

Из Википедии, свободной энциклопедии

Remove ads

Распределённая файловая система (clustered file system, CFS) — это файловая система, которая используется совместно и одновременно монтируется на нескольких серверах. Существует несколько подходов к кластеризации,большинство из которых не используют кластеризованную файловую систему (только локальное хранилище для каждого узла). Распределённые файловые системы могут предоставлять такие функции, как независимая от расположения адресация и избыточность, которые повышают надёжность или снижают сложность других частей кластера. Параллельные файловые системы являются разновидностью кластеризованных файловых систем, которые распределяют данные по нескольким узлам хранения, обычно для обеспечения избыточности или повышения производительности[1].

Remove ads

Файловая система с общим диском

Суммиров вкратце
Перспектива

Файловая система с общим диском использует сеть хранения данных (storage area network, SAN) , чтобы предоставить нескольким компьютерам прямой доступ к диску на уровне блоков. Управление доступом и преобразование операций файлового уровня, используемых приложениями, в операции блочного уровня, используемые SAN, должны происходить на клиентском узле. Наиболее распространённый тип кластерной файловой системы, файловая система с общим диском, которая получается путём добавления механизма управления одновременным доступом[англ.], обеспечивает согласованное и сериализуемое представление файловой системы, предотвращая повреждение и непреднамеренную потерю данных даже когда несколько клиентов пытаются получить доступ к одним и тем же файлам одновременно. Файловые системы с общим диском обычно используют какой-либо механизм ограждения[англ.] для предотвращения повреждения данных в случае сбоев узлов, поскольку устройство без ограждения может вызвать повреждение данных, если оно теряет связь со своими соседними узлами и пытается получить доступ к той же информации, к которой обращаются другие узлы.

Область хранения данных может использовать различные протоколы блочного уровня, такие как SCSI, iSCSI, HyperSCSI[англ.], ATA over Ethernet (AoE), Fibre Channel, сетевое блочное устройство[англ.] и InfiniBand.

Существуют различные архитектурные подходы к файловой системе с общим диском. Некоторые распределяют информацию о файлах по всем серверам в кластере (полностью распределённые)[2].

Примеры

Remove ads

Распределённые файловые системы

Суммиров вкратце
Перспектива

Распределённые файловые системы не используют общий доступ на уровне блоков[англ.] к одному и тому же хранилищу, а применяют протокол[3][4]. TОни обычно известны как сетевые файловые системы, хотя и не являются единственными, использующими сеть для передачи данных[5]. Распределённые файловые системы могут ограничивать доступ к файловой системе в зависимости jn списков управления или прав доступа[англ.] как на серверах, так и на клиентах, в зависимости от реализации протокола.

Распределённая файловая система отличается от распределённого хранилища данных[англ.] тем, что первая позволяет получать доступ к файлам с использованием тех же интерфейсов и семантики, что и к локальным файлам. Например, она поддерживает монтирование/размонтирование, перечисление содержимого каталогов, чтение/запись по байтовым границам и использует нативную модель разрешений системы. Распределённые хранилища данных, напротив, требуют применения другого API или библиотеки и имеют иную семантику, чаще всего — базу данных[6].

Цели проектирования

Распределённые файловые системы могут стремиться к «прозрачности» по ряду аспектов. Это означает, что они должны быть «невидимы» для клиентских программ, которые «видят» систему, похожую на локальную файловую систему. За кулисами распределённая файловая система занимается поиском файлов, передачей данных и, возможно, предоставлением других функций, перечисленных ниже.

  • Прозрачность доступа: клиенты не осведомлены о том, что файлы распределены, и могут получать к ним доступ так же, как к локальным файлам.
  • Прозрачность местоположения: существует единое пространство имён, охватывающее как локальные, так и удалённые файлы. Имя файла не указывает на его местоположение.
  • Прозрачность параллелизма: все клиенты имеют одинаковое представление о состоянии файловой системы. Это означает, что если один процесс изменяет файл, любые другие процессы в той же или удаленной системе, обращающиеся к файлам, увидят эти изменения согласованно.
  • Прозрачность отказов: клиент и клиентские программы должны корректно работать после сбоя сервера.
  • Гетерогенность: служба файлов должна предоставляться на различных аппаратных платформах и операционных системах.
  • Масштабируемость: файловая система должна хорошо работать в небольших средах (1 машина, десяток машин), а также плавно масштабироваться до более крупных (сотни или десятки тысяч систем).
  • Прозрачность репликации: Клиенты не должны знать о репликации файлов, выполняемой на нескольких серверах для поддержки масштабируемости.
  • Прозрачность миграции: файлы должны иметь возможность перемещаться между разными серверами без ведома клиента.

История

В 1960-х годах Несовместимая система с разделением времени[англ.][7] применяла виртуальные устройства для прозрачного доступа к файлам между машинами. В 1970-х годах было разработано больше файловых серверов. В 1976 году Digital Equipment Corporation создала File Access Listener (FAL), — реализацию протокола доступа к данным в рамках DECnet Phase II, которая стала первой широко используемой сетевой файловой системой. В 1984 году компания Sun Microsystems создала файловую систему под названием «Network File System» (NFS), которая стала первой широко используемой сетевой файловой системой на основе Internet Protocol[4]. К другим известным сетевым файловым системам относятся Andrew File System (AFS), Apple Filing Protocol (AFP), NetWare Core Protocol (NCP) и Server Message Block (SMB) также известная как Common Internet File System (CIFS).

В 1986 году IBM представила поддержку клиентских и серверных компонентов для архитектуры распределенного управления данными (Distributed Data Management Architecture, DDM) для систем System/36, System/38 и мейнфреймов IBM, работающих под управлением CICS. Впоследствии была добавлена поддержка для IBM PC, AS/400, мейнфреймов IBM под управлением операционных систем MVS, VSE[англ.] и FlexOS. DDM также стала основой для распределенных реляционных баз данных[англ.] (Distributed Relational Database Architecture, DRDA).

Существует множество одноранговых сетевых протоколов с открытым исходным кодом для распределённых файловых систем для облачных сред[англ.] или распределённых файловых систем с закрытым исходным кодом, например: 9P, AFS, Coda, CIFS/SMB, DCE/DFS[англ.], WekaFS[8], Lustre, PanFS[9], Google File System, Mnet, Chord Project[англ.].

Примеры

Remove ads

Сетевое хранилище

Сетевое хранилище (Network-attached storage, NAS) предоставляет как пространство для хранения данных, так и файловую систему, подобно общей файловой системе диска поверх сети хранения данных (storage area network, SAN). NAS обычно использует файловые протоколы (в отличие от блочных протоколов, которые использует SAN), такие как NFS (популярный на системах UNIX), SMB/CIFS (Server Message Block/Common Internet File System) (используется с системами MS Windows systems), AFP (используется с компьютерами Apple Macintosh) или NCP (используется с OES и Novell NetWare).

Принципы проектирования

Суммиров вкратце
Перспектива

Предотвращение единой точки отказа

Сбой дискового оборудования или узла хранения в кластере может привести к единой точке отказа, что чревато потерей данных или их недоступностью. Отказоустойчивость и высокая доступность достигаются за счёт репликации данных того или другого вида, которая гарантирует их сохранность и доступность даже при выходе из строя любого отдельного компонента.

Производительность

Одной из стандартных метрик производительности распределенной файловой системы является время, необходимое для выполнения запросов на обслуживание. В традиционных системах это время складывается из времени доступа к диску и незначительного времени обработки данных центральным процессором, Однако в распределённой файловой системе удаленный доступ сопряжен с дополнительными накладными расходами, обусловленными распределённой структурой. К ним относятся время доставки запроса серверу, время доставки ответа клиенту, а также, в обоих направлениях, процессорные затраты на выполнение программного обеспечения протокола связи.

Конкурентный доступ

Управление параллельным доступом становится проблемой, когда несколько пользователей или клиентов одновременно обращаются к одному и тому же файлу или блоку данных и хотят внести в них изменения. Поэтому изменения, вносимые одним клиентом, не должны мешать доступу и изменениям со стороны других клиентов. Эта проблема усложняется в файловых системах из-за одновременных перекрывающихся записей, когда разные пользователи записывают данные в перекрывающиеся области файла одновременно[10]. Обычно эта проблема решается с помощью управления параллельными заданиями[англ.] или блокировки, которые могут быть встроены в файловую систему или предоставляться дополнительным протоколом.

Remove ads

История

В 1970-х годах мэйнфреймы IBM могли совместно использовать физические диски и файловые системы, если каждая машина имела собственное канальное подключение к блокам управления накопителями. В 1980-х годах кластеры Digital Equipment Corporation с операционными системами TOPS-20 и OpenVMS (VAX/ALPHA/IA64) включали в себя файловые системы с общим доступом к дискам[11].

См. Также

Примечания

Литература для дальнейшего чтения

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads