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.

Оцените статью
cdelat.ru
Добавить комментарий