Synology удалить дубликаты файлов
You must be in this situation after having a number of files all over your Synology NAS disk. For a surprise, most of these files are the exact same copies of existing files. The only question that’s on the mind in a situation like this is “How can you find them all and delete them?”
If you have already spent a lot of time organizing your files and then came here for a solution, take a relaxing breath we’re gonna tell you a hack!
The Storage Analyzer Package from Synology is an optimal solution and besides its very easy to use. Not only this is perfect but a reliable app released by Synology.
How Storage Analyzer Package Works?
Storage Analyzer scans the available data in the Synology NAS disk. The analyzer checks the storage spaces, volume storage, and generates the details of each file in the NAS disk. In this generated list by the Storage Analyzer, the user can easily filter out the files as per their file type, size, and volume.
The user has to set up and match criteria to pick out the similar files, the Storage Analyzer will detect it, and then the user can easily delete it. There’s a little tricky to pick out the similar files, you can set up a filter and compare the number of duplicate files by modified time and date to speed up the analysis.
Believe me, the analysis becomes a lot easier and more efficient with Storage Analyzer, managing the Synology NAS system and modifying its settings accordingly. For instance, based on analysis reports, you can delete files rarely accessed to release space for another usage, increase the quota for users with larger demand, or install more storage space to meet the need and usage trends.
How to install a Storage Analyzer?
- Visit the Synology Official website and Go to Package Center.
- On the top search box, hit search for “Storage Analyzer”.
- Download/ Install the Package > Run the package.
- Follow the on-screen instructions in the image below.
На момент подготовки статьи, дедупликация данных не являлась встроенной функцией NAS-серверов Synology. Желая включить эту недокументированную опцию, вы действуете на свой страх и риск. Ни Synology, ни тем более HWP не несут ответственности за последствия, связанные с использованием инструкций, данных в этой статье.
Что потребуется:
- NAS Synology с DSM 6.1 или выше
- Раздел с файловой системой BTRF
- Возможность установки Docker из центра пакетов Synology
Пока вы делаете бэкапы перед тем, как приступить, немного теории, совсем чуть-чуть и общими словами.
Btrfs - ключ к блочной дедупликации
Если вы запишете на NAS в 10 папок 10 файлов windows.iso размером по 3 Гб, то вы займете 30 Гб свободного места. Обычная дедупликация способна выявить повторяющиеся файлы и показать вам, что их можно удалить, у Synology есть эта функция в пакете "анализатор хранения", но это - прошлый век. Блочная дедупликация сканирует каждый файл в поисках повторяющихся блоков (экстентов), и если находит в разных файлах идентичные блоки, то в одном из них она производит удаление дубля экстента, заменяя его ссылкой на такой же экстент в другом файле. Совсем грубо это выглядит так: допустим, есть 10 архивов, в каждом из которых лежит dx.dll, так вот из 9 архивов содержимое файла dx.dll будет удалено и заменено на ссылку, отправляющую к 10-му архиву, где этот файл сохранился. Конечно, на самом деле этот процесс куда более сложный, но смысл все равно остается тем же - ссылка на dx.dll, например, занимает 128 байт, а сам dx.dll - 300 мегабайт. Проведя дедупликацию, мы сэкономим 2700 мегабайт из 3000, и при этом все файлы останутся на месте, их можно копировать, открывать и удалять независимо друг от друга. При записи на другой носитель, например на компьютер, дедуплицированные данные снова займут 3000 мегабайт, так что экономим мы место только внутри NAS-а.
Современные NAS-ы Synology поддерживают файловую систему Btrfs, в которой вот такие "ссылки" на экстенты - есть основа всего, поэтому ядро операционной системы, умеющее работать с Btrfs поддерживает функцию дедупликации само по себе, без лишних инструментов. Но Btrfs сама не умеет проводить дедупликацию, как например ZFS, ни на лету, ни как-то иначе. Файловой системе нужно, чтобы кто-то просмотрел все файлы, нашел в них повторяющиеся блоки и указал, что их можно удалить, заменяя ссылками. Для этой цели существуют несколько программ, одна из которых - duperemove.
Поскольку поддержка Btrfs встроена в ядро операционных систем Synology DSM 6.x, то нам не важно, что в самой Synology DSM нет инструмента дедупликации, ведь все что нам нужно - это сообщить файловой системе, где лежат повторяющиеся блоки данных внутри файлов, а дальше Synology DSM все сделает сама.
Как вы уже поняли, раздел данных на вашем NAS-е должен иметь файловую систему Btrfs, а не EXT4.
Docker - ключ к duperemove
Начиная с версии DSM 6.x, компания Synology значительно усложнила написание и подготовку стороннего софта для запуска из-под своей ОС, мотивируя так: "хотите ставить софт - используйте Docker или виртуализацию" (см. нашу статью про гипервизор Synology). В принципе, это правильный шаг, гарантирующий целостность операционки. Гипервизор Synology Virtual Machine Manager не даст нам прямого доступа к файловой системе, а вот контейнерная виртуализация - даст. Поэтому мы будем использовать пакет Docker, внутри которого создадим контейнер и загрузим туда программу duperemove.
Установка Docker и образа Debian
Убедившись, что у вас на NAS-е файловая система Btrfs, открываем "Пуск - центр пакетов", листаем вниз и инсталлируем Docker.
Запускаем Docker и во вкладке "Реестр" выбираем образ debian:latest. Мы будем использовать именно этот образ, хотя точно так же должно работать и в Ubuntu и в Centos.
Переходим на вкладку "Образ", жмем "Запустить" - наш контейнер запущен. Останавливаем его, кликая на выключатель справа.
Выделив контейнер Debian1, жмем кнопку "Настройки". Нам надо предоставить контейнеру полный доступ к DSM, поэтому выбираем эту галочку, после чего настраиваем ограничение ресурсов. По умолчанию duperemove использует все ядра процессоров и может скушать всю память, доступную в системе. Сам процесс дедупликации очень ресурсоемкий и долгий, поэтому лучше ограничить ресурсы контейнеру, выделив не более половины ядер CPU и около половины используемого объема ОЗУ. Когда дедупликация закончится, все лишние данные из памяти будут удалены. Это вам не ZFS, тут хранить таблицы экстентов в памяти не нужно.
По умолчанию наш контейнер не видит файлы и директории, которые хранятся на NAS-е, и надо "пробросить" физические каталоги в его виртуальную среду. Жмем кнопку "дополнительные настройки", переходим в закладку "Том" и жмем кнопку "Добавить папку". Выбираем нужную нам папку, это может быть как корневая, так и любая вложенная, жмем "OK" и вводим путь внутри контейнера, куда будет смонтирована папка NAS-а, пусть это будет /tmp/hwp_vmware. Если нужно добавить несколько папок NAS-а, повторяем этот шаг несколько раз.
Вообще, как я говорил, дедупликация в Btrfs- очень тяжелый для системы процесс, поэтому имеет смысл проводить её выборочно, например только для папки с образами виртуальных машин или другими дублирующимися данными. Причем, лучше сделать несколько копий контейнера для разных папок и запускать, например, каждый из них отдельно по расписанию (как настроить запуск контейнеров по расписанию - ищите в гугле), а мы идем дальше.
Запускаем наш контейнер, нажав на выключатель справа. Нажимаем кнопку "Сведения", открывается новое окно. Нажимаем "Терминал", и чуть подождав, попадаем в интерфейс командной строки. У нас совершенно "голый" debian, в котором нет даже доступа по SSH, поэтому лучше и быстрее один раз ввести длинный URL с клавиатуры, чем пробрасывать порты внутрь контейнера и заходить из терминальной программы.
Заходим в папку, /tmp
Включаем права root и устанавливаем wget
su
apt-get update
apt-get install wget nano
Update: программа Duperemove была включена в тестовый репозиторий buster, поэтому подключаем его.
добавляем в конец
apt-get update
apt-get install duperemove
Все, теперь все что нужно - у нас есть, пришло время запустить дедупликацию!
duperemove -rdh --hashfile=hwp_hash /hwp_vmware
- -r - ходить по каталогам внутри (рекурсивно)
- -d - произвести дедупликацию
- -h - вывести отчет на человеческом языке
- --hashfile=hwp_hash - файл в котором будут храниться хэши на время дедупликации. Если его не указать, все хэши будут храниться в ОЗУ и это может привести к переполнению памяти и ошибке программы. По окончанию процесса, этот файл автоматически будет удален. На время процедуры он лежит в папке /tmp
- ./hwp_vmware - путь к смонтированному каталогу внутри контейнера, который ведет в каталог на NAS-е
Процесс дедупликации очень долгий - на процессорах серии Celeron он может занимать несколько дней или даже недель для папки объемом в 1 Тб. Сначала программа создаст набор хэшей для экстентов каждого файла внутри смонтированного каталога, а потом начнет удалять их из самих файлов. Если процесс прервать, придется начинать с самого начала. В случае если во время дедупликции сервер будет выключен (пропадет электричество или все повиснет) - после перезагрузки ничего не должно сломаться. Мы проверяли это 3 раза во время тестирования - данные были целы.
Файловая дедупликация
Один из более быстрых вариантов - файловая дедупликация. В отличии от блочной, она работает целиком с файлами, и если находит два одинаковых - один как бы удаляет, указывая файловой системе, что его содержимое можно взять по другому адресу. Для пользователя этот процесс никак не заметен - у вас по-прежнему будут доступны все одинаковые файлы, только места они будут занимать как один оригинал. Это гораздо менее ресурсоемкий процесс, но и не такой эффективный, как блочная дедупликация, но при наличии первой, вторая не требуется. Давайте вернемся в наш контейнер и запустим файловую дедупликацию. Открываем контейнер и заходим в терминал, как показано ранее.
Устанавливаем программу fdupes, которая составляет список дублирующихся файлов
Теперь запускаем поиск и дедупликацию в нашей папке, как в примере выше
fdupes -r -S ./hwp_vmware | duperemove --fdupes
Аналогично, программа пройдет по всем файлам указанного каталога, создаст для них хэши и попросит программу duperemove сообщить файловой системе о наличии дубликатов и провести очистку.
Ну что, давайте протестируем как оно работает?
Результаты тестирования
Мы записали в тестовую папку 397 Гб образов виртуальных машин, создав 6 копий одинаковых данных и положили туда же обычную папку с инсталляционными файлами различных программ и игр. До начала дедупликации на томе было 1.69 Гб свободных данных и 397 Гб тестовых образов (на скриншоте ниже видно, что файлы занимают 381 Гб, так как используется сжатие на уровне файловой системы Btrfs).
Файловая дедупликация обрадовала своей скоростью - уже через 5 часов на диске было 1.9 Тб свободного места, а занятое пространство сократилось до 175 Гб.
Блочную дедупликацию на том же объеме провести не удалось - за сутки работы программы из 785 000 экстентов обработаны было всего 1200, расчеты на коленках показали, что тест на таком объеме будет идти два года, и возможно более быстрый процессор решил бы нашу задачу. На тестовом объеме в 1 Гб, удалось добиться той же точной дедупликации, что и в файловом методе. Естественно, в реальной жизни эффективность может быть другой, как выше, так и ниже. Что неприятно, так это невозможность прервать работу Duperemove; какие-то экстенты она отрабатывает за считанные секунды, а на какие-то тратит часы. И пока программа обрабатывает экстент, остановить или перезапустить контейнер не получится. В нашей тестовой машине использовался 2-ядерный процессор Celeron J3355, и возможно на топовых NAS-ах Synology с Xeon-ами, блочная дедупликация больших объемов данных будет проходить за считанные дни или часы.
Заключение
Если вы знакомы с контейнерами, то сможете настроить автоматический запуск дедупликации по расписанию, не дожидаясь, пока Synology введет поддержку этой функции в DSM. Как уже было сказано выше, имеет смысл сделать отдельные контейнеры для отдельных папок и запускать их по очереди. Я тестировал работу блочной дедупликации на чистом Linux-е без контейнеров, и там этот процесс занимал на точно таком же процессоре всего несколько часов. Видимо, Docker является слишком толстой прослойкой, поглощающей ресурсы CPU.
Дедупликация не работает на зашифрованных папках.
Да, конечно Btrfs - это не ZFS, где дедупликация происходит на лету во время записи данных на диск. Но если достичь в DSM той же производительности, что на Debian 9, то можно проводить этот процесс еженедельно или по ночам, получая тот же эффект экономии, который дает ZFS.
Say you have a whole bunch of copies of the exact same files all over the place on your Synology NAS disks – how can you find them all and delete them? After copying and organizing my files a bit, I found out that I had multiple copies of the same files, pictures, videos etc… But how could I find the duplicates and erase only them? So I started looking for the best way/software to clean all the duplicate data, free if possible. That’s when I found the Storage Analyzer Package from Synology. Storage Analyzer really is the optimal solution, and easy to use.
If you go online to look for answers on how to find duplicate files on your Synology NAS, you’ll find a lot of more of less complicated solutions. But the Storage Analyzer package from Synology is the most effective solution. Not only is it perfect for what you need, but being a Synology product also means it’s reliable.
What is Storage Analyzer?
Storage Analyzer allows you to have a quick glance at the overall usage trends of your Synology NAS, create and manage tasks to analyze storage spaces, and generate detailed reports on volume usage. You can select report types, set a schedule to receive periodic storage reports, and easily view previous reports that match the specified time or criteria. You can specify the maximum number of duplicate files to be listed in the report. You can also choose to compare duplicate files by modified time and/or by file name to speed up the analysis. With Storage Analyzer, managing your system and modifying your settings according to the analysis becomes a lot easier and more efficient; for instance, based on analysis reports, you can delete files rarely accessed to release space for other usage, increase quota for users with larger demand, or install more storage space to meet the need and usage trends.
How can I install Storage Analyzer?
Go to Package Center / Select All Packages / Search “Storage Analyzer” on the top search box / Install the Package / Open the package. Follow the instructions in the image below.
Note : The Storage Analyzer allows you to see what files/folders are taking up space on your NAS and if any duplicates exist. It’s a powerful tool that periodically comes in handy.
Note : How to Set Up Storage Analyzer.
Synology основы резервного копирования для защиты данных 3-2-1
Даже у самых дорогих устройств случаются сбои в работе оборудования и программного обеспечения, что может привести к повреждению данных. Вирусы вымогатели или просто случайное удаление данных может необратимым образом отразится на вашей работе или личном пространстве. Что бы избежать этих последствий нужно заранее спланировать резервное копирования для безопасного хранения ваших данных.
Резервное копирование 3-2-1
Только хорошо спланированная стратегия резервного копирования позволяет восстановить данные тогда, когда они вам понадобятся. Если вы находитесь только в самом начале или уже в процессе переосмысления существующей системы, следуйте правилу резервного копирования 3-2-1:
Первым делом нужно сделать резервную копию ваших устройств
Резервная копия папок и файлов
Резервное копирование и синхронизация папок позволит легко восстановить данные после случайного или намеренного изменения. Подробнее
Автоматическая защита всего компьютера
Защитите свои компьютеры под управлением Windows и Linux с помощью полного резервного копирования всех файлов, программ и настроек на любом диске. Гибкое восстановление позволяет восстанавливать только файлы и папки или реплицировать все устройство на новое. Подробнее о Synology Active Backup for Business.
Для Mac OS доступно только копирование на уровне папок
Настраиваете резервное копирование важных данных в реальном времени или по расписанию.
Резервное копирование внешних дисков и карт памяти
Создание автоматического или ручного резервного копирования USB накопителей и карт памяти при подключении , а так же освобождение пространства после окончания операции. Подробнее о USB Copy.
Резервное копирование фотографий и видеозаписей
C Synology Photos на телефоне делайте резервные копии фотографий и видео файлов, а так же освобождайте место на мобильном устройстве. Просмотр ваших снимков никогда не был таким удобным.
Резервная копия NAS
Cloud Sync – только для файлов
Синхронизируйте ваши файлы с общедоступными облачными хранилищами такими как Google Drive, Microsoft OneDrive или Dropbox. Подробнее о Cloud Sync.
Hyper Backup – полное резервное копирование для больших объемов
На внешнее устройство
Hyper Backup предоставляет огромный выбор вариантов резервного копирования, позволяет управлять версиями, сжатие для экономии места. Подробнее.
USB Copy
USB Copy менее функциональная, но не менее надежное решение. Подробнее
Резервное копирование всего NAS
Huper Backup простое и эффективное резервное копирование данных с NAS на NAS.
Хотите, чтобы все было просто и эффективно? Настройте автоматическую защиту данных, приложений и системных параметров. Сжатие и дедупликация значительно сокращают размер необходимой емкости хранения. Подробнее о Hyper Backup.
Защита данных с высокой частотой
Моментальные снимки файловой системы и репликация могут выполнятся каждые 5 минут. Подробнее о Snapshot Replication.
У этой записи 2 комментариев
Добрый день !
Ни как не могу найти способ, что бы с синоложки делать копии на диск подключенный по юсб к роутеру( кенетик)
Пробивал – Huper Backup отлично справляется на диск подключений к сино по юсб,по webdav к кенетику ни в какую.
Cloud Sync – очень медлено за сутки 500Мбайт (((
Есть решения ?
DMS 7
Все зависит от кинетика, что он может предоставить для этого. Если на кинетике есть webdav то можно по нему. Почему не получается? ну видимо что-то не так на кинетике. По SMB никто не делает резервные копии, это не тот протокол, который на это способен. Как вариант, если нет нормального webdav на кинетике, то сделать следующее: В File Station подключить папку кинетика по smb, ролик как это сделать я выпускал и статью на этом сайте, называется три фишки File Station. И уже когда папка будет подключена делать резервную копию в нее. Но это будет медленно, хотя все зависит от кинетика, на сколько он способен проварить эти данные. Как показывает мой опыт это будет долго. Проще подрубить диск к сино и делать в него сразу бекап. Конечно лучше решить вопрос webdav на кинетике, но опять же, скорее всего будет медленно, эти устройства не способны выдать нормальную скорость для таких случаев. Попробуйте подключиться к кинетику по webdav со своего пк, для локализации проблемы.
Цель этой статьи показать как уменьшить том на Synology NAS без потери данных даже если все и вся говорят, что это не возможно. А я доказал, что это возможно и это сделать очень легко.
Уменьшение тома на Synology NAS без потери данных
Я задался вопросом уменьшения тома на Synology NAS и все ответы получил такие: Могу ли я уменьшить том на моем Synology NAS? или такие:
Ответ тех. поддержки Synology
Начиная с DSM 7.0, все новые пулы ресурсов хранения поддерживают несколько томов, что обеспечивает дополнительную гибкость. Можно создать один или несколько томов в одном пуле ресурсов хранения и задать емкость для каждого тома.
Преобразование в пул ресурсов хранения с несколькими томами
Но я не запаниковал, я знал что у меня BTRFS, которая умеет расширяться и сужаться на лету без всяких премудростей. Почему Synology говорят обратное, я не знаю, но у меня все получилось.
Для чего это нужно? честно сказать я долго думал для чего, пока сам не столкнулся. Вот мой пример. У меня NAS, на котором и сайт и почта и видео наблюдение и многое другое. Я подключаю SSD кэш на чтение и запись. Камеры начинают писать сначала в SSD кэш, а тот сбрасывает на HDD. Таким образом SSD диск быстро выходит из строя, так как имеет ограниченное количество перезаписей. Поэтому, я сделал один том для SSD кэша, где все приложения, а второй том для видеонаблюдения. При этом все диски объединены в один пул и один RAID и мне не нужно иметь разные диски под приложения и под видеонаблюдение. Диски нынче очень дорогие. Достаточно просто разбить пул на несколько томов.
Второе для чего может понадобиться разбить пул на несколько томов это использование снапшотов и репликаций. Так например для этой технологии нужно отключать запись времени доступа к файлам. Таким образом на одном томе можно включить, а на другом выключить запись времени изменения файлов. И не надо покупать отдельные диски.
Если у вас есть еще примеры, то напишите их в комментариях ниже, будет интересно узнать.
Все что вы делаете, делаете на свой страх и риск и я ответственности за это не несу”. И раз тех поддержка говорит, что нельзя, то в случае криворукости они пошлют в “путешествие”
- Synology NAS
- DSM 7
- Пул ресурсов хранения SHR (Synology Hybrid Raid)
- Том занимает максимальное пространство пула ресурсов хранения
- файловая система BTRFS
- Synology NAS полностью исправен
- На томе есть свободное место )))
Задача: Получить два тома на одном пуле ресурсов
Если у вас не SHR эта инструкция подойдет вам частично или не подойдет совсем, так как LVM есть только в SHR.
Сначала нам нужно включить доступ по SSH. Для этого переходим в DSM > Панель управления > Терминал и SNMP и тут включаем службу SSH:
В диспетчере хранения в настройках тома смотрим, что уменьшить том нельзя:
Подключаемся по SSH использую логин и пароль от администратора, затем вводим команду sudo -i для получаения привилегий root и проверяем размер тома. В моем случаи один том volume1:
Изменяем размер тома командой:
– где 400G это новый размер, его нужно указывать именно в гигабайтах. Так если у вас 5 Тэрабайт, то пишите 5000G. В моем случаи тестовый экземпляр не очень большой всего 1000G:
Как видим из скриншота выше размер тома volume1 уменьшился без ошибок и моментально
Но на этом не все. Теперь нужно уменьшить размер VG (Linux Volume Manager). Для этого вводим команду:
– где 400G нужный нам размер, как в первой команде в гигабайтах:
Размер файловой системы и LVM должен уменьшиться, но DSM будет вести себя странно:
Что бы DSM осознала, что в том volume1 были внесены изменения NAS нужно просто перегрузить, а после перезагрузки все будет выглядеть mb работать корректно и можно увеличивать том или создавать другие на свободном месте:
Вот так легко и просто можно уменьшить том в Synology NAS буквально за пару минут.
Еще после этих операций рекомендую запустить “Исправление ошибок данных” на всякий случай. В диспетчере хранения выберите пул и нажмите кнопку “Запустить сейчас”:
Читайте также: