Всем привет!!!
С выходом Synology DSM 7.4 появилась возможность использовать дедупликацию данных не только на SSD дисках, но и на HDD. В этом руководстве я расскажу как это сделать на сторонних дисках.
Дедупликация данных (от англ. deduplication — удаление дубликатов) — это процесс удаления повторяющихся копий информации, при котором остается только один уникальный экземплярданных. Простыми словами: если у вас есть три одинаковых файла, то дедупликация оставит только один оригинал, а вместо остальных создаст «ссылки» на него. Место на диске при этом освобождается колоссальное.

В Synology DSM 7.4 дедупликация данных называется эффективное хранение. Далее в статье я буду использовать только термин дедупликация. Мне кажется это технически более правильно.
Два основных типа
- Дедупликация на уровне файлов (самая простая). Ищет полностью одинаковые файлы (например, две одинаковые фотки в разных папках). Удаляет дубли, оставляя один файл.
- Дедупликация на уровне блоков (самая эффективная). Делит файлы на мелкие кусочки (блоки) и ищет повторы среди них. Даже если вы изменили одну строчку в 10-гигабайтном видео, система сохранит только эту измененную строчку, а все остальные блоки возьмет от старой копии. Этот метод как раз использует Synology.
Главный минус — нагрузка на процессор. Чтобы найти дубли, системе нужно просчитывать «цифровые отпечатки» (хэши) каждого куска данных. Это требует времени и ресурсов.
В Synology DSM 7.4 для HDD-дисков используется пост-обработка (post-processing) на уровне общих папок (shared folder level). Это значит, что процесс запускается по расписанию или вручную, а не в реальном времени во время записи данных.
- Режимы работы: Можно выбрать один из трех режимов :
- Дедупликация и сжатие — для максимальной экономии места.
- Только дедупликация — идеально для данных с большим количеством повторов (например, ISO-образы, виртуальные машины).
- Только сжатие — для хорошо сжимаемых данных (логи, текстовые файлы).
Я не рекомендую включать сжатие данных на Synology для повседневных рабочих папок. Главная причина — это двойная нагрузка на систему. Если при записи сжатие происходит в фоновом режиме и почти не мешает, то при чтении каждый файл нужно разархивировать в реальном времени. Это приводит к задержкам при открытии документов, тормозам при работе с фото/видео и сильной нагрузке на процессор NAS. Особенно заметно страдает производительность при случайном доступе к мелким файлам и на моделях с бюджетными процессорами. Сжатие оправдано только для «холодных» архивов, к которым вы обращаетесь раз в полгода. Для активных данных экономия места не стоит того, чтобы жертвовать скоростью работы.
Важное требование: Для работы функции необходимо, чтобы том был создан в файловой системе Btrfs, а пул хранения состоял из дисков Synology (HDD или SSD)
Официальная позиция Synology заключается в том, что дедупликация на HDD может привести к фрагментации данных, что снижает производительность при случайных операциях чтения/записи. Именно поэтому на многих моделях эта функция долгое время была официально доступна только для томов на SSD
В общем у меня, как думаю и у многих, просто нет дисков Synology. Они не просто дорогие, они в целом ничем не лучше конкурентов, поэтому я их никогда и не покупал. Для решения этой проблемы существует специально разработанный скрипт synology_enable_duplication от известного разработчика Дэйв Рассел под ником 007revad. Этот скрипт включает поддержку дедупликации данных для дисков сторонних производителей и на неподдерживаемых моделях Synology NAS, которым компания обрезала данную функцию.
Основное требования для работы дедупликации данных это DSM 7.4 (хотя и в более старых она будет работать, но именно эффективное хранение только в 7.4), файловая система BTRFS и не менее 16 гигабай оперативной памяти. Я проверял на меньшем количестве ОЗУ и дедупликация не заработала.
И так, если у вас нет дисков Synology или ваш Synology NAS не поддерживает дедупликацию, а вам это хочется то делаем так:
- Загрузите последнюю версию Исходный код (zip) с сайта https://github.com/007revad/Synology_enable_Deduplication/releases
- Сохраните загруженный zip-файл в папке на Synology.
- Распакуйте zip-файл.
- Зайдите в свойства срипта syno_enable_dedupe.sh и скопируйте его путь.
- Откройте панель управления, планировщик задача и создайте задачу в разделе запущенная задача
- Придумайте название задачи, укажите пользователя root и запускаться при выключении.
- На вкладке настройка задачи вставте путь до скрипта и через пробел добавте параметр
--hdd(два тире)



Нужно один раз запустить задачу вручную и через 1-2 минуты перезагрузить сервер.
Этот скрипт нужно запускать каждый раз после обновления DSM.
Если вы захотите отменить действия скрипта, то запустите его такой командой с опцией -r (Restore):
/путь-до-скрипта/syno_enable_dedupe.sh -r
После перезагрухки в настройках тома появится настройка эффективного хранения данных.


Подробднее про эффективное хранение данных в моем видео ролике
Теперь вы знаете Как включить дедупликацию данных в Synology NAS и воспользоваться функцией DSM 7.4 эффективное хранение данных.

