LVM 쓰기 캐시가 완전히 플러시되지 않았습니다.

LVM 쓰기 캐시가 완전히 플러시되지 않았습니다.

LVM 문제로 어려움을 겪고 있습니다. 기존 LV에 쓰기 캐시가 연결되어 있습니다. 나는 LV와 쓰기 캐시를 폴링했습니다.

lvs -o+writecache_total_blocks,writecache_free_blocks

그러나 아무리 오래 기다려도 사용 가능한 블록은 총 블록 수에 도달하지 않습니다. 마치 쓰기 후에 캐시가 완전히 비워지지 않은 것과 같습니다. 전체 블록 수의 절반 정도만 도달한 다음 그대로 유지되었습니다.

이는 예상된 동작입니까, 아니면 쓰기 후에 캐시가 제대로 플러시되지 않습니까?

답변1

캐시 쓰기 저장은 Stop low water mark at high water mark 사용하는lvconvert --type writecache대신--type cache

쓰기 저장 시 캐시를 완전히 비우려면 최저 워터마크를 0%로 설정하면 됩니다. 이는 --cachesettings 'low_watermark=0'캐시를 생성할 때 옵션이 됩니다 . 또는 --cachesettings 'cleaner=1'캐시가 LV에서 제거될 때 lvconvert --splitcache이 작업이 어떻게 수행되거나 수행될 것인지와 같이 캐시에 있는 모든 데이터의 점진적인 플러시를 설정하고 싶을 수도 있습니다 . lvconvert --uncache다른 조정 가능한 설정이 있습니다. 자세한 내용은 매뉴얼 페이지를 참조하십시오 lvmcache(7).

옵션을 설정하지 않으면 --cachesettings쓰기 캐싱은 커널에 내장된 기본값을 사용하여 작동합니다. 모든 사용자 정의 캐시 설정은 다음을 통해 확인할 수 있습니다 lvs -o +cache_settings. 캐시가 커널 기본값을 사용하는 경우 이 CacheSettings열은 비어 있습니다.

관련 정보