Дедупликация btrfs. Bees
BEES (Best-Effort Extent-Same) — агент дедупликации btrfs.
Содержание
1 Общая информация
- Репозиторий: https://github.com/Zygo/bees
- Сайт: https://zygo.github.io/bees/
- Уровень дедупликации: блочный.
- Работает как демон.
- Поддерживается инкрементное сканирование данных.
2 Плюсы и минусы
2.1 Сильные стороны
- Хеш-таблица с эффективным использованием места, можно использовать всего 1 ГБ хеш-таблицы на 10 ТБ уникальных данных.
- Демон постепенно выполняет дедупликацию новых данных, используя поиск по дереву btrfs.
- Поддержка сжатия btrfs, дедупликация комбинации сжатых и несжатых файлов.
- Постоянная хеш-таблица для быстрого перезапуска после выключения.
- Дедупликация всей файловой системы, включая моментальные снимки.
- Постоянный размер хеш-таблицы: использование оперативной памяти не увеличивается, если набор данных становится больше.
- Автоматическое саморегулирование в зависимости от загрузки системы.
2.2 Слабые стороны
- Дедупликация только всей файловой системы.
- Требуются привилегии
root
(илиCAP_SYS_ADMIN
). - Первый запуск может увеличить использование пространства метаданных, если существует много моментальных снимков.
- Постоянный размер хеш-таблицы: использование оперативной памяти не уменьшается, если набор данных становится меньше.
- Работает только с btrfs.
3 Установка
- Gentoo:
1emerge bees
4 Использование
4.1 Запуск
- Для запуска используем скрипт
beesd
(в исходникахscripts/beesd
). - Посмотрим идентификаторы
UUID
файловых систем:1btrfs filesystem show
- Активируем демон дедупликации, указав
UUID
в качестве идентификатора инстанса. ПустьUUID="f8963df3-1320-4bc0-a125-62be185b029e"
, тогда команда активации будет иметь вид:1systemctl enable --now beesd@f8963df3-1320-4bc0-a125-62be185b029e
4.2 Конфигурация
- Для работы демона необходим файл конфигурации.
- Шаблон для файла конфигурации:
1/etc/bees/beesd.conf.sample
- Скопируйте его, задав произвольное имя (например,
root.conf
):1cp /etc/bees/beesd.conf.sample /etc/bees/root.conf
- В этом файле задайте поле
UUID
с необходимым значение. - Для запуска необходимо наличие файла с расширением
.conf
и поляUUID
. - Остальные поля конфигурации настраиваются по желанию. В противном случае используются значения по умолчанию.