Последнее изменение файла: 2016.02.26
Скопировано с www.bog.pp.ru: 2023.10.01
Bog BOS: Сетевая файловая система GlusterFS
Сетевая файловая система GlusterFS разработана компанией Gluster Inc.
Агрегирует файловые пространства (bricks, кирпичи) большого количества серверов
в единую распределённую файловую систему (volume, том).
Это объектная (не блочная) распределённая файловая система без центрального сервера метаданных.
Для соединения можно использовать TCP/IP или Infiniband RDMA
(OFED 1.4 для версии 3.0, OFED 1.5 для версии 3.1; кстати, в RHEL5.5 - OFED 1.4).
Эффективна при десятках узлов.
Файлы можно восстанавливать из локального файлового пространства (если не использовались тома с расщеплением).
Реализована на прикладном уровне (нет модулей ядра, требуется поддержка FUSE для клиентов,
ядро 2.6.18 и выше для 2.0, ядро 2.6.27 и выше для версии 3.0.2; FUSE появился только в RHEL5.4).
Проблема одновременного доступа к данным решается на уровне подлежащей файловой системы
(к каждой файловой системе обращается ровно один сервер).
Можно использовать различные подлежащие файловые системы (рекомендуется ext3 или ext4).
Постоянно работающая фоновая служба самопроверки.
Имеется библиотека libglusterfs, которую можно встроить в приложение для прямого обращения к серверу,
минуя уровень файловой системы и FUSE.
Сервер может работать под Linux, FreeBSD, OpenSolaris, Solaris или Mac OS X.
Клиент может работать под Linux с поддержкой FUSE.
При отсутвии клиента (не Linux, нет FUSE) можно воспользоваться
специальной версией NFS сервера (FUSE в 3.0 - не держит нагрузку, встроенный в 3.1), модулем для Apache и т.д..
Лицензия - GPLv3 (GNU Affero General Public License).
Версия 3.2.4 от сентября 2011 (3.0.6 от октября 2010; 2.0.9 от декабря 2009;
1.3.12 от сентября 2008; в EPEL5 - 2.0.8, в EPEL4 - 1.3.12).
Ежегодная плата за подписку (от $1500 за сервер).
NAS Gluster Storage Platform объединяет ОС, GlusterFS, установщик и веб-интерфейс настройки (включая доступ по NFS и CIFS).
Настораживает обилие в документации маркетингового булшита вместо вменяемого описания архитектуры
системы, которое необходимо для оптимизации конфигурации (причём часть документации исчезала прямо по ходу чтения).
Зато есть официальный перевод на русский язык.
Неприятно поразила несовместимость клиентов 2.0.9 и серверов 2.0.8 (не работала команда ls).
Отсутствует сбор статистики (iostat), динамическое управление кешированием и readahead-ом
(readahead в некоторых ситуациях - например, bonnie++ rewrite - просто безумствует забивая канал).
Нет привычного по NFS мягкого монтирования в фоне,
аккуратной обработки ситуации с временным пропаданием сервера, стандартных параметров монтирования.
Подозреваю, что на доработку обещанных функций (replicate) уйдёт несколько лет (в 3.1 реализована
такая более простая для отладки возможность, как миграция)
и только потом начнут настраивать производительность,
затем улучшать эксплуатационные характеристики, затем вспомнят про безопасность
(кстати, в версии 3.1 исчезли имена и пароли) и только потом этим можно будет
пользоваться. А пока можно использовать (не версию 3.1.0!) для кластерного /tmp ;)
Компания Red Hat купила компанию Gluster Inc. осенью 2011 и выпустила
продукт Red Hat Storage Software Appliance.
Сетевая файловая система GlusterFS состоит из следующих компонент:
подлежащие файловые системы (ext3, ext4, ZFS, xfs, jfs), которые называются томами хранения (brick, кирпич)
сервер glusterfsd на каждом хосте с подлежащей файловой системой;
сервер может обслуживать несколько томов хранения;
исходный том хранения (файловая система) может быть экспортирован непосредственно или преобразован с помощью цепочки
модулей-трансляторов (оптимизация, добавление функций);
конечным модулем цепочки является транспортный модуль - TCP/IP (порт 6996), unix-сокет, ib-verb, ib-sdp
клиент glusterfs, обеспечивающий с помощью FUSE доступ к экспортированным томам (файловым системам)
всем процессам на своём хосте; импортированный с помощью транспортного модуля том может использоваться непосредственно
или преобразован с помощью цепочки модулей-трансляторов (сборка составных томов, оптимизация);
собранный том (volume) может быть экспортирован как единое целое
библиотека libglusterfs, которую можно встроить в приложение для прямого обращения к серверу,
минуя уровень файловой системы и FUSE (настройки в /etc/booster.fstab, переменная окружения GLUSTERFS_BOOSTER_FSTAB,
предзагрузка разделяемой библиотеки LD_PRELOAD=/usr/lib64/glusterfs/glusterfs-booster.so)
оптимизированный сервер NFS (unfs3), который может импортировать тома и раздавать их NFS клиентам
Сетевая файловая система GlusterFS состоит из следующих компонент:
подлежащие файловые системы (ext3, ext4, ZFS, xfs, jfs), которые называются томами хранения (brick, кирпич)
сервер glusterfsd на каждом хосте с подлежащей файловой системой;
сервер может обслуживать несколько томов хранения;
исходный том хранения (файловая система) может быть экспортирован непосредственно или преобразован с помощью цепочки
модулей-трансляторов (оптимизация, добавление функций);
конечным модулем цепочки является транспортный модуль - TCP/IP (порты c 24007 по 24009+число_томов-1),
unix-сокет, ib-verb, ib-sdp;
встроенный сервер NFSv3 (только tcp, несовместим с ядерным сервером NFS -
требуется выгрузить модули nfs и lockd, а lockd нужен NFS-клиенту),
который может раздавать тома NFS клиентам (порты с 38465 по 38465+число_серверов-1 и 111);
демон glusterd на каждом сервере управляет своими glusterfsd, общается с соседями и управляется командой gluster
утилита командной строки gluster позволяет динамически изменять конфигурацию через интерфейс с glusterd
клиент glusterfs, обеспечивающий с помощью FUSE доступ к экспортированным томам (файловым системам)
всем процессам на своём хосте; импортированный с помощью транспортного модуля том может использоваться непосредственно
или преобразован с помощью цепочки модулей-трансляторов (сборка составных томов, оптимизация);
собранный том (volume) может быть экспортирован как единое целое
библиотека libglusterfs, которую можно встроить в приложение для прямого обращения к серверу,
минуя уровень файловой системы и FUSE (настройки в /etc/booster.fstab, переменная окружения GLUSTERFS_BOOSTER_FSTAB,
предзагрузка разделяемой библиотеки LD_PRELOAD=/usr/lib64/glusterfs/glusterfs-booster.so)
Модули (трансляторы) выстраиваются в цепочку обслуживания, на входе и выходе транслятора - том.
Самый нижний модуль сервера (типа storage/posix) указывает на подлежащую файловую систему.
Описание томов (модулей) на сервере обычно находится в файле /etc/glusterfs/glusterfsd.vol (/etc/glusterd/ для версии 3.1).
Файл имеет построчный формат, комментарии начинаются с '#'.
Описание модуля начинается с команды volume и указанием имени получающегося тома,
тип и подтип модуля (через '/') указываются командой type,
ссылки на подлежащие тома указываются командой subvolumes с указанием имён томов нижнего уровня,
параметры модуля задаются командами option,
завершается описание модуля командой end-volume.
Имена регистрозависимые. Подтома должны быть описаны до своего использования.
Возможно написание единого конфигурационного файла как для сервера, так и для клиента.
В версии 3.1 разбит на /etc/glusterd/vols/имя-тома/info, /etc/glusterd/vols/имя-тома/имя-тома-fuse.vol,
/etc/glusterd/nfs/nfs-server.vol, /etc/glusterd/vols/имя-тома/имя-тома.имя-сервера.имя-кирпича.vol.
Модули:
storage (описание подлежащей файловой системы на сервере)
posix (обеспечивает POSIX семантику при работе с файлами подлежащей файловой системы)
option o-direct {disable|enable} (возможность посылать запросы в обход кеша VFS;
глючит в 3.0.3)
option export-statfs-size {yes|no} (для решения проблем с df
при описании нескольких томов под одной точкой монтирования)
option mandate-attribute {on|off} (требовать от подлежащей файловой системы поддержки
расширенных атрибутов)
option span-devices число (0; обслуживать указанное количество файловых систем,
подмонтированных внутрь подлежащей файловой системы)
option background-unlink {no|yes} (удаление больших файлов в фоновом режиме)
bdb (каталоги хранятся в подлежащей файловой системе,
файлы каталога хранятся в формате Berkley DB (key - имя файла, value - содержимое файла)
в файле storage_db.db в каталоге, отсутствует в пакете)
option filter-uid идентификатор-пользователя (блокировать доступ пользователей с указанным uid)
option filter-gid идентификатор-группы (блокировать доступ пользователей с указанным gid)
trash (testing/features/trash; для сервера, мусорная корзина)
option trash-dir имя-каталога
path-converter (testing/features/path-converter; для сервера, преобразование имён файлов)
option start-offset число
option end-offset число
option replace-with строка
quota (для сервера, ограничение для подлежащей фаловой системы)
option min-free-disk-limit процентов
option refresh-interval секунд
option disk-usage-limit байт
performance (ускорители и оптимизаторы)
io-threads (выполняется на сервере, многопоточность и асинхронность операций ввода-вывода;
над модулем типа storage или features)
option thread-count количество-потоков
option autoscaling {off|on}
option min-threads число
option max-threads число
write-behind (выполняется на клиенте, над модулем типа protocol или cluster или performance;
запросы на запись собираются в пакеты и выполняются асинхронно)
option cache-size|window-size размер (от 512KB до 1GB; размер буфера на каждый дескриптор файла)
option flush-behind {off|on} (асинхронные close/flush - ускорение работы с большим количеством маленьких файлов)
option enable-O_SYNC {off|on} (отключение модуля для прямых запросов)
option cache-timeout|force-revalidate-timeout секунд (1; от 0 до 60;
если страница старее указанного, то проверяется её адекватность -
триггер для безумного readahead)
quick-read (выполняется на клиенте, над модулем типа protocol или cluster или performance;
ускоряет чтение маленьких файлов - при open, файл читается целиком и закрывается)
option max-file-size размер (64KB)
option cache-timeout секунд (1)
stat-prefetch (выполняется на клиенте, над модулем типа protocol или cluster или performance;
ускорение чтения оглавления каталогов - readdir+stat;
в версии 2.0.9 ошибка под нагрузкой (копирование каталога и du с другого узла):
option transport.ib-verbs.work-request-recv-count число
?option transport-timeout секунд
option frame-timeout секунд (30)
option ping-timeout секунд (10; по-моему, маловато,
при записи 1 в /proc/sys/vm/drop_caches на сервере, получается пауза и в ответ:
E [client-protocol.c:457:client_ping_timer_expired] s75-x5412e:
Server 192.168.172.75:6996 has not responded in the last 10 seconds, disconnecting.
E [saved-frames.c:165:saved_frames_unwind] s75-x5412e: forced unwinding frame type(1) op(WRITE)
W [fuse-bridge.c:888:fuse_err_cbk] glusterfs-fuse: 4811772: FLUSH() ERR => -1 (Transport endpoint is not connected)
...
N [client-protocol.c:6438:notify] s75-x5412e: disconnected
соединение восстанавливается, но приложение уже упало
option username имя-пользователя
option password пароль
cluster (сборка составных томов, выполняется на клиенте над модулем типа protocol)
distribute (DHT, распределяет файлы по подлежащим томам с помощью хеш-функции (подозрительная функция),
обещание: можно добавлять новые подтома к существующей системе;
требуется поддержка расширенных атрибутов на подлежащей системе;
информация о количестве томов привязывается к каталогу при его создании,
т.е. имевшиеся каталоги будут использовать только старые тома и только файлы
из вновь созданных каталогов попадут на новый сервер;
реальность: после добавления тома файлы не находятся, если не включить lookup-unhashed,
после его включения действительно в старых каталогах файлы попадают только в
старые тома, оглавление в новом томе создаётся только после сканирования файлов,
(однако: "find: WARNING: Hard link count is wrong for ...: this may be a bug in your filesystem driver";
расширенные атрибуты: glusterfs.dht.linkto, posix-ИмяТома.gen)
option lookup-unhashed {off|on} (при поиске файлов просматривать все тома, а не только "правильный")
option min-free-disk процентов (10%; создаются ссылки на реальное местонахождение;
ограничение на неснижаемый остаток места в подлежащей файловой системе
проверяется при создании файлов, в дальнейшем файл не перемещается;
если приложение (например, bonnie++) сразу создаёт
все файлы нулевого размера (естественно на это место есть), а потом наращивает их, то будут проблемы)
option unhashed-sticky-bit {yes|no} (?)
nufa (Non Uniform File Access, распределяет файлы по подлежащим томам, предпочитая локальные подтома;
доступ к локальным подтомам идёт напрямую, минуя FUSE и сервер; имя подтома должно совпадать с именем хоста;
безтомные узлы могут использовать тоже самое описание тома заменив nufa на distribute и убрав local-volume-name)
option lookup-unhashed {on|off} (при поиске файлов просматривать все тома, а не только "правильный")
option min-free-disk процентов (10%; создаются ссылки на реальное местонахождение; см. distibute)
replicate (afr, сетевой RAID-1, самоизлечение поднявшихся подтомов при первом обращении (ls -lRa);
требуется поддержка расширенных атрибутов на подлежащей системе и транслятор posix-locks;
не стоит полагаться на это: файлы пропавшие с первого подтома невидимы и к ним никто не обращается и не лечит,
проблемы с жёсткими ссылками)
option read-subvolume имя-предпочитаемого-подлежащего-тома (по умолчанию - балансировка нагрузки)
option favorite-child имя-предпочитаемого-подлежащего-тома (используется как главный при лечении
после разбиения кластера (split brain))
option data-self-heal {on|off} (лечить ли данные)
option metadata-self-heal {on|off} (лечить ли метаданные)
option entry-self-heal {on|off} (лечить ли записи в каталогах)
option data-change-log {on|off} (хранить журнал транзакций с помощью расширенных атрибутов для выбора
главной копии, иначе выбирать случайным образом)
option metadata-change-log {on|off} (хранить журнал транзакций с помощью расширенных атрибутов для выбора
главной копии, иначе выбирать случайным образом)
option entry-change-log {on|off} (хранить журнал транзакций с помощью расширенных атрибутов для выбора
главной копии, иначе выбирать случайным образом)
option data-lock-server-count число (1; число серверов, хранящих блокировку)
option metadata-lock-server-count число (1; число серверов, хранящих блокировку)
option entry-lock-server-count число (1; число серверов, хранящих блокировку)
stripe (файл разбивается на кусочки равного размера, кусочки распределяются по подтомам;
файлы на подлежащих файловых системам выглядят "как настоящие", но хранятся с дырками;
требуется поддержка расширенных атрибутов на подлежащей системе; добавить новый том не удастся!)
option block-size байт (128KB)
option use-xattr {on|off}
ha (testing/cluster/ha; High Availability, переключение на запасной интерфейс)
unify (legacy/cluster/unify; устарел, предлагается использовать distribute;
распределяет файлы по подтомам в соответствии с выбранным планировщиком;
дополнительный подтом хранит полное дерево имён каталогов и файлов, чтобы не искать по всем подтомам)
option namespace имя-подлежащего-тома (здесь будет храниться полное дерево имён каталогов и файлов;
здесь должно быть inode-ов для всех; не должен совпадать с объединяемыми подтомами)
option self-heal {foreground|background|off} (при первом обращении к файлу)
Random - случайный выбор; опции: random.limits.min-free-disk
RR - файлы размещаются на узлах по очереди (у каждого клиента своя!);
опции: rr.limits.min-free-disk, rr.read-only-subvolumes, rr.refresh-interval
ALU (Adaptive Least Usage) - учёт активности операций (read-usage, write-usage),
количества открытых файлов (open-files-usage),
заполненого и доступного локального дискового пространства (disk-usage),
скорости вращения дисков и т.п. (disk-speed-usage);
опции: alu.order, alu.read-only-subvolumes, alu.limits.min-free-disk, alu.limits.max-open-files,
alu.подтип.entry-threshold, alu.подтип.exit-threshold (тут есть, что покрутить!)
NUFA - создаваемые на этом сервере файлы размещаются на локальном хранилище;
опции: nufa.local-volume-name, nufa.limits.min-free-disk
Switch - распределение файлов по хранилищам в зависимости от имён файлов;
опции: switch.case (шаблон имён, двоеточие, список подтомов), switch.read-only-subvolumes
Утилита gluster позволяет настраивать и управлять томами GlusterFS без остановки работы.
Имеет интерактивный режим. Команды (журнал в /etc/glusterd/.cmd_log_history):
help
quit
peer help
peer probe сервер # подсоединить сервер к пулу;
из-за путанницы с именами серверов лучше использовать IP адреса
volume replace-brick имя-тома сервер:имя-кирпича новый-сервер:новый-кирпич {start | pause | commit | abort | status}
# требуется наличие FUSE на том сервере, с которого выдаётся команда; каковы последствия abort?
volume log locate имя-тома # выдать имя каталога с журналами
volume log rotate
replica - позволяет создавать тома, данные которых хранятся на 2 серверах, что позволяет
продолжать обслуживание при падении одного из серверов (а brain split?).
stripe - позволяет распределять части одного файла по нескольким серверам для ускорения
чтения и записи. Эффективен только при работе с очень большими файлами.
Конфигурационные файлы, созданные (отредактированные) вручную более не поддерживаются,
хотя и не запрещаются.
С версии 2.0.9 поддерживаются только конфигурации, созданные с помощью glusterfs-volgen
(результат помещается в текущий каталог в файл ИмяТома-ТипТранспорта.vol для клиентов и
ИмяХоста-ИмяТома-export.vol для сервера):
--name=имя-тома (обязательный параметр, используется только для генерации имён файлов конфигурации)
--transport={tcp|ib-verbs} [--ibdev=номер] (по умолчанию - tcp)
Ускоритель NFSv3 (пакет unfs3) - работает в пространстве пользователя в обход FUSE,
что позволяет избежать двойного перемещения между пространствами ядра и пользователя.
Набор возможностей урезан относительно стандарта: при создании объекта нельзя указать владение,
размер и время создания; не реализованы функции блокировки (клиент должен монтировать с ключом nolock);
только режим nohide.
Ключи unfsd:
-e имя-файла (использовать вместо /etc/exports; по умолчанию secure, fixed, ro и root_squash;
поддерживаемые опции:
root_squash
no_root_squash
all_squash
no_all_squash
ro
rw
anonuid=число
anongid=число
secure
insecure
fixed (держать файлы открытыми между запросами)
removable (не держать файлы открытыми, чтобы мобильный диск можно было отсоединить)
volume-name=имя-тома (по умолчанию берётся самый верхний)
volume-id=?
Опции монтирования FUSE (/sbin/mount.glusterfs - скрипт на bash,
параметры для FUSE из /etc/fstab не передаются; можно использовать mount -o remount?):
kernel_cache (опасно, не сбрасывать кеш файла при открытии)
direct_io (не кешировать файловую систему в ядре,
программы не запускаются)
Требуется обеспечить узлы счётного кластера общим файловым пространством для
хранения временных файлов с автоматическим распределением нагрузки по узлам хранения данных.
Имеется 4 сервера с излишками дискового пространства (серверов имеется больше, но предполагается,
что извлекаемого с 4 хостов дискового пространства и скорости будет достаточно, а связывать
все узлы кластера в неразъёмную конструкцию нежелательно). Половина клиентских хостов не может
быть непосредственным клиентом glusterfs (Solaris, RHEL4), так что потребуется ускоритель NFS.
Ситуация осложняется разбиением узлов кластера на 2 территории, связанные медленным (1 Гбит) каналом.
Установка сервера:
создать логический том /dev/system/globaltemppart
lvcreate --name globaltemppart --size 160G system /dev/sdb2
создать локальную файловую систему ext4 с меткой globaltemppart
установить пакеты glusterfs-common.x86_64, glusterfs-server.x86_64 (тянут libibverbs, openib) для версии 3.0
или gluster-core.x86_64 для версии 3.1 (содержит и клиента)
настроить экспортируемый том в /etc/glusterfs/glusterfsd.vol
volume posix-globaltemppart
type storage/posix
option directory /export/globaltemppart
option background-unlink yes
end-volume
volume locks-globaltemppart
type features/locks
# не работает
option mandatory-locks on
subvolumes posix-globaltemppart
end-volume
volume brick-globaltemppart
type performance/io-threads
option thread-count 8
subvolumes locks-globaltemppart
end-volume
volume server-tcp
type protocol/server
option transport-type tcp
option transport.socket.listen-port 6996
option transport.socket.nodelay on
option auth.login.brick-globaltemppart.allow имя-пользователя
option auth.login.имя-пользователя.password Пароль
subvolumes brick-globaltemppart
end-volume
отредактировать права доступа:
chmod 400 /etc/glusterfs/glusterfsd.vol
запустить сервиса glusterfsd (убедиться, что он стартует при перезагрузке: chkconfig --list glusterfsd)
проверить журнал сервера /var/log/glusterfs/etc-glusterfs-glusterfsd.vol.log
Установка FUSE клиентов (в том числе и на серверах):
установить пакеты с сайта glusterfs-common.x86_64, glusterfs-client.x86_64 (тянет libibverbs.x86_64, openib)
mkdir /etc/glusterfs
настроить импортируемый составной том в /etc/glusterfs/globaltemp-tcp.vol (на всех клиентах должна
быть одинаковая последовательность узлов):
volume node1
type protocol/client
option transport-type tcp
option remote-host node1
option transport.socket.nodelay on
option transport.remote-port 6996
option ping-timeout 30
option username имя-пользователя
option password пароль
option remote-subvolume brick-globaltemppart
end-volume
...
volume cluster-0
type cluster/distribute
option min-free-disk 5%
#
# type cluster/stripe
# option block-size 128KB
#
# type cluster/nufa
# option local-volume-name ближний-узел
# option min-free-disk 5%
subvolumes node1 node2 node3 node4
end-volume
volume readahead
type performance/read-ahead
option page-count 1
option force-atime-update on
subvolumes cluster-0
end-volume
volume writebehind
type performance/write-behind
option cache-size 1GB
option flush-behind on
option enable-O_SYNC on
option enable-trickling-writes off
subvolumes readahead
end-volume
volume iocache
type performance/io-cache
option cache-size 1GB
option cache-timeout 1
subvolumes writebehind
end-volume
volume quickread
type performance/quick-read
option cache-timeout 1
option max-file-size 64kB
subvolumes iocache
end-volume
volume statprefetch
type performance/stat-prefetch
subvolumes quickread
end-volume
отредактировать права доступа:
chmod 400 /etc/glusterfs/globaltemp-tcp.vol
создать каталог /globaltemp
настроить автоматическое монтирование каталога в /etc/fstab
Требуется обеспечить узлы счётного кластера общим файловым пространством для
хранения временных файлов с автоматическим распределением нагрузки по узлам хранения данных.
Имеется 2 сервера с излишками дискового пространства (для начала).
Ситуация осложняется разбиением узлов кластера на 2 территории, связанные медленным (1 Гбит) каналом
вместо InfiniBand.
Установка сервера:
создать логический том /dev/system/globaltemppart
lvcreate --name globaltemppart --size 160G system /dev/sdb2
создать локальную файловую систему ext4 с меткой globaltemppart
том сразу доступен по NFS (требуется сервис portmap/rpcbind на сервере/клиенте и rpc.statd на клиенте)
при обращении к любому серверу (права доступа - '*')
Установка NFS клиентов (распределить клиентов по серверам):
настроить автоматическое монтирование каталога в /etc/fstab (для Solaris /etc/vfstab и без nolock)
32-битные номера файлов для NFS клиентов - nfs.enable-ino32
транслятор stat-prefetch
блокировки не работает для NFS - при монтировании необходимо использовать "-o nolock"
Изменения в 3.1.0 относительно 3.0.6
не годится даже под /tmp (зависает на df)
динамическое изменение конфигурации без размонтирования томов у клиентов и остановки серверов (glusterd):
добавление тома (ошибки будут поправлены в 3.1.1), удаление тома, миграция (не всегда работает),
изменение балансировки
Gluster Console Manager для управления томами из командной строки
встроенная поддержка NFSv3
все клиенты и серверы должны быть версии 3.1
конфигурация и тома можно взять от версии 3.0 (но нежелательно)
Изменения в 3.0.6 относительно 2.0.8
структура подлежащей файловой системы совместима с версией 2.0 (до 3.0.3?)
протокол между клиентом и сервером несовместим с версией 2 (вплоть до падения сервера)
самолечивание открытых реплицированных файлов при сбое сервера
автоматический выбор алгоритма самолечения: полный, дифференциальный (особенно полезен для образов ВМ)
самолечение в фоновом режиме
транслятор Stat-prefetch предзагружает каталоги (включая stat)
транслятор Quick-read ускоряет чтение большого количества маленьких файлов
улучшение транслятора I/O cache при работе с большими файлами
уменьшение загрузки ЦП при работе транслятора FUSE, не требуется наличие libfuse
сигнал USR1 вызывает запись отладочной информации в файл /tmp/glusterdump.НомерПроцесса
генератор описаний томов volgen (ручное написание конфигурации более не поддерживается)