
Распределенные файловые системы — это решение для хранения и управления данными, которые уже не помещаются на обычном сервере. Недостаток емкости может быть обусловлен не только объемом данных. Например, если данные, которые необходимо хранить, неструктурированы, то классическая файловая система с файловой структурой не подойдет.
- Сохранение больших объемов данных — GlusterFS и Ceph делают это возможным
- Высокая доступность имеет решающее значение
- Краткое введение в GlusterFS
- Функциональные возможности GlusterFS
- Краткое введение в Ceph
- Функциональные возможности Ceph
- Сравнение: GlusterFS против Ceph
- Когда следует использовать ту или иную систему?
Сохранение больших объемов данных — GlusterFS и Ceph делают это возможным
При использовании массовых данных реальный объем данных в начале проекта неизвестен. Поэтому системы должны быть легко расширяемыми на дополнительные серверы, которые в процессе работы легко интегрируются в существующую систему хранения. Для пользователя так называемые «распределенные файловые системы» выглядят как один файл в обычной файловой системе, и он не подозревает, что отдельные данные или даже большая часть общих данных на самом деле могут находиться на нескольких серверах, которые иногда находятся в разных географических точках. Поскольку GlusterFS и Ceph уже являются частью программного слоя операционных систем Linux, они не предъявляют особых требований к оборудованию. Linux работает на любом стандартном сервере и поддерживает все распространенные типы жестких дисков.
Высокая доступность имеет решающее значение
Высокая доступность — важная тема, когда речь идет о распределенных файловых системах. Необходимо максимально избегать сбоев в работе оборудования, а программное обеспечение, необходимое для работы, должно иметь возможность бесперебойной работы даже при добавлении новых компонентов. Работы по обслуживанию должны выполняться во время работы системы, а все важные метаданные не должны сохраняться в одном центральном месте. Доступ к метаданным должен быть децентрализованным, а избыточность данных должна быть фактором на все времена. Сбой в работе сервера никогда не должен негативно влиять на согласованность всей системы. GlusterFS и Ceph — это две системы с разными подходами, которые можно расширить практически до любого размера и использовать для сбора и поиска данных из больших проектов в одной системе.
Термин «большие данные» используется по отношению к очень большим, сложным и неструктурированным объемным данным, которые собираются с научных датчиков (например, спутников GPS), метеорологических сетей или статистических источников. В дополнение к хранению, эффективные возможности поиска и систематизация данных также играют важную роль при работе с большими данными.
Краткое введение в GlusterFS
GlusterFS — это распределенная файловая система с модульной конструкцией. Различные серверы соединены друг с другом с помощью сети TCP/IP. Будучи POSIX (Portable Operating System Interface) — совместимой файловой системой, GlusterFS может быть легко интегрирована в существующие серверные среды Linux. Это также относится к FreeBSD, OpenSolaris и macOS, которые поддерживают POSIX. Интеграция в среду Windows может быть достигнута только окольным путем, используя Linux-сервер в качестве шлюза.
Функциональные возможности GlusterFS
В начале своего существования GlusterFS была классической файловой системой хранения данных, которая позже стала объектно-ориентированной, и в этот момент особое значение придавалось оптимальной интеграции в известное облачное решение с открытым исходным кодом OpenStack. GlusterFS по-прежнему работает в фоновом режиме на файловой основе, то есть каждому файлу присваивается объект, который интегрируется в файловую систему через жесткую связь. Для пользователя нет выделенных серверов, поскольку в его распоряжении есть собственные интерфейсы для сохранения своих данных на GlusterFS, которая представляется ему как полноценная система.
Плюсы | Минусы |
---|---|
Легкая интеграция в системы Linux | Интеграция в системы Windows может быть осуществлена только косвенно |
POSIX-совместимость | |
Поддерживает FUSE (файловая система в пространстве пользователя) |
Краткое введение в Ceph
Распределенное решение для хранения данных с открытым исходным кодом Ceph — это объектно-ориентированная система хранения, которая работает с использованием бинарных объектов, тем самым устраняя жесткую блочную структуру классических носителей данных. Физически Ceph также использует жесткие диски, но имеет собственный алгоритм управления бинарными объектами, которые затем могут быть распределены между несколькими серверами и впоследствии собраны воедино.
Функциональные возможности Ceph
Каждый компонент децентрализован, и все OSD (Object-Based Storage Devices) равны друг другу. Таким образом, любое количество серверов с различными жесткими дисками может быть соединено для создания единой системы хранения данных. Ceph может быть интегрирован несколькими способами в существующие системные среды с помощью трех основных интерфейсов: CephFS как драйвер файловой системы Linux, RADOS Block Devices (RBD) как устройства Linux, которые могут быть интегрированы напрямую, и RADOS Gateway, который совместим со Swift и Amazon S3.
Плюсы | Минусы |
---|---|
Легкая интеграция во все системы, независимо от используемой операционной системы | Более слабые функции файловой системы |
Блочное устройство для Linux | Требуется больше усилий по интеграции из-за совершенно новых структур хранения данных |
Файловая система CephFS для Linux | |
API Amazon S3 | |
Бесшовное подключение к аутентификации Keystone | |
Модуль FUSE (файловая система в пространстве пользователя) для поддержки систем без клиента CephFS |
Сравнение: GlusterFS против Ceph
Из-за технических различий между GlusterFS и Ceph нет однозначного победителя. Ceph по сути является объектно-ориентированной памятью для неструктурированных данных, в то время как GlusterFS использует иерархии деревьев файловой системы в блочном хранилище. GlusterFS берет свое начало в высокоэффективной файловой системе хранения данных, которая продолжает развиваться в более объектно-ориентированном направлении. В отличие от нее, Ceph с самого начала разрабатывалась как бинарное объектное хранилище, а не как классическая файловая система, что может привести к ослаблению стандартных операций файловой системы.
GlusterFS | Ceph |
---|---|
Сильные стороны файловой системы | Сильные стороны объектного хранилища |
Более быстрый алгоритм хранения | Лучшая производительность на более простом оборудовании |
Нет необходимости в центральном сервере метаданных | Легкая интеграция во все системы, независимо от используемой операционной системы |
Меньшая сложность | Блочное устройство для Linux |
Лучшая приспособленность для сохранения больших файлов (начиная примерно с 4 МБ на файл) | Более легкие возможности для создания модификаций в соответствии с требованиями заказчика |
Лучшая пригодность для данных с последовательным доступом | Совместимость с RADOS |
Когда следует использовать ту или иную систему?
Благодаря разнообразию API, Ceph хорошо работает в гетерогенных сетях, в которых наряду с Linux используются другие операционные системы. Но сильные стороны GlusterFS выходят на первый план, когда речь идет о хранении большого количества классических, а также больших файлов. Поскольку Ceph с самого начала разрабатывался как решение с открытым исходным кодом, его было легче интегрировать во многие места раньше, чем GlusterFS, который только позже стал с открытым исходным кодом. Одним из основных применений распределенной памяти являются облачные решения. В этом отношении OpenStack является одним из наиболее важных программных проектов, предлагающих архитектуры для облачных вычислений. И GlusterFS, и Ceph одинаково хорошо работают с OpenStack.