Interested Article - GlusterFS

GlusterFS — распределённая, параллельная, линейно масштабируемая файловая система с возможностью защиты от сбоев. С помощью InfiniBand RDMA или TCP/IP GlusterFS может объединить системы хранения, находящиеся на разных серверах , в одну параллельную сетевую файловую систему . GlusterFS работает в пользовательском пространстве при помощи технологии FUSE , поэтому не требует поддержки со стороны ядра операционной системы и работает поверх существующих файловых систем ( ext3 , ext4 , XFS , reiserfs и т. п.). В отличие от других распределённых файловых систем, таких как Lustre и Ceph , для работы GlusterFS не требуется отдельный сервер для хранения метаданных .

Архитектура

GlusterFS разделена на серверную и клиентскую части. На каждом сервере работает демон glusterfsd который делает доступным для клиентов локальную систему хранения в качестве тома . Клиентский процесс glusterfs соединяется с одним или несколькими серверами посредством TCP/IP или InfiniBand и объединяет все доступные серверные тома в один, используя расширяемые трансляторы (функциональные модули системы). Получившийся том монтируется на клиентском хосте при помощи механизма Filesystem in Userspace (FUSE).

Бо́льшая часть функциональности GlusterFS реализована в виде трансляторов (модулей). Использование необходимых трансляторов и их настройка позволяет гибко конфигурировать режим работы системы. Трансляторы реализуют следующие возможности:

  • синхронная репликация между серверами (нельзя расширить уже существующий том, добавив сервер для репликации);
  • чередование порций данных между серверами ( striping );
  • распределение файлов между серверами;
  • балансировка нагрузки ;
  • восстановление после отказа узла (в ручном режиме с помощью опроса файлов (ls -lR или find на смонтированом томе));
  • упреждающее чтение ( read-ahead ) и запаздывающая запись ( write-behind ) для увеличения быстродействия;
  • квоты.

Сервер GlusterFS реализован довольно просто: он предоставляет в пользование клиенту свою систему хранения, оставляя за клиентом право решать каким образом организовать хранение. Все клиенты одного кластера должны быть настроены одинаково, во избежание проблем с согласованностью данных . Такая архитектура позволяет масштабировать GlusterFS до систем, общий объём которых может измеряться петабайтами данных, используя аппаратное обеспечение средней производительности. Также, архитектура GlusterFS позволяет избежать узких мест , которые свойственны распределённым системам с более тесной модульной интеграцией.

Для работы GlusterFS не требуется отдельный сервер метаданных , что улучшает масштабируемость и надёжность системы. Метаданные хранятся вместе с данными (в ).

Клиенты

Доступ к Gluster-ресурсу можно получать как с использованием FUSE , так и через NFS-протокол версии не ниже третьей. В последнем случае (доступ по NFS) демон Gluster подгружает соответствующий транслятор, который выступает в роли NFS-сервера и не может работать совместно с другими NFS-серверами. Несмотря на то, что разработчики Gluster декларируют совместимость с CIFS, в действительности такая совместимость средствами самого Gluster не обеспечивается, поэтому для экспорта Windows-клиентам необходимо создать разделяемый ресурс средствами Samba.

Примечания

  1. — 2006.

Ссылки

  • (англ.)
  • (англ.)
Источник —

Same as GlusterFS