EPRD — реализация RAM-диска, обеспечивающего постоянное хранение данных

Материал из Викиновостей, свободного источника новостей

5 апреля 2012 года

Марк Райтер (Mark Ruijter), автор работающей в пространстве пользователя файловой системы LessFS с автоматической дедупликацией, master/slave-репликацией, сжатием и шифрованием данных, представил (Архивная копия от 13 марта 2017 на Wayback Machine) свой новый проект - EPRD. В рамках проекта EPRD создана реализация RAM-диска, не теряющего данные за счёт их синхронизации на постоянный носитель. EPRD оформлен в виде модуля для ядра Linux (поддерживаются ядра начиная с 2.6.32). Код проекта распространяется в рамках лицензии GPL.

Как и классические RAM-диски, EPRD эмулирует блочное устройство с размещением данных в оперативной памяти, что позволяет достигнуть прекрасной производительности. Одновременно EPRD решает проблему с потерей содержимого RAM-диска после перезапуска благодаря поддержке синхронизации данных на диск. Для обеспечения непротиворечивости хранимых данных при сбросе буферов из ОЗУ на постоянный накопитель используется механизм "барьеров": при каждой операции sync() на диск сбрасываются все содержащие изменения буферы (интервал задаётся в настройках). Поддерживаются и более простые схемы синхронизации, такие как сброс данных на диск при завершении работы и чтение содержимого при запуске RAM-диска.

В качестве основной области применения проекта рассматривается создание различных дисковых кэшей, позволяющих достигнуть высокой скорости операций случайного доступа к данным на медленных дисках. Интересной особенностью является то, что сбрасываемые на диск данные сохраняются в файл, который имеет формат дискового образа, т.е. его можно примонтировать и использовать без EPRD. Вместо файла-образа можно обеспечить синхронизацию изменений на блочное устройство, что открывает возможность использования EPRD как дополнительной прозрачной прослойки для кэширования в ОЗУ транзитного ввода-вывода для определённых дисковых разделов. Например, выполнив команду "eprd_setup -f /dev/sdc -m 3 -p512M -b" будет создано новое блочное устройство /dev/eprda, ассоциированное с /dev/sdc, кэширующее запросы в буфере размером 512 Мб и сбрасывающие содержимое буферов каждые 3 секунды.

По словам автора EPRD, в настоящее время ведётся работа над созданием нового проекта, который объединит идеи, заложенные в EPRD и LessFS. В итоге будет представлено работающее на уровне ядра Linux (в LessFS используется FUSE) высокопроизводительное блочное устройство, поддерживающее автоматическое объединение дубликатов данных.

Источники[править]

Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «EPRD — реализация RAM-диска, обеспечивающего постоянное хранение данных», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.