EPRD - реализация RAM-диска, обеспечивающего постоянное хранение данных
Как и классические 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) высокопроизводительное блочное устройство, поддерживающее автоматическое объединение дубликатов данных.
Источник: http://www.opennet.ru/opennews/art.shtml?num=33541
|
0 | Tweet | Нравится |
|