Glusterfs
Содержание:
- Шаг 4 — Создание тома хранения
- Цели
- Interaction with Files
- 6: Команды GlusterFS
- Complications
- History
- Шаг 5 — Установка и настройка компонентов клиента
- Команда gluster
- Step 4: Remove LVM Filter
- Шаг 1 — Настройка разрешения DNS на каждом компьютере
- Как работает GlusterFS
- Problems
- Архитектура
- Changes Of Note
- Модули(трансляторы)
Шаг 4 — Создание тома хранения
Напомним, что главная цель данного обучающего руководства — создать резервный пул хранения данных. Для этого вы настроите том с функционалом реплики, что позволяет хранить несколько экземпляров ваших данных и не допускает наличия единой точки отказа.
Для создания тома вы будете использовать команду с таким общим синтаксисом:
Вот что означают аргументы и опции команды :
- : это имя, которое вы будете использовать для ссылки на том после его создания. Следующий пример команды создает том с именем .
- : после имени тома вы можете указать, какой тип тома вы хотите создать. Напомним, что цель данного обучающего руководства — создать резервный пул хранения данных, поэтому мы будем использовать тип тома . Для этого требуется аргумент с указанием количества серверов, на которые будут воспроизводиться данные ( в нашем примере).
- и : определяют расположение компьютеров и каталогов блоков (термин GlusterFS, используемый для обозначения базовой единицы хранения, включающей любой каталог, используемый в качестве части или копии большего тома, на любом компьютере), которые составят . В следующем примере будет создан каталог с именем в корневом каталоге на обоих серверах.
- : эта опция отменяет любые предупреждения или опции, которые могли бы возникнуть и остановить создание тома.
Используя правила, установленные ранее в данном обучающем руководстве, вы можете запустить эту команду для создания тома
Обратите внимание, что вы можете запускать ее либо с gluster0, либо с gluster1:. Если том был создан успешно, вы увидите следующий вывод:
Если том был создан успешно, вы увидите следующий вывод:
На этом этапе ваш том создан, но еще не активирован. Вы можете запустить том и сделать его доступным для использования путем выполнения следующей команды с любого сервера Gluster:
Вы получите следующий вывод, если том запущен корректно:
Затем проверьте, находится ли том в сети. Запустите следующую команду с любого из ваших узлов:
В результате вы увидите вывод, аналогичный данному:
На основе этого вывода можно понять, что блоки на обоих серверах находятся в сети.
В качестве последнего шага по настройке тома вам нужно будет открыть брандмауэр на обоих серверах, чтобы ваш клиентский компьютер смог подключиться и смонтировать том. Согласно выводу предыдущего примера команды работает на порту на обоих компьютерах. Это порт GlusterFS по умолчанию, который используется для первоначального тома, а следующий том, который вы создадите, будет использовать порт , затем и т. д.
Запустите следующую команду на gluster0 и gluster1, чтобы разрешить gluster2 доступ к этому порту через соответствующий брандмауэр каждого из них:
Затем для дополнительной защиты добавьте другое общее правило для порта тома на обоих серверах gluster0 и gluster1. Это закроет доступ к тому на любом из двух серверов каким-либо другим компьютерам, кроме вашего клиентского компьютера:
Теперь, когда ваш том запущен и работает, вы можете настроить клиентский компьютер и начать использовать его удаленно.
Цели
В этом обучающем руководстве мы создадим резервный кластерный массив хранилищ, известный также как распределенная файловая система, или, как указано в документации GlusterFS, доверенный пул хранения данных (Trusted Storage Pool). Это обеспечит функциональность, аналогичную зеркальной конфигурации RAID в сети: каждый независимый сервер будет содержать свою собственную копию данных, позволяя приложениям получать доступ к любой копии, тем самым облегчая распределение нагрузки чтения.
Этот избыточный кластер GlusterFS будет состоять из двух серверов Ubuntu 20.04. И будет действовать примерно так же, как сервер NAS с зеркальным RAID. Затем вы получите доступ к кластеру с третьего сервера Ubuntu 20.04, настроенного для работы в качестве клиента GlusterFS.
Interaction with Files
Both use a standard POSIX or NFS interface, and users can interact with data as though through a standard file system. Both provide search and retrieval interfaces for the data you store. But if your team plans on doing anything with big data, you’ll want to know which of these to choose.
Ceph distributes data across computers in the cluster and allows the user to access all of the data at once through the interface. On the backend, CephFS communicates with the disparate parts of the cluster and stores data without much user intervention. Multiple clients can also access the store without intervention.

