POHMELFS
| POHMELFS | |
| Разработчик |
Евгений Поляков |
|---|---|
| Файловая система |
Parallel Optimized Host Message Exchange Layered File System |
| Дата представления | |
| Структура | |
| Ограничения | |
| Возможности | |
| Поддерживается ОС | |
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 являются[4]:
- Поддержание локального кэша для данных и мета-данных, согласованного для всех узлов использующих ФС;
- Обработка данных и событий в асинхронном режиме, за исключением операций с жёсткими и символическими ссылками;
- Гибкая архитектура, оптимизированная для обмена данных по сети, включая возможность объединения нескольких операций в одну управляющую команду передаваемую по сети;
- Одна из первичных целей проекта - высокая производительность;
- Быстрый многопоточный сервер, работающий на пользовательском уровне, по производительности заметно опережающий асинхронный режим NFS сервера, работающего на уровне ядра.
[править] История
Разработка файловой системы начата приблизительно в ноябре 2007 года. PohmelFS (в первоначальном варианте названия) появилась в понедельник, 10 декабря 2007 года в 19 часов 38 минут 53 секунды по московскому времени[5], первый публичный релиз состоялся 31 января 2008 года[2].
[править] Планы на будущее
Код POHMELFS будет пересмотрен с целью создания полностью распределенной файловой системы с использованием завершенных автором проектов: DST (Distributed network storage, распределенное сетевое хранилище) и нового хранилища Elliptics network, обеспечивающего устойчивое к сбоям распределенное хранение данных на нескольких компьютерах в сети. Результатом пересмотра кода должна была стать распределенная, параллельная файловая система с поддержкой распределенной блокировки (англ. distributed locking), когеренции кэша и устойчивостью к ошибкам.
Помимо этого, доработанная версия файловой системы будет иметь следующие возможности[6]:
- Расширение сервера в направлении возможности хранения данных на нескольких устройствах (своего рода вариант зеркалирования), данные сперва будут сохраняться в различные локальные директории, а затем зеркалироваться на внешние NFS или POHMELFS разделы;
- Дополнение клиента и сервера средствами параллельного чтения/записи данных с соседних узлов;
- Реализация средств аутентификации и шифрования передаваемых по сети данных;
- Возможность автоматического переключения на запасной сервер в случае сбоя текущего.
[править] Интересные факты
- в статье о POHMELFS в английской Википедии указано, что файловая система названа в честь похмелья:
It is named after the Russian похмелье (pohmel'e) meaning hangover.
[править] См. также
- Распределенные параллельные файловые системы с защитой от сбоев
- Сравнение файловых систем
- Network File System
[править] Примечания
- ↑ Эксперт по отношению к определённой компьютерной программе, или кто-либо часто работающий с ней; здесь: «хакер Linux». (англ.)
- ↑ 1 2 Entry 2008.01.31 (англ.)
- ↑ Thread «pohmelfs for drivers/staging» (англ.)
- ↑ 1 2 Файловая система POHMELFS включена в «-staging» ветку Linux ядра
- ↑ Entry 2007.12.10 (англ.)
- ↑ Вышел релиз сетевой файловой системы POHMELFS
[править] Ссылки
- Страница проекта
- http://kernelnewbies.org/Linux_2_6_30#head-d2d7e82afe6019227c8d6f661608550a2ca917f1
- http://kerneltrap.org/Linux/POHMELFS_Performance
- http://kerneltrap.org/Linux/POHMELFS_Full_Transaction_Support
- http://lwn.net/Articles/267896/