Для ядра Linux предложена файловая система DLMPFS

Александр Аринг (Alexander Aring) из компании Red Hat, сопровождающий в ядре Linux подсистемы IEEE 802.15.4, DLM и flock/fcntl, представил в списке рассылки разработчиков ядра специализированную файловую систему DLMPFS. Предложенная ФС предоставляет слой для распределённых файловых блокировок, реализованный на базе DLM (Distributed Lock Manager) и ramfs. Реализация DLMPFS доступна в форме набора патчей к ядру Linux 6.19.

DLMPFS позволяет работать с общей для нескольких хостов иерархией файлов, создавать и удалять файлы и каталоги, выставлять или снимать блокировки на файлы при помощи штатных функций flock() и fcntl(). При этом DLMPFS не позволяет записывать и читать данные из файлов, ограничиваясь только операциями с блокировками. Ограничением также является возможность определить состояние блокировки только зная полный файловый путь к блокируемому файлу (DLM требует имя ресурса для определения блокировки).

При помощи DLMPFS можно легко адаптировать существующие приложения, завязанные на выставлении блокировок через API flock/fcntl, на использование распределённых блокировок, охватывающих несколько хостов в кластере, без необходимости задействования для хранения данных специализированных распределённых ФС.

DLMPFS отличается от уже существующей похожей ФС DLMFS использованием API flock/fcntl вместо API, специфичного для ФС OCFS2. В планах добавление в DLMPFS распределённых блокировок, отмеченных в спецификации POSIX, и возможность подключения разных бэкендов для интеграции не только с DLM, но и другими менеджерами распределённых блокировок, такими как NFS lockd.

Пример использования (на втором узле блокировка на файл /mnt/lock будет снята через 20 секунд): Узел 1: mount -t dlmpfs -o clname=$CLUSTERNAME none /mnt touch /mnt/lock flock /mnt/lock -c «echo ‘acquired’; sleep 20; echo ‘released'» Узел 2: mount -t dlmpfs -o clname=$CLUSTERNAME none /mnt touch /mnt/lock flock /mnt/lock -c «echo ‘acquired’; sleep 20; echo ‘released'»

Источник: opennet.ru

аватар автора
Erik Peterson Редактор, Менеджер
A ProHoster specialist with over seven years of experience in hosting, network infrastructure, and internet security. I participate in the development and maintenance of server solutions, VPN services, and client platforms. I specialize in stability, data protection, and service optimization for clients. I regularly monitor updates in industry standards and best practices.

Добавить комментарий