Ceph dashboard, via the Calamari management and monitoring system.
Gluster also distributes data to connected computers, but data storage happens in blocks, keeping everything together. The GlusterFS finds appropriately sized storage areas for the data in any one of the storage locations, places the data for storage, and creates an identifying hash. The program stores data on kernel systems and doesn’t produce another metadata system, instead creating a unique hash for the file. Without the interference of a metadata server, Gluster reacts and scales more quickly than its competitors, but still maintains usability. From the interface, users see their data blocks as directories. Because each file has a unique hash, a user must make a copy before renaming, or else lose access to the data.

GDash — the GlusterFS Dashboard.
6: Команды GlusterFS
При работе с кластером вам может понадобиться дополнительная информация: какие опции доступны, какие тома активны, какие ноды связаны с каждым томом.
GlusterFS предоставляет ряд команд, которые могут извлечь нужную информацию.
Чтобы получить информацию о томах, введите:
Чтобы узнать о подключениях данной ноды, введите:
Следующая команда позволяет узнать, как работает каждая нода:
После выполнения этой команды вы можете извлечь собранные данные:
Эта команда предоставит много полезной информации о каждой ноде.
Чтобы получить список компонентов GlusterFS, запущенных на каждой ноде, введите:
Если вы хотите управлять томами хранилища GlusterFS, вам может понадобиться консоль GlusterFS.это позволяет взаимодействовать с окружением GlusterFS, не вводя каждый раз команду sudo gluster.
Эта команда откроет командную строку, с помощью которой можно запускать команды. Чтобы запросить справку, введите:
Чтобы закрыть эту командную строку, введите:
Complications
Ceph requires monitor nodes in an odd number distributed throughout your system to obtain a quorum and reduce the likelihood of “split-brain” and resulting data loss.
Gluster runs at a default block size twice that of Ceph: 128k for Gluster and 64k for Ceph. Gluster claims that their increased block size makes for faster processing, but with a little work, you can increase Ceph’s block size and increase capabilities as well.
Both of these programs are open-source, but companies can purchase third-party management solutions that connect to Ceph and Gluster. The most popular management tools for each are:
CephInkTank, RedHat, Decapod, Intel,
Gluster: RedHat
History
The name Gluster comes from the combination of the terms GNU and cluster. Despite the similarity in names, Gluster is not related to the Lustre file system and does not incorporate any Lustre code.
Gluster based its product on GlusterFS, an open-source software-based network-attached filesystem that deploys on commodity hardware. The initial version of GlusterFS was written by Anand Babu Periasamy, Gluster’s founder and CTO.
In May 2010 Ben Golub became the president and chief executive officer.
Red Hat became the primary author and maintainer of the GlusterFS open-source project after acquiring the Gluster company in October 2011.
The product was first marketed as Red Hat Storage Server, but in early 2015 renamed to be Red Hat Gluster Storage since Red Hat has also acquired the Ceph file system technology.
Шаг 5 — Установка и настройка компонентов клиента
Теперь ваш том настроен и доступен для использования клиентским компьютером. Но перед тем, как начать работу, вам нужно установить пакет из архива РРА, загруженного на клиентский компьютер на шаге 1. Зависимости этого пакета включают некоторые из общих библиотек и модулей переводчиков GlusterFS, а также необходимые для работы инструменты FUSE.
Запустите следующую команду на gluster2:
Вскоре вы сможете монтировать удаленный том хранения на клиентском компьютере. Однако перед этим вам нужно создать точку монтирования. Традиционно она находится в каталоге , но может использоваться, где вам удобно.
Для удобства создайте каталог с именем на клиентском компьютере для использования в качестве точки монтирования. Имя каталога начинается с косой черты (), которая помещает его в корневой каталог, поэтому вам нужно создать его с привилегиями :
Теперь вы можете монтировать удаленный том
Но прежде обратите внимание на синтаксис команды , которая используется для этого:. — это утилита, которая встречается во многих операционных системах типа Unix
Она используется для монтирования файловых систем — от внешних устройств хранения (таких как SD-карты или USB-накопители) и сетевых систем хранения (как в случае данного обучающего модуля) до каталогов в существующей файловой системе компьютера. В синтаксис команды входит опция , требующая трех аргументов: тип монтируемой файловой системы, устройство, где находится монтируемая файловая система, и каталог на клиентском компьютере, куда будет монтироваться том
— это утилита, которая встречается во многих операционных системах типа Unix. Она используется для монтирования файловых систем — от внешних устройств хранения (таких как SD-карты или USB-накопители) и сетевых систем хранения (как в случае данного обучающего модуля) до каталогов в существующей файловой системе компьютера. В синтаксис команды входит опция , требующая трех аргументов: тип монтируемой файловой системы, устройство, где находится монтируемая файловая система, и каталог на клиентском компьютере, куда будет монтироваться том.
Обратите внимание, что в синтаксисе данного примера, аргумент устройства указывает на имя хоста, после которого стоит двоеточие, а затем имя тома. GlusterFS извлекает фактические каталоги хранения на каждом хосте, что означает, что данная команда предназначена для монтирования не каталога , а тома
Также заметьте, что вам только нужно указать один компонент кластера хранения данных. Этот может быть любой узел, так как служба GlusterFS рассматривает их как один компьютер.
Запустите следующую команду на клиентском компьютере (gluster2) для монтирования тома в созданный вами каталог :
Затем запустите команду . Это покажет количество свободного дискового пространства для файловых систем, к которым пользователь имеет доступ:
Эта команда покажет, что том GlusterFS смонтирован в правильном расположении:
Теперь вы можете перейти к тестированию, чтобы убедиться, что все данные, которые вы записываете в том на вашем клиентском компьютере, воспроизводятся на узлах сервера должным образом.
Команда gluster
Для управления всеми возможностями Glusterfs используется утилита gluster. Для того чтобы вы могли лучше ориентироваться в ней мы рассмотрим ее синтаксис и использование. Синтаксис команды выглядит следующим образом:
$ gluster команда подкоманда параметры
Вот основные команды:
- volume — управление разделами;
- peer — управление подключенными машинами;
- snapshot — работа со снапшотами;
Рассмотрим синтаксис основных команд volume, с помощью которых будет выполняться настройка glusterfs:
- volume info — информация о томе;
- volume create — создать новый том на устройстве;
- volume delete — удалить том;
- volume start — запустить том;
- volume stop — временно остановить том;
- volume add-brick — добавить раздел к тому;
- volume remove-brick — удалить раздел из тома;
- volume replace-brick — заменить раздел на другой;
- volume rebalance — перебалансировать файлы.
Дальше рассмотрим команды peer, которые мы тоже сегодня будем использовать:
- peer probe — подключить новый компьютер к пулу;
- peer detach — отключить компьютер от пула;
- peer status — отобразить подключенные устройства.
Теперь вы знаете достаточно, чтобы продолжить работу с программой. И разобраться в возможных проблемах. Дальше мы рассмотрим как настроить Glusterfs для хранения данных.
Step 4: Remove LVM Filter
Now, remove all the LVM filters applied earlier. This is accomplished by editing the /etc/lvm/lvm.conf config file as follows:
-filter = [ "a|/dev/sd|", "r/.*/"] +filter = [ "a/.*/" ]
After, run vgscan to display the list of volume groups available:
# vgscan Reading all physical volumes. This may take a while... Found volume group "vg_userbackup" using metadata type lvm2 Found volume group "vg_gluster" using metadata type lvm2 Found volume group "vg_userbackup_original" using metadata type lvm2 Found volume group "vg_gluster_original" using metadata type lvm2 Found volume group "vg_sys" using metadata type lvm2
Here we can see we now have both the original “corrupted” volume and the restored volumes.
Шаг 1 — Настройка разрешения DNS на каждом компьютере
Настройка определенного разрешения имени хоста между всеми компьютерами может помочь в управлении пулом хранения данных Gluster. Таким образом, когда позднее в рамках этого обучающего руководства вам понадобится указать один из компьютеров в команде , вы сможете сделать это, используя легко запоминающееся доменное имя или даже псевдоним вместо соответствующего IP адреса.
Если у вас нет свободного доменного имени, а также если вы хотите быстро что-то настроить, вы можете отредактировать файл на каждом компьютере. Это специальный файл на компьютерах с ОС Linux, где вы можете статически настроить систему для разрешения любых имен хоста, содержащихся в файле, в статические IP-адреса.
Примечание. Если вы хотите настроить ваши серверы для аутентификации доменом, которым владеете, сначала вам понадобится получить доменное имя у регистратора, например у Namecheap или Enom, и настроить соответствующие записи DNS.
После настройки записи A для каждого сервера вы можете перейти к шагу 2. По мере выполнения данного руководства не забывайте менять glusterN.example.com и glusterN на доменное имя, которое указывает на соответствующий сервер, упоминаемый в примере команды.
Если вы взяли инфраструктуру из DigitalOcean, вы можете добавить ваше доменное имя в DigitalOcean, а затем .
Используя предпочитаемый текстовый редактор, откройте этот файл с привилегиями root на каждом компьютере. Мы будем использовать :
По умолчанию файл будет выглядеть примерно так, если удалить комментарии:
/etc/hosts
На одном из ваших серверов Ubuntu добавьте сначала IP-адрес каждого сервера, а затем любые имена, которые вы хотите использовать для указания в командах под определением локального хоста.
В следующем примере каждому серверу дается длинное имя хоста, соответствующее и короткое имя, соответствующее . Вы можете менять в каждой строке части и на любое имя или имена, отделенные одиночным интервалом, которые вы бы хотели использовать для доступа к каждому серверу
Однако обратите внимание, что в данном обучающем руководстве будут использоваться следующие примеры:
Примечание. Если ваши серверы являются частью пула инфраструктуры виртуального частного облака, вам следует использовать частный IP-адрес каждого сервера в файле , а не публичные IP-адреса.
/etc/hosts
После того, как вы добавите все новые строки в файл одного компьютера, скопируйте их и добавьте в файлы других компьютеров. Каждый файл должен содержать одинаковые строки, которые привязывают IP-адреса ваших серверов к именам, которые вы выбрали.
Сохраните и закройте каждый файл после завершения. Для этого, если вы используете , нажмите , , затем .
Теперь, когда вы настроили разрешение имени хоста между каждым сервером, вам будет проще в последствии запускать команды, так как вы установили пул и том хранения данных. Далее вы можете переходить к следующему шагу, который нужно выполнить для каждого сервера. Добавьте в каждый из трех серверов Ubuntu официальный архив персональных пакетов (PPA) проекта Gluster, чтобы обеспечить возможность установки новейшей версии GlusterFS.
Как работает GlusterFS
GlusterFS создает общий пул для хранения данных на основе нескольких сетевых устройств. Все это объединяется общим пространством имен, к которому есть доступ у всех пользователей. В качестве пользователей могут выступать как локальные программы, так и облачные сервисы.
В отличие от других подобных программных продуктов для GlusterFS не обязательно иметь отдельный сервер с метаданными для поиска файлов в пуле. Все файлы идентифицируются по хэшу и становятся очень просто доступными.

