The OpenNET Project / Index page

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

Новый вариант распределённой файловой системы POHMELFS готов для включения в ядро Linux

13.02.2012 10:19

Евгений Поляков сообщил в списке рассылки разработчиков ядра Linux о готовности для включения в состав ядра Linux кода новой реализации сетевой распределённой файловой системы POHMELFS (Parallel Optimized Host Message Exchange Layered File System). Грег Кроу-Хартман (Greg Kroah-Hartman), курирующий экспериментальный "staging" раздел ядра Linux, в котором начиная с выпуска 2.6.30 поставляется код POHMELFS, уже удалил из ветки 3.3-rc3 код старой реализации POHMELFS, вместо которой в ближайшие дни будет добавлена новая версия. Таким образом, код новой реализации POHMELFS, основанный на работе поверх распределённого хранилища Elliptics, войдёт в состав ядра Linux 3.3.

Одновременно сообщается о том, что размер одного из кластеров Elliptics, используемый в компании Яндекс для хранения небольших объектов (от сотен байт до нескольких килобайт), таких как аватары, превысил отметку в 5 миллиардов хранимых объектов. Самое интересное, что для хранения подобного числа объектов используется всего два узла, в каждом по 24 двухтерабайтных диска и 48 Гб ОЗУ. Кластер планируется расширить, установив аналогичное оборудование ещё в двух датацентрах, обеспечив таким образом распределение данных между тремя территориально разделёнными системами.

