POHMELFS

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

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

Функциональные возможности 
Основными возможностями файловой системы POHMELFS являются:

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

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

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

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

См. также 
 Сравнение файловых систем
 Network File System

Примечания

Ссылки 
 Страница проекта
 http://kernelnewbies.org/Linux_2_6_30#head-d2d7e82afe6019227c8d6f661608550a2ca917f1
 https://web.archive.org/web/20080618013305/http://kerneltrap.org/Linux/POHMELFS_Performance
 https://web.archive.org/web/20080529105429/http://kerneltrap.org/Linux/POHMELFS_Full_Transaction_Support
 http://lwn.net/Articles/267896/

Сетевые файловые системы