Файловая система реализована в пространстве пользователя и для доступа к реальной файловой системе используется Fuse. Это позволяет работать с файловой системой более просто и прозрачно. Хотя существует библиотека libgfapi, которая дает прямой доступ к жесткому диску, позволяет более эффективно хранить образы виртуальных машин qemu.
Как уже говорилось GlusterFS позволяет объединять несколько сетевых устройств в одну файловую систему. Они могут связываться между собой с помощью TCP/IP или InfiniBand. Общее хранилище будет доступно с помощью клиента GlusterFS, по NFS или Samba.
При зеркалировании данных элементарной единицей считается один файл, а при разделении, отдельные части файла разделяются между системами. Этот подход хорошо масштабируется при использовании больших систем, и чем больше систем, тем выше производительность. Вы можете создавать несколько копий файла и использовать разделение одновременно. Баланс между зеркалированием и разделением важен для максимальной производительности и безопасности данных.
Объем GlusterFS очень просто расширить, для этого достаточно добавить еще одно устройство.
Problems
State file consistency: If glusterd goes down in the node then the database will have wrong details about node’s state. One workaround is to reset the database if glusterd is down using a cron job, when glusterd comes up, database will not gets updated and the database will have previous updated details. To prevent this we need a glusterfs hook for glusterd-start.
More hooks: As of today we don’t have hooks for volume down/up, brick down/up and other events. We need following hooks for effective monitoring glusterfs.(Add more if anything missing in the list)
glusterd-start peer probe peer detach volume-down volume-up brick-up brick-down
Let me know your thoughts! Thanks.
Архитектура
GlusterFS разделена на серверную и клиентскую части. На каждом сервере работает демон glusterfsd который делает доступным для клиентов локальное хранилище в качестве тома. Клиентский процесс glusterfs соединяется с одним или несколькими серверами посредством TCP/IP или InfiniBand и объединяет все доступные серверные тома в один, используя расширяемые трансляторы (функциональные модули системы). Получившийся том монтируется на клиентском хосте при помощи механизма Filesystem in Userspace (FUSE).
Большая часть функциональности GlusterFS реализована в виде трансляторов (модулей). Использование необходимых трансляторов и их настройка позволяет гибко конфигурировать режим работы системы. Трансляторы реализуют следующую функциональность:
- Синхронная репликация между серверами (нельзя расширить уже существующий том, добавив сервер для репликации);
- Чередование порций данных между серверами (Striping);
- Распределение файлов между серверами;
- Балансировка нагрузки;
- Восстановление после отказа узла (в ручном режиме с помощью опроса файлов (ls -lR или find на смонтированом томе));
- Опережающее чтение (read-ahead) и запаздывающая запись (write-behind) для увеличения быстродействия;
- Дисковые квоты.
Архитектура 3.0
Сетевая файловая система GlusterFS состоит из следующих компонент:
- подлежащие файловые системы (ext3, ext4, XFS), которые называются томами хранения (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 клиентам.
Архитектура 3.1
Сетевая файловая система 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).
Changes Of Note
Improvements for Virtual Machine Image Storage
A number of improvements have been performed to let Gluster volumes provide storage for Virtual Machine Images. Some of them include:
- qemu – libgfapi integration.
- Causal ordering in write-behind translator.
- Tunables for a gluster volume in group-virt.example.
The above results in significant improvements in performance for VM image hosting.
Synchronous Replication Improvements
GlusterFS 3.4 features significant improvements in performance for the replication (AFR) translator. This is in addition to bug fixes for volumes that used replica 3.
Open Cluster Framework compliant Resource Agents
Resource Agents (RA) plug glusterd into Open Cluster Framework
(OCF) compliant cluster resource managers, like Pacemaker.
The glusterd RA manages the glusterd daemon like any upstart or systemd job would, except that Pacemaker can do it in a cluster-aware fashion.
The volume RA starts a volume and monitors individual brick’s daemons in a cluster aware fashion, recovering bricks when their processes fail.
3.3.x compatibility
The new op-version infrastructure provides compatibility with 3.3.x release of GlusterFS. 3.3.x clients can talk to 3.4.x servers and the vice-versa is also possible.
If a volume option that corresponds to 3.4 is enabled, then 3.3 clients cannot mount the volume.
Experimental Features
- RDMA-connection manager (RDMA-CM)
- New Block Device translator
- Support for NUFA
As experimental features, we don’t expect them to work perfectly for this release, but you can expect them to improve dramatically as we make successive 3.4.x releases.
Модули(трансляторы)
Трансляторы являются мощным механизмом, предоставляемым GlusterFS, который расширяет возможности файловых систем с помощью определённого интерфейса. Интерфейсы транслятора работают и на стороне сервера и на стороне клиента, что означает, что на одной стороне может быть загружен тот же транслятор, что и на другой. Трансляторы — это бинарные динамические объекты (.so), загружаемые в момент выполнения, исходя из параметров в файле томов. В GlusterFS — расширения производительности, расширяющие возможности и инструменты отладки — все реализованы как трансляторы.
Модули (трансляторы) выстраиваются в цепочку обслуживания, на входе и выходе транслятора — том. Самый нижний модуль сервера (типа storage/posix) указывает на подлежащую файловую систему. Описание томов (модулей) на сервере обычно находится в файле. Файл имеет построчный формат, комментарии начинаются с ‘#’. Описание модуля начинается с команды volume и указанием имени получающегося тома, тип и подтип модуля (через ‘/’) указываются командой type, ссылки на подлежащие тома указываются командой subvolumes с указанием имён томов нижнего уровня, параметры модуля задаются командами option, завершается описание модуля командой end-volume. Имена регистрозависимые. Подтома должны быть описаны до своего использования. Возможно написание единого конфигурационного файла как для сервера, так и для клиента.
Модули
- storage (описание подлежащей файловой системы на сервере)
- posix (обеспечивает POSIX семантику при работе с файлами подлежащей файловой системы)
- option directory имя-каталога (корень подлежащей файловой системы)
- 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 directory имя-каталога (корень подлежащей файловой системы)
- option logdir имя-каталога (журналы БД)
- option errfile имя-файла (для сообщений об ошибках)
- option dir-mode формат-chmod (возвращается при запросе)
- option file-mode формат-chmod (возвращается при запросе)
- option page-size байт (д.б. равно размеру блока подлежащей файловой системы)
- option open-db-lru-limit число (количество открытых БД на каталог?)
- option lock-timeout (максимальное время блокировки замка)
- option checkpoint-interval секунд (меньше — медленная работа, больше — увеличение потерь)
- option transaction-timeout (максимальное время блокировки транзакции)
- option mode {cache|persistent} (persistent гарантирует восстановление после сбоя
- option access-mode {btree|hash}
- posix (обеспечивает POSIX семантику при работе с файлами подлежащей файловой системы)