С особенностями новой версии POHMELFS можно познакомиться в декабрьском анонсе данной ФС. По сравнению с представленной в декабре версии, в POHMELFS было доведено до рабочего вида несколько интересных возможностей:

  • Поддержка "кворума на чтение", в дополнение к ранее реализованному "кворуму на запись". Суть кворума на запись в том, что в ситуации, когда запись осуществляется параллельно на несколько узлов, с созданием трёх резервных блоков на разных узлах, для успешного завершения операции записи должно быть успешно записано как минимум два блока с продублированными данными (настраивается через опцию 'successful_write_count='). Кворум на чтение, позволяет гарантировать чтение самой свежей порции данных, реплицированных на несколько узлов. При каждом запросе на чтение производится проверка мета-данных с наскольких узлов и выбор блока с самым свежим временем изменения. Одновременно, если выявлены более старые блоки они помечаются для последующей синхронизации;
  • Поддержка режима совместимости с HTTP-приложениями. Для чтения и записи данных в POHMELFS теперь возможно дополнительно использовать специальный HTTP API, работающий напрямую с хранилищем Elliptics по идентификатору объекта, который теперь генерируется как хэш от файлового пути. Можно создавать такие схемы, при которых данные читаются из web-приложения через HTTP API, а записываются через штатный интерфейс файловой системы, и наоборот. Ограничением режима совместимости с HTTP-приложениями является невозможность прямого переименования файлов (требуется удаление файла и добавление нового).
  • Поддержка жёстких ссылок (hardlink) и специальных файлов (socket/pipe).


  1. Главная ссылка к новости (http://www.ioremap.net/node/53...)
  2. OpenNews: Представлен полностью переработанный вариант распределённой файловой системы POHMELFS
  3. OpenNews: Релиз Linux ядра 2.6.30. Обзор новшеств
  4. OpenNews: Анонсирован выход распределенного хранилища Elliptics 1.0.0
  5. OpenNews: Файловая система POHMELFS включена в "-staging" ветку Linux ядра
  6. OpenNews: Вышел релиз сетевой файловой системы POHMELFS
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/33066-pohmelfs
Ключевые слова: pohmelfs, elliptics, linux, kernel
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (19) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.3, Аноним (-), 11:56, 13/02/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +12 +/
    Он наконец-то склеил файловую систему и elliptics! Ура, молодец Евгений!!
    Да здравствуют кластерные технологии хранения в широком доступе =)
     
     
  • 2.21, Аноним (-), 14:57, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    "Они такие, какими должны были бы быть с самого начала".
     

  • 1.4, Аноним (-), 12:33, 13/02/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    А как расшифорвывается "POHMEL"? Это хоть акроним или словесная аббревиатура?..
     
     
  • 2.5, spanasik (ok), 12:38, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +10 +/
    Parallel Optimized Host Message Exchange Layered File System
     

  • 1.15, hummermania (ok), 13:47, 13/02/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Вместо ехидных и бессмысленных замечаний по поводу названия, лучше бы присоединились к тестингу. Много ли стоит развернуть это чудо на нескольких машинах и тестировать? Как по мне то будущее у такой системы есть и силы потрачены не даром. Вот кстати почему бы не её применить для хранилища большого числа ODF файлов внутри организации в пределах Private Cloud?
     
     
  • 2.23, Аноним (-), 16:04, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Вместо ехидных и бессмысленных замечаний по поводу названия, лучше бы присоединились к
    > тестингу. Много ли стоит развернуть это чудо на нескольких машинах и
    > тестировать? Как по мне то будущее у такой системы есть и
    > силы потрачены не даром. Вот кстати почему бы не её применить
    > для хранилища большого числа ODF файлов внутри организации в пределах Private
    > Cloud?

    Там в бложике есть пример конфигов для network raid1: http://ioremap.net/node/535

     

  • 1.17, thelamon (ok), 14:09, 13/02/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А мне elliptics нравится...Вот только применить где-нибудь не удаётся пока что, специфичен уж. Но всё равно, сделан зачётно, респект.
    Похмелка - ждём тестов.
     
     
  • 2.22, Аноним (-), 16:03, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Чем специфичен? Его позиционируют так же как mongodb и остальные nosql системы
     
     
  • 3.25, Антибрх. (?), 17:02, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Не "так же" и не пишите глупости.

     
     
  • 4.26, Аноним (-), 17:37, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, не так же? Чем же elliptics не любая другая nosql?
     
     
  • 5.27, thelamon (ok), 17:45, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Нет, не так же? Чем же elliptics не любая другая nosql?

    Не позорьтесь.
    У него нет MapReduce. У него только один индекс/он же PK - по имени файла. У него хранится в чистом виде Value - без структуры. Для его правильной работы нужно, чтобы весь индекс для хранимых данных помещался в оперативку, тогда производительность будет очень хорошей. Это FS-like in-memory-indexed key-value storage, ориентированный на распределённость и хранение файлов для последующей раздачи. До "классических" map-reduce-ных NoSQL-решений ему далеко.


     
     
  • 6.28, Аноним (-), 18:08, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > У него нет MapReduce.

    Ммм, а назовите, где он есть?
    В hbase и cassandra его нет, hadoop - это внешнее приложение
    В mongodb есть, но судя по тому, что коллекцию можно заменить "работой в памяти" для небольших объемов, настоящий reduce на отдельные хосты не делается

    А map-итераторы и так есть - их результат можно положить в тот же эллиптикс или в отдельную колонку, а потом на отдельных reduce хостах прочитать эти временные "таблицы"

    > У него только один индекс/он же PK - по имени файла.

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

    > У него хранится в чистом виде Value - без структуры.

    Так всегда и делают - в SQL это называется schema, которую все не любят менять :)

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

    Глупости какие, вон там пример на 5 миллиардов ключей, каждый по 512 бит - памяти надо всего 300 гигабайт

    В общем, надо бы вам еще бложик почитать :)

     
     
  • 7.30, Crazy Alex (ok), 22:36, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    У couch, например, есть. Да и монго, вроде, как раз на разные инстансы параллелит (по кранйней мере вторая).
     
     
  • 8.31, Аноним (-), 00:11, 14/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Так это же не каноничнi mapreduce - там просто view который бежит по всем данным... текст свёрнут, показать
     

  • 1.20, Мужик32 (ok), 14:46, 13/02/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    И почему я сразу подумал, что разработчик - русский?
     
     
  • 2.29, Mizuno (?), 19:42, 13/02/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Мне вот тоже кажется, что акроним был придуман раньше, чем его расшифровка)
     

  • 1.24, Аноним (-), 16:23, 13/02/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Кластер из новости, кстати, изначально был в конфигурации "3 машины в 3 разных дц", потом добавили ещё по 1 машине в каждую группу, получилось "по 2 машины в 3 разных дц". Степень репликации = 3.
     
  • 1.32, Аноним (-), 01:43, 14/02/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    чем бы детя не тешилось..
    А он уже научилось писать с разных нод в один файл по разным смещениям?
    Или до сих пор один глобальный i_mutex like семафор?
     
     
  • 2.33, Аноним (-), 03:51, 14/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    оно еще и читать через мастер сервер только может

     

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



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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