Настройка дедупликации BTRFS на Asustor AS6804T ADM 5.1
Пошаговое руководство по установке bees для блочной дедупликации BTRFS на NAS Asustor AS6804T под ADM 5.1.2.RE51 через Docker с --privileged. Освободите место без удаления файлов, поддержка снапшотов и сжатия. Альтернативы и конфигурация.
Как настроить дедупликацию BTRFS на Asustor AS6804T под ADM 5.1.2.RE51?
В системе ADM есть функция поиска дубликатов файлов, но отсутствует дедупликация на уровне файловой системы BTRFS. Нужно освободить место на диске, не удаляя ‘лишние’ файлы из директорий.
Рассматриваю сторонние утилиты для дедупликации BTRFS, предпочтительно bees. Подскажите, как установить и настроить такую утилиту:
- Прямо в системе ADM (через менеджер пакетов apkg)?
- В Docker-контейнере (с доступом к дедуплицируемой BTRFS-файловой системе)?
Учтите, что ADM использует свой формат пакетов (.apk, но не Android) и менеджер apkg.
Дедупликация BTRFS на Asustor AS6804T под ADM 5.1.2.RE51 возможна через утилиту bees — мощный инструмент для блочной дедупликации на уровне файловой системы btrfs nas. Прямая установка в ADM через apkg не поддерживается, так как bees требует компиляции из исходников и root-привилегий, поэтому лучший вариант — Docker‑контейнер с --privileged и монтированием /volume1. Это позволит освободить место без удаления файлов, работая с живыми данными, снапшотами и сжатием, с hash_table всего 0.1 ГБ на ТБ уникальных данных.
Содержание
- Что такое дедупликация btrfs и зачем она на nas asustor as6804t
- Обзор утилиты bees для btrfs дедупликации
- Совместимость adm 5.1.2.re51 с btrfs и bees
- Установка docker на asustor adm
- Настройка portainer для удобства
- Сборка и запуск bees в docker‑контейнере
- Альтернатива: попытка установки bees напрямую в adm
- Конфигурация bees.conf для as6804t
- Запуск, мониторинг и проверка результатов
- Источники
- Заключение
Что такое дедупликация btrfs и зачем она на nas asustor as6804t
Представьте: на вашем NAS Asustor AS6804T с LockerStor 4 Gen3 накопилось море данных — фото, видео, VM‑образы, — и диск заполнен, хотя половина файлов идентичны. Встроенный Duplicate Finder в ADM ищет дубликаты на уровне файлов и предлагает удалить их, но это не то. Дедупликация BTRFS работает глубже: на блоках данных, используя extents и ioctl FILE_EXTENT_SAME. Результат? Диск освобождается, файлы остаются на месте, снапшоты и сжатие (zstd) продолжают работать без сбоев.
Почему именно на Asustor AS6804T? Эта модель с 4x M.2 слотами и BTRFS RAID идеальна для больших хранилищ, но без FS‑level дедупликации место тратится зря. Bees решает это: сканирует весь filesystem один раз, даже с reflinks, и дедуплицирует инкрементально. Готовы сэкономить терабайты?
Обзор утилиты bees для btrfs дедупликации
Bees — это не просто скрипт, а полноценный демон для BTRFS, ориентированный на масштабируемость. Он хранит хэши в таблице (1 ГБ на 10 ТБ данных), работает с живыми файлами (даже SQLite или VM), throttles нагрузку и не требует downtime. Плюсы: совместим с compression, snapshots, largest extents first для быстрого эффекта. Минусы? Только BTRFS, нужен CAP_SYS_ADMIN, и первый запуск может набухнуть метаданные при куче снапшотов.
В отличие от duperemove или старого btrfs dedupe (который устарел), bees daemon‑режим следит за новыми данными автоматически. На официальном GitHub bees всё расписано: от сборки до config. Идеально для NAS Asustor, где данные пишутся постоянно.
А Duplicate Finder ADM? Он удаляет файлы целиком, не трогая extents. Bees — умнее.
Совместимость adm 5.1.2.re51 с btrfs и bees
ADM 5.1 на базе Linux 6.6 LTS — отличная новость для BTRFS. Обновление добавило стабильность, снапшоты и производительность, как указано в анонсе ASUSTOR ADM 5.0. Kernel поддерживает FIDEDUPERANGE без багов (проверьте btrfs-kernel.md в bees repo).
Asustor с BTRFS — с ADM 3.3, но 5.1 идеальна для bees: /volume1 монтируется как BTRFS‑root. Проблемы? Только если снапшоты старые — bees их обработает, но метаданные вырастут на 10‑20%. Тестировано на AS5304T/AS6804T в форумах.
Установка docker на asustor adm
Docker — ваш друг на ADM. Зайдите в App Central, найдите Docker CE (бесплатный) и установите. Это даёт CLI docker и интеграцию с shares.
После установки проверьте:
docker --version
docker run hello-world
Если ошибка — перезагрузите NAS. ADM использует .apk, но Docker из App Central готов к BTRFS‑mounts: -v /volume1:/mnt/btrfs:shared. Для привилегий: --privileged обязательно для bees.
Подробности в официальной доке ASUSTOR Docker. Быстро и без гемора.
Настройка portainer для удобства
CLI — ок, но GUI лучше. Установите Portainer из App Central (portainer/portainer-ce). Создайте контейнер по гайду с форума ASUSTOR:
docker rm -f $(docker ps -a | grep portainer | awk '{print $1}')
docker create --name portainer \
--restart=always \
-p 9001:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /share/Docker/portainer:/data \
portainer/portainer-ce:latest
docker start portainer
Откройте http://IP_NAS:9001, подключитесь к local Docker. Теперь volumes, images и containers на ладони. Монтируйте BTRFS как /volume1/@share:/data:shared.
Portainer упрощает --privileged и binds. Без него жить можно, но с ним — комфорт.
Сборка и запуск bees в docker‑контейнере
Apkg не потянет bees (нет build-essential в репах), так что Docker. Создайте Dockerfile в /share/Docker/bees:
FROM debian:bookworm-slim
RUN apt update && apt install -y git build-essential libbtrfs-dev libzstd-dev pkg-config
RUN git clone https://github.com/Zygo/bees.git /bees && cd /bees && make && make install
COPY bees.conf /etc/bees.conf
ENTRYPOINT ["/usr/local/bin/bees"]
Соберите:
docker build -t bees:btrfs .
Запустите с доступом к BTRFS (замените /volume1 на ваш mount):
docker run -d --name bees-dedup \
--privileged \
--restart=unless-stopped \
-v /volume1:/mnt/btrfs:shared \
-v /share/Docker/bees.conf:/etc/bees.conf \
bees:btrfs -c /etc/bees.conf
Проверьте логи: docker logs bees-dedup. Bees увидит UUID через btrfs filesystem show. Работает с RAID и снапшотами.
Альтернатива: попытка установки bees напрямую в adm
Хотите без Docker? Рискованно, но возможно. Enable SSH в ADM (Storage Manager > SSH), войдите как admin, su root.
Установите dev‑tools (если apkg имеет): apkg query --list | grep dev, но обычно нет. Скачайте statically‑linked binary (если найдёте) или cross‑compile на ПК.
Шаги:
apt update # Нет apt в ADM, используйте opkg/entware если установлен
opkg install git make gcc # Через Entware из Community
git clone https://github.com/Zygo/bees.git
cd bees && make && make install
Затем systemd или cron для beesd. Но kernel modules и libs могут не совпасть — Docker надёжнее. См. wiki Forza.
Конфигурация bees.conf для as6804t
Создайте /share/Docker/bees.conf:
[global]
mountpoint = /mnt/btrfs
hash_size = 4G # 0.1ГБ/ТБ, для 40ТБ — 4ГБ RAM
hash_bytes = 4096 # Блоки по 4К
time_step = 1h
extra_searches = 3
threads = 8 # По ядрам AS6804T
logfile = /var/log/bees.log
Укажите точный mountpoint: btrfs subvolume show /volume1. Для снапшотов — auto. Тестируйте малым volume сначала.
Запуск, мониторинг и проверка результатов
Запустили? docker exec -it bees-dedup bees -i /mnt/btrfs для one‑time scan. Или daemon сам по time_step.
Мониторинг:
docker logs -f bees-dedup | grep deduped
btrfs filesystem df /volume1
df -h /volume1
Ожидайте 10‑50% экономии на медиафайлах. Логи покажут extents deduped. Если нагрузка высока — уменьшите threads. Проблемы? Проверьте kernel bugs в bees docs.
Свободное место растёт без потерь данных. Круто, правда?
Источники
- GitHub - Zygo/bees — Документация по установке и настройке bees для BTRFS: https://github.com/Zygo/bees
- ASUSTOR NAS Docker — Руководство по Docker на ADM и монтированию volumes: https://www.asustor.com/solution/what_is_docker
- Forza’s Ramblings Btrfs/Bees — Практические советы по запуску bees с UUID: https://wiki.tnonline.net/w/Btrfs/Deduplication/Bees
- ASUSTOR Community Forum Portainer — Инструкции по установке Portainer на ASUSTOR NAS: https://forum.asustor.com/viewtopic.php?f=240&t=13144
- ASUSTOR ADM 5.0 — Обновление ядра 6.6 LTS и поддержка BTRFS: https://www.asustor.com/news/news_detail?id=33592
- SNBForums ADM BTRFS — Обсуждение BTRFS в ADM и дедупликации: https://www.snbforums.com/threads/asustor-adm-3-3-now-available-with-btrfs-support.56730/
Заключение
Дедупликация BTRFS через bees в Docker на Asustor AS6804T — это реальный способ освободить терабайты без риска для данных, обходя ограничения ADM Duplicate Finder. Начните с Portainer, соберите контейнер, настройте conf под ваш volume — и NAS вздохнёт свободнее. Следите за логами, тестируйте на подтоме, и btrfs nas покажет себя во всей красе. Если RAM мало, уменьшите hash_size, но эффект того стоит. Удачи с настройкой!
Для работы с bees на Asustor AS6804T под ADM 5.1.2.RE51 лучше использовать Docker-контейнер, поскольку менеджер apkg не поддерживает сборку C/C+±приложений. Создайте Docker-образ на базе Debian, установите зависимости, склонируйте репозиторий и соберите программу. Запустите контейнер с --privileged, монтируя BTRFS-раздел, настройте config.yaml и выполните bees -scan или -daemon для дедупликации.