비슷한 질문을 여러번 받았는데..
- 하드 드라이브 속도가 느려질 수 있도록 캐싱에 SSD를 어떻게 사용합니까?
- HDD 회전을 방지하기 위해 SSD에 쓰기 변경 사항을 캐싱하시겠습니까? ZFS(아마도) L2ARC는 아님
- https://superuser.com/questions/664400/ssd-cache-to-minimize-hdd-spin-up-time
- Unionfs, Aufs, Overlayfs, mhddfs 중 어느 것을 사용해야 합니까?
- Linux 오버레이(OverlayFS) 마운트의 상위 파일 시스템에 대한 변경 사항을 하위 파일 시스템에 병합
...하지만 그들 중 누구도 대답을 하지 못했습니다. 대부분의 질문이 오래된 것(2012~2015)이어서 다시 시도했습니다.
대부분의 시간 동안 유휴 상태로 유지되는 6GB ZFS 풀이 있습니다. 그러나 서버에는 항상 작은 쓰기 작업이 있기 때문에 너무 바빠서 디스크 속도를 늦출 수 없습니다. 오랜 시간 동안 디스크의 전원을 꺼서 에너지 낭비를 최소화하고 싶습니다. 제가 강조하고 싶은 점은 성능이 중요하다는 것입니다.아니요내 관심사는 (수영장은 충분히 빠르지만) 에너지 소비입니다.
내 생각은 1TB SSD를 시스템에 "영구 캐시"로 추가하는 것입니다(올바른 단어인지 확실하지 않음). 보다 구체적으로 시스템은 다음을 수행해야 합니다.
- 읽기는 처음에 풀에서 응답되지만 문제의 파일(또는 블록)은 SSD에 저장되어야 합니다. 후속 읽기는 SSD의 복제본으로부터 응답을 받아야 합니다.
- 쓰기는 SSD에 저장됩니다. 드물게(예: 3일마다) 새 파일을 풀에 기록해야 합니다.
이 문제에 대한 해결책이 있습니까? 제가 조사한 결과에 따르면
- AUFS가 내 문제를 해결할 수 있지만 커널에는 포함되어 있지 않습니다. 사용자 공간 드라이버가 있는지, 얼마나 좋은지 모르겠습니다.
- 대신 OverlayFS는 Linux 커뮤니티에 의해 주도됩니다. 나에게는 내 사용 사례가 명시적으로 지원되지 않는 것 같습니다(어떤 이유로든 상위 폴더를 하위 폴더에 병합할 수 없기 때문). 내가 올바르게 이해했다면 OverlayFS는 실제로 이것을 단점이 아닌 기능으로 취급합니다. 즉, 내 사용 사례에는 쓸모가 없다는 의미입니다.
- bcache: 쓰기 저장 모드의 bcache는 쓰기 저장 시간이 길고 매우 유망해 보입니다. 그러나 문서에는 "기본적으로 HDD/Raid 장치에서 순차적 읽기/쓰기가 허용됩니다"라고 명시되어 있습니다. 이 동작을 해제하는 방법이 있나요? 또한, 성급하게 답변하고 싶지 않습니다. 이는 문제가 있는 것 같습니다.
- MergerFS: 그것이 내 요구 사항을 충족할 수 있을지 모르겠습니다.
아직 보지 못한 도구/솔루션/제안이 있나요?