stringtranslate.com

Кластерная файловая система

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

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

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

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

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

Примеры

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

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

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

Цели дизайна

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

История

Несовместимая система разделения времени использовала виртуальные устройства для прозрачного доступа к файловой системе между машинами в 1960-х годах. В 1970-х годах было разработано больше файловых серверов. В 1976 году компания Digital Equipment Corporation создала File Access Listener (FAL), реализацию протокола доступа к данным в рамках DECnet Phase II, которая стала первой широко используемой сетевой файловой системой. В 1984 году компания Sun Microsystems создала файловую систему под названием « Network File System » (NFS), которая стала первой широко используемой сетевой файловой системой на основе интернет-протокола . [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 Personal Computer , AS/400 , мэйнфреймов IBM под управлением операционных систем MVS и VSE , а также FlexOS . DDM также стала основой для Distributed Relational Database Architecture , также известной как DRDA.

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

Примеры

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

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

Соображения по дизайну

Избежание единой точки отказа

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

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

Распространенным измерением производительности кластерной файловой системы является количество времени, необходимое для удовлетворения запросов на обслуживание. В обычных системах это время состоит из времени доступа к диску и небольшого количества времени обработки ЦП . Но в кластерной файловой системе удаленный доступ имеет дополнительные накладные расходы из-за распределенной структуры. Это включает время доставки запроса на сервер, время доставки ответа клиенту и для каждого направления накладные расходы ЦП на выполнение программного обеспечения протокола связи .

Параллелизм

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

История

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

Смотрите также

Ссылки

  1. ^ Saify, Amina; Kochhar, Garima; Hsieh, Jenwei; Celebioglu, Onur (май 2005 г.). «Улучшение высокопроизводительных вычислительных кластеров с помощью параллельных файловых систем» (PDF) . Dell Power Solutions . Dell Inc . Получено 6 марта 2019 г. .
  2. ^ Мокадем, Риад; Литвин, Витольд; Шварц, Томас (2006). «Резервное копирование диска с помощью алгебраических сигнатур в масштабируемых распределенных структурах данных» (PDF) . DEXA 2006 Springer . Получено 8 июня 2006 г. .
  3. ^ Зильбершатц, Авраам; Гэлвин, Питер; Ганье, Грег (2009). «Концепции операционных систем, 8-е издание» (PDF) . Вавилонский университет . John Wiley & Sons, Inc. стр. 705–725. Архивировано из оригинала (PDF) 6 марта 2019 г. . Получено 4 марта 2019 г. .
  4. ^ ab Arpaci-Dusseau, Remzi H.; Arpaci-Dusseau, Andrea C. (2014), Сетевая файловая система Sun (PDF) , Книги Arpaci-Dusseau
  5. ^ Сандберг, Рассел (1986). «Файловая система Sun Network: проектирование, реализация и опыт» (PDF) . Труды летней технической конференции и выставки USENIX 1986 года . Sun Microsystems, Inc. Получено 6 марта 2019 г. NFS была разработана для упрощения совместного использования ресурсов файловой системы в сети неоднородных машин.
  6. ^ Собх, Тарек (2008). Достижения в области компьютерных и информационных наук и инженерии . Springer Science & Business Media. С. 423–440. Bibcode :2008acis.book.....S.
  7. ^ "Распределенные файловые системы Weka (DFS)". weka.io . 2021-04-27 . Получено 2023-10-12 .
  8. ^ "PanFS Parallel File System". panasas.com . Получено 2023-10-12 .
  9. ^ Пессах, Янив (2013). Распределенное хранилище: концепции, алгоритмы и реализации . ISBN 978-1482561043
  10. ^ Мерфи, Дэн (1996). «Истоки и развитие TOPS-20». Дэн Мерфи. Амбициозные планы для Юпитера . Получено 6 марта 2019 г. В конечном итоге и VMS, и TOPS-20 предоставили такого рода возможности.

Дальнейшее чтение