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는 제거됩니다. 아이디어는 실제 내구성이 필요하지 않은 곳에서 더 빠른 테스트 실행을 얻기 위해 테스트에 사용하는 것입니다.

관련 정보