The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Opendedup - файловая система с автоматическим объединением дубликатов данных

28.03.2010 18:22

В рамках проекта Opendedup ведется работа по созданию новой распределенной файловой системы SDFS, специально оптимизированной для использования в качестве хранилища для виртуальных окружений, подобных XEN, KVM или VMware. Главная особенность новой системы заключается в поддержке автоматического объединения дубликатов - для одинаковых блоков данных сохраняется только одна копия, что значительно повышает вместимость файловой системы при хранении похожих по базовой начинке виртуальных окружений.

Максимальный размер общей файловой системы на базе SDFS ограничен 8 Петабайтами, максимальный размер одного файла - 250 Гб, предусмотрена возможность подключения в единый пул до 256 разных хранилищ, по 32 Терабайта в каждом. Исходные тексты SDFS написаны на языке Java и доступны в рамках лицензии GPLv2. Файловая система реализована через FUSE-модуль и не привязана к конкретной программной платформе (в настоящее время доступен модуль для Linux, но планируется поддержка других операционных систем).

Для хранения данных в SDFS используется любая стандартная файловая система или cloud-хранилище Amazon S3, при этом SDFS выступает в роли прослойки, выполняющей функции выявления и объединения дубликатов. Данные о позиционировании дубликатов могут храниться локально или могут быть распределены на несколько узлов в сети, объединенных в рамках общего распределенного хранилища. Производительность выполнения операции поиска и объединения дубликатов составляет около 150 Мб/сек. Кроме выявления дубликатов налету предусмотрен режим периодического фонового выявления дубликатов, который запускается в промежутки наименьшей активности и не сказывается на производительности online-операций. Имеется поддержка снапшотов на уровне файлов и директорий. Вычисление дубликатов производится путем использования единой глобальной хэш-таблицы для всех присутствующих в ФС блоков данных.

