POHMELFS (POHMELFS)

Перейти к навигации Перейти к поиску
POHMELFS
Разработчик Евгений Поляков
Файловая система Parallel Optimized Host Message Exchange Layered File System
Дата представления 9 июня 2009 года (Linux 2.6.30)
Возможности
Поддерживается ОС Linux

POHMELFS (аббревиатура от Parallel Optimized Host Message Exchange Layered File System) — кэш-согласованная распределенная файловая система, разработанная российским линукс-хакером[1] Евгением Поляковым. Нынешняя реализация может рассматриваться как более быстрая и изящная замена широко распространенного протокола сетевого доступа к файловым системам Network File System (NFS), который используется для реализации общего доступа к файловым системам между компьютерами в ЛВС, с возможностью использования параллельных соединений с целью ускорения передачи данных, и построения сетевого графика для конвергенции их в действительно распределенную файловую систему с хорошей масштабируемостью, кэшированием и высокой устойчивостью к ошибкам.

О создании POHMELFS было объявлено 31 января 2008 года[2]; 12 февраля 2009 года в Linux Kernel Mailing List Archive (LKML.org) появилось сообщение[3] Грега Кроа-Хартмана (англ. Greg Kroah-Hartman) о включении кода файловой системы POHMELFS в «-staging» ветку ядра Linux[4]. 9 июня 2009 года поддержка POHMELFS была включена в версию ядра Linux 2.6.30. Код POHMELFS удалён в Linux версии 3.3-rc4 [5], новая редакция POHMELFS [6] в код ядра не была включена.

Функциональные возможности

[править | править код]

Основными возможностями файловой системы POHMELFS являются[4]:

  • Поддержание локального кэша для данных и мета-данных, согласованного для всех узлов использующих ФС;
  • Обработка данных и событий в асинхронном режиме, за исключением операций с жёсткими и символическими ссылками;
  • Гибкая архитектура, оптимизированная для обмена данными по сети, включая возможность объединения нескольких операций в одну управляющую команду передаваемую по сети;
  • Одна из первичных целей проекта — высокая производительность;
  • Быстрый многопоточный сервер, работающий на пользовательском уровне, по производительности заметно опережающий асинхронный режим NFS сервера, работающего на уровне ядра.

Разработка файловой системы начата приблизительно в ноябре 2007 года. Первый публичный релиз состоялся 31 января 2008 года[2].

Код POHMELFS будет пересмотрен с целью создания полностью распределённой файловой системы с использованием завершённых автором проектов: DST (Distributed network storage, распределённое сетевое хранилище) и нового хранилища Elliptics network, обеспечивающего устойчивое к сбоям распределенное хранение данных на нескольких компьютерах в сети. Результатом пересмотра кода должна была стать распределённая, параллельная файловая система с поддержкой распределённой блокировки (англ. distributed locking), когеренции кэша и устойчивостью к ошибкам.

Помимо этого, доработанная версия файловой системы будет иметь следующие возможности[7]:

  • Расширение сервера в направлении возможности хранения данных на нескольких устройствах (своего рода вариант зеркалирования), данные сперва будут сохраняться в различные локальные каталоги, а затем зеркалироваться на внешние разделы NFS или POHMELFS;
  • Дополнение клиента и сервера средствами параллельного чтения/записи данных с соседних узлов;
  • Реализация средств аутентификации и шифрования передаваемых по сети данных;
  • Возможность автоматического переключения на запасной сервер в случае сбоя текущего.

Примечания

[править | править код]
  1. Эксперт по отношению к определённой компьютерной программе, или кто-либо часто работающий с ней; здесь: «хакер Linux». Архивная копия от 28 февраля 2009 на Wayback Machine (англ.)
  2. 1 2 Entry 2008.01.31 Архивировано 6 октября 2008 года. (англ.)
  3. [Thread «pohmelfs for drivers/staging» (англ.). Дата обращения: 4 сентября 2009. Архивировано 19 февраля 2009 года. Thread «pohmelfs for drivers/staging» (англ.)]
  4. 1 2 Файловая система POHMELFS включена в «-staging» ветку Linux ядра. Дата обращения: 4 сентября 2009. Архивировано 19 апреля 2009 года.
  5. LKML: Linus Torvalds: Linux 3.3-rc4. web.archive.org (23 февраля 2012). Дата обращения: 24 марта 2023. Архивировано 23 февраля 2012 года.
  6. LKML: Evgeniy Polyakov: pohmelfs: call for inclusion. web.archive.org (20 мая 2014). Дата обращения: 24 марта 2023. Архивировано 20 мая 2014 года.
  7. Вышел релиз сетевой файловой системы POHMELFS Архивная копия от 12 марта 2009 на Wayback Machine.