Многие компании вынуждены применять в своей работе файловый сервер. Его можно считать одним из наиболее неэффективных, так как часто, помимо необходимых данных, такой сервер содержит огромное количество «ненужной информации»: дубликаты файлов, старые бэкапы и т. д. Наличие таких файлов зависит не от сервера, а от способа организации структуры хранения. Например, очень часто в базе хранятся шаблоны файлов, которые различаются несколькими битами информации. В результате объем используемых данных постоянно увеличивается, что повышает потребность в дополнительных устройствах для хранения бэкапов. Способом борьбы с такой проблемой является проведение дедупликации данных. С помощью процедуры удается устранить избыточные копии и снизить потребность в местах для хранения. В результате оптимизируется емкость хранилища и удается избежать использования дополнительных устройств.
Технология позволяет избавиться от многочисленных копий файлов и сохранить на носителе информации только одну единицу файла. Однако для того, чтобы такая процедура была эффективной и действительно помогла устранить все копии, потребуется правильно подобрать уровень детализации.
Data deduplication может выполняться на нескольких уровнях:
Каждый из подходов имеет свои особенности и преимущества, которые стоит учитывать при выборе решения.
Использование блоков является самым популярным вариантом. Если говорить коротко, то дедупликация данных на этом уровне – это анализ файлов, после которого сохраняются лишь неповторяющиеся сведения для отдельного блока. Блок представляет собой логическую единицу информации с определенным размером. Причем размер этой единицы может варьироваться в зависимости от задач.
Важной особенностью дедупликации на таком уровне является использование хеширования. За счет этого удается создавать и хранить в общей базе требуемую сигнатуру, которая обозначает блок данных.
Процедура блочной дедубликации может проводиться с переменной или постоянной длиной блоков. В первом случае файлы распределяются на блоки различного размера – основой для сортировки может выступать дата создания или другой параметр. Переменный способ считается самым эффективным для сокращения объема данных.
Следующий возможный уровень deduplication – это уровень файлов. В этом случае происходит сравнение позднего файла с более ранним. В том случае, если обнаруживается уникальная информация, то она сохраняется. Если же новый файл дублирует предыдущий, то отображается только ссылка на исходные сведения.
То есть по сути записывается изначальный файл, а все последующие копии имеют указатель на информацию. Реализовать такой вариант дедупликации достаточно просто. Как правило, не происходит снижения производительности сервера во время обработки данных. Однако эффективность процедуры ниже, чем при использовании блочного подхода.
Третий из возможных способов дедупликации данных – это отдельный процесс на байтовом уровне. По принципу проведения этот вариант схож с методом блоков, но новые и старые файлы сравниваются по байтам. Именно такой подход к data deduplication позволяет полностью избавиться от дубликатов. Но есть и некоторые недостатки: процедура использует серьезные мощности сервера, поэтому к самому устройства предъявляются повышенные требования.
Процедура удаления дубликатов нередко выполняется в процессе сохранения резервной копии. Причем процесс может различаться по месту исполнения, источнику информации (клиенту) и способу хранения (используемому серверу).
К преимуществам процедуры возможно отнести следующее:
Однако у технологии есть и недостатки. Основной из них – это риск конфликта, если несколько блоков будут в одно время генерировать одинаковый хеш-ключ. Это может спровоцировать нарушение целостности баз, что приведет к невозможности восстановления созданной копии. Кроме этого, различные ошибки могут возникнуть при большом объеме данных.
Частые сложности возникают при применении службы Windows Server. Она существенно замедляет работу файлового сервера, так как во время процедуры файлы сначала копируются на диски и только после этого происходит проверка на дубликаты.
Наверняка у многих возникает закономерный вопрос, зачем нужна дедупликация данных и можно ли обойтись без нее. Как показывает практика, рано или поздно все равно приходится прибегать к data deduplication. Со временем копии и дубликаты файлов могут заниматься в 2–3 раза больше места, чем оригинальные файлы, поэтому требуется удаление ненужных данных. Особенно часто процесс дедубликации используют разработчики на рынке резервного копирования.
Кроме этого, технология нередко применяется на серверах продуктивной системы. В этом случае процедура может выполняться средствами ОС или дополнительным программным обеспечением.