Кластерная файловая система
В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Кластерная файловая система ( CFS ) — это файловая система , которая используется совместно путем одновременного монтирования на нескольких серверах . Существует несколько подходов к кластеризации , большинство из которых не используют кластеризованную файловую систему (только хранилище с прямым подключением к каждому узлу). Кластерные файловые системы могут предоставлять такие функции, как адресация, независимая от местоположения, и избыточность, которые повышают надежность или уменьшают сложность других частей кластера. Параллельные файловые системы — это тип кластерной файловой системы, которая распределяет данные по нескольким узлам хранения, обычно для обеспечения избыточности или производительности. [1]
Файловая система общего диска
[ редактировать ]Файловая система с общим диском использует сеть хранения данных (SAN), чтобы позволить нескольким компьютерам получить прямой доступ к диску на уровне блоков . Управление доступом и преобразование операций на уровне файлов, которые используют приложения, в операции на уровне блоков, используемые SAN, должны выполняться на клиентском узле. Самый распространенный тип кластерной файловой системы, файловая система с общим диском, благодаря добавлению механизмов управления параллелизмом , обеспечивает согласованное и сериализуемое представление файловой системы, избегая повреждения и непреднамеренной потери данных , даже когда несколько клиентов пытаются получить доступ к одним и тем же файлам. в то же время. Файловые системы с общими дисками обычно используют своего рода механизм ограждения для предотвращения повреждения данных в случае сбоев узлов, поскольку незащищенное устройство может вызвать повреждение данных, если оно потеряет связь со своими родственными узлами и попытается получить доступ к той же информации, к которой обращаются другие узлы. .
Базовая сеть хранения данных может использовать любой из множества протоколов блочного уровня, включая SCSI , iSCSI , HyperSCSI , ATA over Ethernet (AoE), Fibre Channel , сетевое блочное устройство и InfiniBand .
Существуют разные архитектурные подходы к файловой системе общего диска. Некоторые распределяют информацию о файлах по всем серверам кластера (полностью распределяя). [2]
Примеры
[ редактировать ]- Кластерная файловая система Blue Whale (BWFS)
- Кластерная файловая система Silicon Graphics (SGI) ( CXFS )
- Кластерная файловая система Veritas
- Microsoft Общие тома кластера (CSV)
- DataPlow Nasan Файловая система
- Общая параллельная файловая система IBM (GPFS)
- Кластерная файловая система Oracle (OCFS)
- OpenVMS Files-11 Файловая система
- Решения для хранения данных PolyServe
- Файловая система Quantum StorNext (SNFS), бывшая ADIC, бывшая файловая система CentraVision (CVFS)
- Red Hat Глобальная файловая система (GFS2)
- Вс QFS
- ТерраСкейл Технологии ТерраФС
- Veritas CFS (Кластерная файловая система: кластеризованная файловая система VxFS)
- Versity VSM (SAM-QFS, портированный на Linux), ScoutFS
- VMware VMFS
- ВекаФС
- Яблоко Ксан
- DragonFly BSD HAMMER2
Распределенные файловые системы
[ редактировать ]Распределенные файловые системы не имеют общего доступа на уровне блоков к одному и тому же хранилищу, а используют сетевой протокол . [3] [4] Они широко известны как сетевые файловые системы , хотя они не единственные файловые системы, использующие сеть для отправки данных. [5] Распределенные файловые системы могут ограничивать доступ к файловой системе в зависимости от списков доступа или возможностей как серверов, так и клиентов, в зависимости от того, как разработан протокол.
Разница между распределенной файловой системой и распределенным хранилищем данных заключается в том, что распределенная файловая система позволяет получать доступ к файлам с использованием тех же интерфейсов и семантики, что и к локальным файлам – например, монтирование/размонтирование, составление списка каталогов, чтение/запись на границах байтов, собственная модель разрешений системы. Распределенные хранилища данных, напротив, требуют использования другого API или библиотеки и имеют другую семантику (чаще всего семантику базы данных). [6]
Цели дизайна
[ редактировать ]Распределенные файловые системы могут стремиться к «прозрачности» во многих аспектах. То есть они стремятся быть «невидимыми» для клиентских программ, которые «видят» систему, аналогичную локальной файловой системе. За кулисами распределенная файловая система обеспечивает поиск файлов, транспортировку данных и потенциально предоставляет другие функции, перечисленные ниже.
- Прозрачность доступа : клиенты не знают, что файлы распространяются, и могут получить к ним доступ так же, как и к локальным файлам.
- Прозрачность расположения : существует согласованное пространство имен, охватывающее как локальные, так и удаленные файлы. Имя файла не указывает его местоположение.
- Прозрачность параллелизма : все клиенты имеют одинаковое представление о состоянии файловой системы. Это означает, что если один процесс изменяет файл, любые другие процессы в той же системе или удаленных системах, которые обращаются к файлам, увидят изменения соответствующим образом.
- Прозрачность сбоев : клиент и клиентские программы должны работать корректно после сбоя сервера.
- Гетерогенность : файловая служба должна предоставляться на разных аппаратных платформах и платформах операционных систем.
- Масштабируемость : файловая система должна хорошо работать в небольших средах (1 машина, дюжина машин), а также легко масштабироваться до более крупных систем (от сотен до десятков тысяч систем).
- Прозрачность репликации . Клиентам не нужно знать о репликации файлов, выполняемой на нескольких серверах, для поддержки масштабируемости.
- Прозрачность миграции : файлы должны иметь возможность перемещаться между разными серверами без ведома клиента.
История
[ редактировать ]В 1960-х годах несовместимая система разделения времени использовала виртуальные устройства для прозрачного межмашинного доступа к файловой системе. В 1970-х годах было разработано больше файловых серверов. В 1976 году компания Digital Equipment Corporation создала прослушиватель доступа к файлам (FAL), реализацию протокола доступа к данным в рамках фазы II DECnet , которая стала первой широко используемой сетевой файловой системой. В 1984 году компания Sun Microsystems создала файловую систему под названием « Сетевая файловая система » (NFS), которая стала первой широко используемой сетевой файловой системой на основе Интернет-протокола . [4] Другими известными сетевыми файловыми системами являются файловая система Эндрю (AFS), файловый протокол Apple (AFP), базовый протокол NetWare (NCP) и блок сообщений сервера (SMB), который также известен как общая файловая система Интернета (CIFS).
В 1986 году IBM объявила о поддержке клиентской и серверной архитектуры распределенного управления данными (DDM) для мейнфреймов System/36 , System/38 и IBM под управлением CICS . За этим последовала поддержка IBM Personal Computer , AS/400 , мэйнфреймов IBM под операционными системами MVS и VSE , а также FlexOS . DDM также стал основой для архитектуры распределенной реляционной базы данных , также известной как DRDA.
Существует множество одноранговых сетевых протоколов для распределенных файловых систем с открытым исходным кодом для облачных или кластерных файловых систем с закрытым исходным кодом, например: 9P , AFS , Coda , CIFS/SMB , DCE/DFS , WekaFS, [7] Блеск , ПанФС, [8] Файловая система Google , Mnet , Chord Project .
Примеры
[ редактировать ]- Аллюксио
- BeeGFS (Фраунгофера)
- CephFS (Inktank, Red Hat, SUSE)
- Распределенная файловая система Windows (DFS) (Microsoft)
- Infinit (приобретена Docker)
- ГфармФС
- ГлюстерФС (Красная шляпа)
- GFS (Google Inc.)
- GPFS (IBM)
- HDFS (Фонд программного обеспечения Apache)
- IPFS (Межпланетарная файловая система)
- iRODS
- LizardFS (Небесные технологии)
- Блеск
- МапР ФС
- MooseFS (основная технология / Gemius)
- ЦельFS
- OneFS (EMC Isilon)
- OrangeFS (Университет Клемсона, Omnibond Systems), ранее параллельная виртуальная файловая система
- ПанФС (Панасас)
- Параллельная виртуальная файловая система (Университет Клемсона, Аргоннская национальная лаборатория, Суперкомпьютерный центр Огайо)
- РозоФС (Розо Системс)
- СМБ/CIFS
- Тор (CoreOS)
- ВекаФС (ВекаИО)
- XtreemFS
Сетевое хранилище
[ редактировать ]Сетевое хранилище (NAS) обеспечивает как хранилище, так и файловую систему, например файловую систему общего диска поверх сети хранения данных (SAN). NAS обычно использует файловые протоколы (в отличие от блочных протоколов, которые использует SAN), такие как NFS (популярный в системах UNIX ), SMB/CIFS ( блокировка сообщений сервера/общая файловая система Интернета ) (используется в системах MS Windows). , AFP (используется с компьютерами Apple Macintosh ) или NCP (используется с OES и Novell NetWare ).
Рекомендации по проектированию
[ редактировать ]Как избежать единой точки отказа
[ редактировать ]Отказ дискового оборудования или конкретного узла хранения в кластере может создать единую точку отказа , которая может привести к потере или недоступности данных . Отказоустойчивость и высокая доступность могут быть обеспечены за счет репликации данных того или иного типа, так что данные остаются нетронутыми и доступными, несмотря на выход из строя какого-либо отдельного оборудования. Примеры см. в списках распределенных отказоустойчивых файловых систем и распределенных параллельных отказоустойчивых файловых систем .
Производительность
[ редактировать ]Обычным производительности показателем кластерной файловой системы является количество времени, необходимое для удовлетворения запросов на обслуживание. В обычных системах это время состоит из времени доступа к диску и небольшого времени обработки ЦП . Но в кластерной файловой системе удаленный доступ требует дополнительных затрат из-за распределенной структуры. Сюда входит время доставки запроса на сервер, время доставки ответа клиенту, а также для каждого направления нагрузка ЦП на запуск протокола связи программного обеспечения .
Параллелизм
[ редактировать ]Управление параллелизмом становится проблемой, когда несколько человек или клиентов обращаются к одному и тому же файлу или блоку и хотят его обновить. Следовательно, обновления файла от одного клиента не должны мешать доступу и обновлениям от других клиентов. Эта проблема более сложна для файловых систем из-за одновременной перекрывающейся записи, когда разные записывающие устройства одновременно записывают в перекрывающиеся области файла. [9] Эта проблема обычно решается с помощью управления параллелизмом или блокировки , которые могут быть либо встроены в файловую систему, либо обеспечены дополнительным протоколом.
История
[ редактировать ]Мейнфреймы IBM в 1970-х годах могли совместно использовать физические диски и файловые системы, если бы каждая машина имела собственное канальное соединение с блоками управления дисками. В 1980-х годах . дисками кластеры TOPS-20 и OpenVMS (VAX/ALPHA/IA64) компании Digital Equipment Corporation включали файловые системы с общими [10]
См. также
[ редактировать ]- Распределенная файловая система
- Кластерный NAS
- Сеть хранения данных
- Общий ресурс
- Хранилище с прямым подключением
- Одноранговый обмен файлами
- Общий доступ к диску
- Распределенное хранилище данных
- Распределенная файловая система для облака
- Глобальная файловая система
- Суслик (протокол)
- Список распределенных файловых систем
- КэшФС
- Рейд
Ссылки
[ редактировать ]- ^ Сайфи, Амина; Кочхар, Гарима; Се, Дженвэй; Челебиоглу, Онур (май 2005 г.). «Повышение производительности кластеров высокопроизводительных вычислений с помощью параллельных файловых систем» (PDF) . Решения Dell Power . Делл Инк . Проверено 6 марта 2019 г.
- ^ Мокадем, Риад; Литвин, Витольд; Шварц, Томас (2006). «Резервное копирование диска с помощью алгебраических сигнатур в масштабируемых распределенных структурах данных» (PDF) . DEXA 2006 Спрингер . Проверено 8 июня 2006 г.
- ^ Зильбершац, Авраам; Гэлвин, Питер; Ганье, Грег (2009). «Концепции операционной системы, 8-е издание» (PDF) . Вавилонский университет . John Wiley & Sons, Inc., стр. 705–725. Архивировано из оригинала (PDF) 6 марта 2019 года . Проверено 4 марта 2019 г.
- ^ Jump up to: а б Арпачи-Дюссо, Ремзи Х.; Арпачи-Дюссо, Андреа К. (2014), Сетевая файловая система Sun (PDF) , Книги Арпачи-Дюссо
- ^ Сандберг, Рассел (1986). «Файловая система Sun Network: проектирование, реализация и опыт» (PDF) . Материалы летней технической конференции и выставки USENIX 1986 г. Сан Микросистемс, Инк . Проверено 6 марта 2019 г.
NFS была разработана для упрощения совместного использования ресурсов файловой системы в сети неоднородных компьютеров.
- ^ Собх, Тарек (2008). Достижения в области компьютерных и информационных наук и техники . Springer Science & Business Media. стр. 423–440. Бибкод : 2008acis.book.....S .
- ^ «Распределенные файловые системы Weka (DFS)» . weka.io. 27 апреля 2021 г. Проверено 12 октября 2023 г.
- ^ «Параллельная файловая система PanFS» . panasas.com . Проверено 12 октября 2023 г.
- ^ Песах, Янив (2013). Распределенное хранилище: концепции, алгоритмы и реализации . ISBN 978-1482561043 .
- ^ Мерфи, Дэн (1996). «Истоки и развитие ТОПС-20» . Дэн Мерфи. Амбициозные планы на Юпитер . Проверено 6 марта 2019 г.
В конечном итоге и VMS, и TOPS-20 предоставили такую возможность.