GlusterFS — petabyte storage

Недавно возникла необходимость построить отказоустойчивое хранилище с полезным объемом в 1 Пб. Так как обычная репликация требует x2 по объему, хотелось использовать erasure coding который позволяет получить как минимум 2/3 от сырого пространства. Конечно, EC не такой быстрый как обычная репликация, но в данном конкретном случае он полностью удовлетворял требования к производительности.
Все это хорошо думал я, но у меня не было ранее опыта построения хранилищ такого объема. Более того, я не видел статистики подобного характера по GlusterFS. Закрались сомнения, можно ли используя EC построить хранилище на 1Пб в принципе.
Я решил написать на рассылку GlusterFS и узнать о размерах хранилищ с EC.

Читать дальше

GlusterFS — новый класс хранилищ данных

Высокопроизводительные и надежные хранилища данных были и остаются дорогим удовольствием, которое не всем по карману. Полноценное использование технологий виртуализации зачастую невозможно из-за отсутствия именно этого компонента инфраструктуры. И здесь кстати мнения расходятся. Кто то считает, что замены промышленным СХД быть не может. Я же уверен, что существуют значительно более дешевые альтернативы. Более того, мне кажется, что за подобными решениями будущее и современная тенденция, кажется, к этому все и склоняет. Ниже я расскажу и покажу что из себя представляет одна из альтернатив под названием Glus­terFS — а выбор, естественно, за вами.

Glus­terFS часть 1. Что за зверь?
Glus­terFS часть 2. Архитектура
Glus­terFS часть 3. Установка
Glus­terFS часть 4. Типы томов
Glus­terFS часть 5. Создание томов
Glus­terFS часть 6. Монтирование томов
Glus­terFS часть 7. Glus­terFS и oVirt
Glus­terFS часть 8. Тонкая настройка
Glus­terFS часть 9. Квоты

Материалы опубликованы в журнале «Системный администратор»

Читать дальше

Glus­terFS часть 9. Квоты

GlusterFS. Все статьи цикла

Еще одна интересная возможность которая очень полезна в облачной среде, где одним томом может пользоваться множество пользователей.

Читать дальше

Glus­terFS часть 8. Тонкая настройка

GlusterFS. Все статьи цикла

При создании нового тома, в рабочей директории по умолчанию (/var/lib/glusterd/vols) создается поддиректория с именем соответствующим названию тома. В этом каталоге размещается вся служебная информация о конкретном томе среди которой несколько файлов с расширением *.vol. Главный из них это trusted-<имя-тома>-fuse.vol, он описывает общие параметры тома; информацию о серверах, топологию репликации, и некоторые общие параметры используемых трансляторов. В файлах <имя-тома>-<имя-сервера>-<имя-каталога>.vol описываются параметры трансляторов серверов.

Читать дальше

Glus­terFS часть 7. Glus­terFS и oVirt

GlusterFS. Все статьи цикла

Платформе виртуализации oVirt была посвящена большая статья в моем блоге. Здесь же мы рассмотрим вариант когда в роли узлов хранения выступают вычислительные узлы oVirt(Nodes). Такой сценарий полностью поддерживается. Более того, управлять томами на вычислительных узлах можно прямо в интерфейсе oVirt без погружения в консоль.

Читать дальше

Glus­terFS часть 6. Монтирование томов

GlusterFS. Все статьи цикла

Наиболее популярные средства для доступа к Gluster-тому это NFS и собственный клиент(Gluster Native Client)

Подключить том по NFS можно без какой либо подготовки системы:

mount gl01:/<имя_тома> /<каталог_монтирования>

В таком случае, сервис Gluster на узлах хранения подгрузит соответствующий транслятор и будет вести себя как NFS-сервер третей версии.

А вот что бы пользоваться клиентом, придется предварительно его установить:

на Ubuntu:

apt-get install glusterfs-client

 на CentOS:

yum -y install glusterfs glusterfs-fuse

Читать дальше

Glus­terFS часть 5. Создание томов

GlusterFS. Все статьи цикла

Может показаться, что управление GlusterFS — нетривиальная задача, но на практике все очень просто и практически интуитивно.

Прежде чем создать распределенный по нескольким узлам том, необходимо объединить серверы в доверенный пул.

Если у вас два сервера, например gl01 и gl02, то на первом выполняем следующую команду;

gluster peer probe gl02 

peer probe: success.

 Если серверов больше, то тоже самое выполняем с остальными.

Читать дальше

Glus­terFS часть 4. Типы томов

GlusterFS. Все статьи цикла

В следующем разделе пойдут конкретные примеры использования, поэтому будет уместно ознакомиться с типами томов.

Distributed — распределенный том. Тип тома, при котором данные распределяются равномерно (в произвольном порядке) по всем под томам. Например первый файл будет записан на первый сервер а второй файл — на третий. Тома такого типа очень хорошо и легко масштабируются, но никак не защищены средствами GlusterFS. Надежность Distributed тома необходимо обеспечить отдельно на аппаратном или программном уровне. В случае выхода из строя сервера или его дисков, данные находящиеся на нем будут не доступны. Самое интересное в этой схеме, что совершенно непредсказуемо, какие именно данные будут потеряны.

Читать дальше

Glus­terFS часть 3. Установка

GlusterFS. Все статьи цикла

GlusterFS работает в пространстве пользователя и не требует поддержки со стороны ядра, что позволяет использовать ее практически в любых дистрибутивах.
Готовые для установки пакеты с GlusterFS 3.5 подготовлены для Fedora, RHEL, CentOS, Debian, openSUSE, SLES и Ubuntu.

Читать дальше

Glus­terFS часть 2. Архитектура

GlusterFS. Все статьи цикла

GlusterFS имеет клиент-серверную архитектуру расширяемую за счет различных модулей(трансляторов).
Серверы здесь — это узлы хранения (Storage Node). На каждом таком узле работает служба glusterd которая предоставляет доступ клиентам к локальным файловым системам. Одна экспортируемая файловая система узла хранения называется «brick» (кирпич). В рамках статьи я так же буду использовать термин «под том». Таких кирпичей на одном сервере может быть множество. Например на одном диске или массиве может быть несколько разделов с различными файловыми системами каждая из которых будет отдельным кирпичом.
Несколько серверов объединяются в кластер или пул хранения данных (Trusted Storage Pool), в терминологии GlusterFS. В рамках пула хранения, под тома на различных узлах объединяются в логические тома(volumes) различной конфигурации. Клиентская часть, взаимодействуя с узлами кластера, совершенно прозрачно для приложений монтирует логический том посредством механизма FUSE.

Читать дальше