Делать ли запись файла поддельной в памяти в Linux

Делать ли запись файла поддельной в памяти в Linux

Я хотел бы запустить процесс Linux в среде фиктивной записи, где все записи файлов (снаписать(2)системный вызов) перенаправляются в кэш в памяти, и последующие чтения (только того же региона) будут обслуживаться из кэша. Кэш может быть удален после завершения процесса.

Файлы, которые будет изменять процесс, огромны (несколько терабайт), но общий объем записанных данных невелик (несколько мегабайт). Поэтому overlayfs не вариант, поскольку у меня нет нескольких терабайт свободного места.

Обратите внимание, что меня не интересуют поддельные узлы устройств или поддельные разрешения, поэтомуфейковый корень(1)мне не помогает.

Это можно реализовать с помощью LD_PRELOAD,ptrace(2),предохранитель(8)илиснимок dm. Существует ли инструмент, который сделает это за меня, например:

$ fakewrites ./myprog myfile.dat

решение1

https://launchpad.net/libeatmydata

Библиотека LD_PRELOAD, которая отключает все формы безопасной записи данных на диск. fsync() становится NO-OP, O_SYNC удаляется и т. д. Идея состоит в том, чтобы использовать ее при тестировании для ускорения тестовых запусков, когда реальная надежность не требуется.

Связанный контент