Рубрика:
Администрирование /
Хранение данных
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
АЛЕКСАНДР РУДЕНКО, ЗАО «Молдавская ГРЭС», администратор информационной безопасности, a.rudikk@gmail.com
GlusterFS – новый класс хранилищ данных
Рассмотрим архитектуру и особенности, варианты использования и примеры настройки
Высокопроизводительные и надежные хранилища данных были и остаются дорогим удовольствием, которое не всем по карману. Например, полноценное использование технологий виртуализации зачастую невозможно из-за отсутствия именно этого компонента инфраструктуры. Но здесь, кстати, мнения расходятся. Кто-то считает, что замены промышленным СХД быть не может. Я же уверен, что существуют значительно более дешевые варианты. Более того, мне кажется, что за подобными решениями будущее, и современные тенденции тоже свидетельствует об этом.
Итак, расскажу и покажу один из экономичных вариантов файловой системы под названием GlusterFS. А выбор, естественно, за вами.
Про GlusterFS
GlusterFS – это распределенная, параллельная, линейно масштабируемая файловая система (ФС) с возможностью защиты от сбоев. С ее помощью можно объединить множество хранилищ данных, размещенных на разных серверах (горизонтальное масштабирование) в одну сетевую файловую систему. Также возможно объединение нескольких хранилищ одного сервера (вертикальное масштабирование). Защита от сбоев достигается с помощью различных политик дублирования данных.
GlusterFS использует механизмы FUSE (ФС в пользовательском пространстве) и работает поверх любых POSIX файловых систем, например, Ext3, Ext4, XFS, Btrfs. В качестве транспорта – Infiniband RDMA и TCP/IP.
В отличие от других распределенных ФС, таких как Lustre и Ceph, для работы GlusterFS не требуется отдельный сервер для хранения метаданных. В нашем случае они хранятся вместе с данными в расширенных атрибутах файлов. Благодаря отсутствию привязки к централизованному серверу метаданных ФС предоставляет практически не ограниченную масштабируемость. Объем хранилища может измеряться петабайтами.
Правда, здесь есть один нюанс. Из-за отсутствия центрального сервера метаданных поиск файлов происходит на всех серверах, и это может отрицательно сказаться на производительности. По этой причине ФС GlusterFS наиболее эффективна для хранения больших файлов, т.к. время поиска с лихвой компенсируется временем их загрузки.
Коротко об остальных возможностях ФС:
- можно использовать любое оборудование (подойдет даже ARM);
- работает через стандартные протоколы NFS, SMB/CIFS или нативный клиент;
- автоматическое обнаружение отказа отдельного хранилища (Brick Failure Detection);
- возможно создание снапшотов отдельных файлов;
- возможно сжатие данных при передаче по сети;
- поддерживается шифрование данных дисковых разделов на стороне сервера с использованием ключей, доступных только клиенту. При этом шифруется лишь содержимое файлов, имена и метаданные остаются незашифрованными. Шифрование не применимо при использовании NFS;
- оптимизирована для использования в качестве распределенного хранилища образов виртуальных машин (ВМ);
- интеграция с QEMU и Samba, позволяющая организовать прямой доступ к данным, хранимым в GlusterFS, без монтирования раздела;
- может использоваться в качестве первичного хранилища в OpenStack;
- механизм zerofill позволяет заполнять нулями новые образы ВМ;
- поддерживается асинхронная георепликация по модели master–slave.
Примечание. FUSE – это модуль ядра в ОС UNIX и Linux, который является своего рода посредником между пользовательским пространством и пространством ядра. FUSE предоставляет интерфейс ядра (API), с помощью которого непривилегированные процессы получают доступ к низкоуровневым механизмам ФС (посредством VFS). Благодаря этому можно написать свою собственную ФС, которая будет обладать практически всеми возможностями низкоуровневой ФС, но работать с правами обычного пользователя. Конечно же, наличие данной прослойки сказывается на производительности ФС, но сегодня даже среднее по производительности оборудование может компенсировать этот недостаток. Наиболее известные ФС, использующие механизм FUSE: SSHFS (SSH Filesystem), EncFS (Encrypted Filesystem), NTFS-3G.
GlusterFS сегодня
Работа над GlusterFS была начата в 2005 году. В 2011-м проект приобретен компанией Red Hat и лег в основу Red Hat Storage Server [1]. Сегодня код ФС полностью открыт, а проект Gluster трансформирован в новое сообщество для разработки свободных проектов, связанных с системами хранения данных [2]. GlusterFS используют Pandora, Box.net, Samsung, Autodesk, Deutche Bank – и это лишь те компании, которые я смог отыскать.
Архитектура
GlusterFS имеет клиент-серверную архитектуру, расширяемую за счет различных модулей (трансляторов).
Серверы здесь – это узлы хранения (Storage Node). На каждом таком узле работает служба glusterd, которая предоставляет доступ клиентам к локальным ФС. Одна экспортируемая файловая система узла хранения называется «brick» (кирпич).
В статье я также буду использовать термин «подтом». Таких кирпичей на одном сервере может быть множество. Например, на одном диске или массиве может быть несколько разделов с различными ФС, каждая из которых будет отдельным кирпичом.
Несколько серверов объединяются в кластер или пул хранения данных (Trusted Storage Pool), в терминологии GlusterFS. В рамках пула хранения подтома на различных узлах объединяются в логические тома (volumes) различной конфигурации. Клиентская часть, взаимодействуя с узлами кластера, совершенно прозрачно для приложений монтирует логический том посредством механизма FUSE.
На одном компьютере допускается работа как серверной, так и клиентской части.
Статью целиком читайте в журнале «Системный администратор», №10 за 2014 г. на страницах 14-20.
PDF-версию данного номера можно приобрести в нашем магазине.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|