Используют ли какие-либо файловые системы ОС хэши, чтобы избежать сохранения одних и тех же данных контента более одного раза? - PullRequest
7 голосов
/ 14 декабря 2009

Многие системы хранения файлов используют хэши, чтобы избежать дублирования одних и тех же данных содержимого файла (среди прочих причин), например, Git и Dropbox используют SHA256. Имена файлов и даты могут отличаться, но если контент генерируется с одинаковым сгенерированным хешем, он никогда не будет сохранен более одного раза.

Кажется, это было бы разумно сделать в файловой системе ОС, чтобы сэкономить место. Существуют ли какие-либо файловые системы для Windows или * nix, которые делают это, или есть веская причина, почему ни одна из них не делает?

Это, по большей части, устранит необходимость в утилитах для поиска дубликатов файлов, поскольку в этот момент единственное место, которое вы будете экономить, будет для записи файла в файловой системе, чего большинству пользователей недостаточно для вопрос.

Редактировать: Возможно, это может произойти из-за ошибки сервера, но я чувствую, что разработчики с большей вероятностью поймут связанные с этим проблемы и компромиссы.

Ответы [ 6 ]

7 голосов
/ 15 декабря 2009

ZFS поддерживает дедупликацию с прошлого месяца: http://blogs.oracle.com/bonwick/en_US/entry/zfs_dedup

Хотя я бы не назвал это «обычной» файловой системой (afaik, в настоящее время она поддерживается только * BSD), на нее определенно стоит обратить внимание.

5 голосов
/ 08 января 2010

NetApp поддерживает дедупликацию (так его называют в индустрии хранения данных) в файловой системе WAFL (да, не в вашей обычной файловой системе) для несколько лет сейчас. Это одна из наиболее важных функций, существующих в современных корпоративных файловых системах (и NetApp выделяется тем, что поддерживает это в своих основных хранилищах также по сравнению с другими аналогичными продуктами, которые поддерживают его только в своих резервных или вторичных хранилищах). они слишком медленные для основного хранения).

Объем данных, которые дублируются в крупном предприятии с тысячами пользователей, поражает воображение. Многие из этих пользователей хранят одни и те же документы, исходный код и т. Д. В своих домашних каталогах. Сообщения с 50-70% -ной дедупликацией данных были замечены часто, экономя много места и тонн денег для крупных предприятий .

Все это означает, что если вы создадите какую-либо общую файловую систему на LUN, экспортированном с помощью NetApp, то вы получите бесплатную дедупликацию, независимо от того, какая файловая система создана в этом LUN. Приветствия. Узнайте, как это работает здесь и здесь .

4 голосов
/ 14 декабря 2009

Это сэкономит место, но затраты времени непомерны. Упомянутые вами продукты уже связаны, поэтому вычислительная стоимость хеширования не является узким местом. Если вы хэшируете на уровне файловой системы, все медленные операции ввода-вывода ухудшатся.

3 голосов
/ 15 декабря 2009
0 голосов
/ 27 февраля 2017

btrfs поддерживает онлайн-дублирование данных на уровне блоков. Я бы порекомендовал duperemove, так как необходим внешний инструмент.

0 голосов
/ 15 декабря 2009

Для выполнения этой работы в файловой системе потребуется значительное количество работы. Прежде всего, пользователь может создавать копию файла, планируя редактировать одну копию, в то время как другая остается неизменной - поэтому, когда вы устраните дублирование, созданная таким образом жесткая ссылка должна будет дать семантику COW.

Во-вторых, разрешения для файла часто зависят от каталога, в который помещается имя этого файла. Вы должны убедиться, что при создании скрытой жесткой ссылки права доступа были правильно применены на основе ссылки, а не только местоположения фактического содержимого.

В-третьих, пользователи, вероятно, будут расстроены, если они сделают (скажем) три копии файла на физически отдельном носителе, чтобы предотвратить потерю данных из-за аппаратного сбоя, , а затем выяснить, что на самом деле была только одна копия файла, поэтому при сбое этого оборудования все три копии исчезли.

Это выглядит как эффект второй системы - решение проблемы спустя долгое время после того, как проблема перестала существовать (или, по крайней мере, имеет значение). Сейчас, когда жесткие диски работают менее чем на 100 долларов США / терабайт, мне трудно поверить, что это сэкономит большинству людей место на жестком диске в долларах. В этот момент трудно представить, что большинство людей сильно заботятся.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...