Базовые компоненты SDFS:

  • SDFS-раздел (SDFS Volume) - доступная для монтирования конечным пользователем дедуплицированная файловая система, которая может быть экспортирована на другие машины посредством NFS или CIFS;
  • SDFS-сервис (SDFS file-system service) - управляющий работой файловой системы сервис, организующий хранение мета-данных (размер, путь и другая информация за исключением непосредственно данных) и карты имеющихся дубликатов, связанных с находящимися внутри SDFS-раздела файлами и директориями. Каждый SDFS-раздел обслуживается своим SDFS-сервисом;
  • Движок дедупликации (Deduplication Storage Engine, DSE) - механизм для сохранения, извлечения и удаления повторяющихся блоков данных (размер блока 4 Кб). Блоки данных сохраняются на диске и индексируются с помощью хранимой в памяти хэш-таблицы. DSE может быть как привязан к SDFS-разделу, так и выступать в роли отдельного сетевого сервиса, обслуживающего несколько SDFS-разделов.


  1. Главная ссылка к новости (http://www.cio.com.au/article/...)
  2. OpenNews: В ZFS появилась поддержка исключения дубликатов
  3. PDF-документ с описанием архитектуры SDFS
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: opendedup, sdfs, fs, linux, fuse
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (40) Ajax | 1 уровень | Линейный | Раскрыть всё | RSS
  • 1.1, RapteR (ok), 21:41, 28/03/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Ява через фузи... Куда катится мир... Или я упустил новость, где интел выпустил процессор Intel Sixty-Four-Core с частотой каждого ядра по 20 GHz и L2 кэшем 128 Mb по цене 5$ за камень?
     
     
  • 2.29, Stocker (?), 12:14, 29/03/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не, вы упустили новости о выходе java после версии 1.2
    О jit-компиляторах, hotspot vm...
     

  • 1.3, anonymous (??), 21:42, 28/03/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вместе с same page merge (или как его там назвали) еще больше возможностей для оверселлинга :(
     
     
  • 2.16, pavlinux (ok), 03:30, 29/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    KSM - Kernel Same Page.
    Тока надо чтоб все софтины умели делать: madvise(new_block->host, size, MADV_MERGEABLE);
     

  • 1.5, devl547 (?), 21:47, 28/03/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Уже давно есть lessfs (http://www.lessfs.com/)
     
  • 1.7, Онаним (?), 22:24, 28/03/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это бы очень интересно смотрелось в качестве фичи файловой системы, но делать отдельную ФС под одну такую фичу...
     
  • 1.8, sHaggY_caT (ok), 22:31, 28/03/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Файловая система реализована через FUSE-модуль

    И без этого в Xen диски тормозят, они еще и через fuse и на java :(
    Жесть вообще какая-то :(

    З.Ы. сама и идея и фича очень полезная, особенно если интегрировать ее с, например, централизованной установкой темплейтов, почти с десяток лет применяется многими на проприетарной Virtuozzo(vzfs)

     
  • 1.9, Tav (ok), 00:06, 29/03/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Как всегда, вместо того, чтобы осуждать как оно работает, все обсуждают на чем оно написано. Просто установите и посмотрите, будет оно тормозить или нет в вашем конкретном случае.
     
     
  • 2.15, аноним (?), 03:17, 29/03/2010 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Тормозит, на элементарных workload'ах. И жрет немерянно памяти. Вы хотели чуда?
     

  • 1.10, XoRe (ok), 01:04, 29/03/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > Производительность выполнения операции поиска и объединения дубликатов составляет около 150 Мб/сек.

    Интересно, как они её рассчитали.
    Может мне потестировать её на моем ноуте с винтами на 5400 об/с ? =)

    > Исходные тексты SDFS написаны на языке Java и доступны в рамках лицензии GPLv2.

    Наверное тут нужно возрадоваться, что не на JavaScript.

    P.S.
    Одно радует - в ядро не возьмут.

     
  • 1.11, аноним (?), 01:45, 29/03/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > максимальный размер одного файла - 250 Гб

    Нахрена в наше время нужна ФС с такими ограничениями?

     
     
  • 2.19, аноним (?), 06:45, 29/03/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> максимальный размер одного файла - 250 Гб
    >
    >Нахрена в наше время нужна ФС с такими ограничениями?

    практически для всего

     
  • 2.31, ig0r (??), 13:30, 29/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    позвольте уточнить, на каких задачах в наше время такого ограничения не достаточно?
     

  • 1.12, аноним (?), 01:46, 29/03/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Дедубликация - приятная фича ФС. Если это самоцель, продукт можно сразу выкинуть, потому что сразу понятно, кто его писал. Не дает линуксоидам покоя мощь ZFS.
     
     
  • 2.17, минона (?), 05:18, 29/03/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    линуксоид никогда бы не писал подобную хрень на java.
    вы что-то явно путаете.
    на каком-нибудь питоне, перле,.. да и то, в пьяном угаре. и назвал бы типа похмелфс.
    да и в zfs есть гораздо более интересные вещи, чем эта дедупликация.
     
  • 2.20, mma (?), 07:05, 29/03/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ой, мощь ZFS  таковой является только на бумаге, при практическом использовании этой мощи неожиданно натыкаешся на моменты которые часть этой мощи делают бесполезной.
     
     
  • 3.27, Andrew Kolchoogin (?), 11:46, 29/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Какие-такие моменты?

    Нельзя ли аргументировать свои утверждения?

     
     
  • 4.46, Anonim (??), 00:14, 30/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Для линукса ее нет )), что автоматически делает бесполезными все ее фичи
     
  • 3.34, аноним (?), 17:56, 29/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    ой, кончайте свистеть или аргументируйте
     

  • 1.13, pavlinux (ok), 02:59, 29/03/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > особенность новой системы заключается в поддержке автоматического объединения
    > дубликатов - для одинаковых блоков данных сохраняется только одна копия,

    Ага....

    Имеем, последовательность байт - ABCDE, и два R/W процесса X и Y :
    1-ая итерация:
    [X]: read() --> [ ABCDE ]  
    [Y]: read() --> [ ABCDE ]  

    X обновил C

    [X]: write() -> [ ABSDE ]  
    [Y]: write() -> [ ABS... опа, а должна быть C

    Файловая сиcтема: Мля, блоки не равны, надо делать двойника, но с измененной S на C
    повтор:
    [Y]: write() -> [ ABCDM ] # обновили E

    2-ая итерация:

    X вернул C, на место S

    [X]: write() -> [ ABCDM ... опа, а должна быть E
    Файловая сиcтема: Мля, блоки не равны, надо делать двойника, но с измененной M на E
    [Y]: read()  -> [ ABCDM ]

    Файловая сиcтема: Опа, а они равны, надо объединять?!

    Итого: имеем 4 блочных клона вместо двух разных файлов.
    Аппроксимируя по времени, эти 4 клона превратятся в 4 полных файла.

    А 100 процессов, а 1000, а 10000 ???

     
     
  • 2.22, edo (ok), 08:36, 29/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Вы какой-то странный COW придумали ;)
     
  • 2.32, анонимный аналитик (??), 14:22, 29/03/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    гораздо более интересно глянуть на поведение системы, когда на забитом под завязку разделе, с кучей объединенных блоков потребутся внести изменения в один из общих блоков
     
     
  • 3.38, Warhead Wardick (?), 18:42, 29/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    И что же там "гораздо более интересно"-го? COW придумали лет 40 назад, под него даже есть железная формальная математика (насколько помню MIT-овцы делали). Вот всё тоже, но с блоками памяти (RAM) ядро проделывает и это ни кого не удивляет ...
    Читайте паря книжки - оне рулез!(С)FIDO
     

  • 1.14, pavlinux (ok), 03:15, 29/03/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У меня была аналогичная ситуация, но когда 4 qemu работали с одним мастер образом.
    Даже периодически делая commit-all, в итоге, через неделю на дисках были полные копии образов.

    С точки зрения пользователя, даже с точки зрения операционной системы, они равны,
    а вот на блочном уровне вообще различны.
    Математически, существует такой закон распределения, который удовлетворяет
    распределению блоков в этих 4 образах. Но сколько нужно ресурсов, что его найти.
    Я так понимаю,  эта ФС будет заниматься не поиском закономерностей, а линейным
    по блочным сравнением.

    В конце-концов, у них хранилища мета-данных, карты имеющихся дубликатов и хэш-таблицы,
    займут столько же места, сколько и сами данные :)

    Вижу :) прибавление около 20% к объёму, но сколько это потребует усилий и средств.
    А дисковая память нынче практически ничего не стоит.

     
     
  • 2.18, минона (?), 05:29, 29/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    всё это верно, но и дедупликации есть вполне оправданное применение.
    и ты сам даже догадаешься где, если подумаешь - там где дупликатов много и они редко (или никогда) не обновляются.
    например почтовые ящики. ни разу не встречал, когда рассылается "всем" одно и тоже?
     
     
  • 3.26, Поросеночек (?), 11:37, 29/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Кстати, в русском языке в корне дубль пишется Б
     
     
  • 4.33, минона (?), 14:48, 29/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    думаешь это кстати?
    но всё равно приятно, что современная молодёжь интересуется русским.
     
  • 4.35, Anon Y Mous (?), 18:34, 29/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Кстати, в русском языке в корне дубль пишется Б

    Русский язык богат и разнообразен. Что, в слове "дуплет" тоже Б писать прикажете?

     
     
  • 5.39, Михаил (??), 18:51, 29/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >> Кстати, в русском языке в корне дубль пишется Б
    >
    >Русский язык богат и разнообразен. Что, в слове "дуплет" тоже Б писать
    >прикажете?

    Что интересно, получится "дублет" - тоже существующее слово, но совсем с другим значением.

     
     
  • 6.41, Anon Y Mous (?), 19:09, 29/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Пошел посмотрел у Даля - смысл даже тот же самый может быть

    Век живи, век учись - все равно дураком помрешь :-)

     
  • 3.40, Warhead Wardick (?), 18:54, 29/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > ... там где дупликатов много и они редко (или никогда) не обновляются.
    >например почтовые ящики. ни разу не встречал, когда рассылается "всем" одно и тоже?

    Тьфу блин! Даже Exchange 2000 хранил одну тушку мессэджа и столько линков сколько надо. Опенсорсные почтовики такое тоже давно могут. Если вы до сих пользуете старьё - это только ваши проблемы.

     
     
  • 4.42, минона (?), 21:06, 29/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    именно. это только мои проблемы.
    если я хочу юзать мэйлбокс и дедупликацию то это ничем не хуже твоего эксченча, который кстати изрядно крошил при сбое хранилище и на восстановление уходил рабочий день.
     
  • 2.21, mma (?), 07:11, 29/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >А дисковая память нынче практически ничего не стоит.

    SSD?  Вот она основная цель этой ФС

     
  • 2.23, x (?), 08:45, 29/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Чувак, видмо, просто не вкурсе сколько стоит дисковая память на каком-нибудь среднеуровневом массиве от HP или EMC.
    Про массивы hi-end уровня и упоминать даже не стоит.
     
     
  • 3.24, Michael Shigorin (ok), 10:59, 29/03/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вы же явно в курсе с тем, как соотносится пропускная способность hi-end массивов с (кажущейся среднепотолочной) цифрой "150Мб/сек"...

    PS: спасибо за ссылку на lessfs.

     
  • 3.25, pavlinux (ok), 11:21, 29/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Чувак, видмо, просто не вкурсе сколько стоит дисковая память на каком-нибудь среднеуровневом массиве от HP или EMC.
    >Про массивы hi-end уровня и упоминать даже не стоит.

    Приятно познакомится, меня звать Сертифицированный специалист EMC BURA (EMC Backup, Recovery and Archiving)

    Думаш у них у всех EMC Symmetrix_ы стоят...
    Хотя если они нашли бабла на Симетриксы найдут и на EMC DiskXtender, и ещё кучу гораздо интересно от EMC

     
  • 3.28, zazik (ok), 11:48, 29/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    А цену на процессоры и ОЗУ для серваков такого уровня не подскажете заодно?
     
     
  • 4.36, otaku (??), 18:35, 29/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Не думаю что они отличаются от обычных серверов 8)
     
  • 4.37, pavlinux (ok), 18:37, 29/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >А цену на процессоры и ОЗУ для серваков такого уровня не подскажете
    >заодно?

    Какого-такого?

    Cерийные в районе 15 стоят.
    Блэд корзина ~ 5.000$ + 1.500-2000$ за блейд, домой можно купить.  
    А заказные,типа 32 процессорной матери, с 2Тб ОЗУ, на то они и заказные.

    Ну а к примеру, блэйд забитый под завязку, - 10 лезвий c 20 штуками Opteron 2439,
    примерно по 64Gb ОЗУ стоит в районе 60.000$
    Ну и диск EMC CLARiiON CX4-120 в районе 8500-9000$  (расширяемый до 351 Терабайта)

    Всё удовольствие, за 70000$.
    И можно избавится от трёх админов, которые будут трахать Linux и mdadm.  

     
     
  • 5.43, zazik (ok), 23:48, 29/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >>А цену на процессоры и ОЗУ для серваков такого уровня не подскажете
    >>заодно?
    >
    >Какого-такого?
    >

    Такого, к которым обычно присобачивают вышеописанные hiend-массивы. Для сравнения, так сказать.


     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру