블록 장치를 캐시하는 방법(장치 매퍼용)

블록 장치를 캐시하는 방법(장치 매퍼용)

이슈/관찰된 효과

페이지 캐시는 열리지 않은 블록 장치를 무시하는 것 같습니다. 더 나쁜 점은 캐시된 장치를 사용하는 DM(장치 매퍼) 장치에서 읽은 데이터가 전혀 캐시되지 않는다는 점입니다(켜져 있지 않은 경우).

테스트를 위해 이 명령을 (반복적으로) 사용합니다.

time dd if=/dev/sda11 of=/dev/null bs=50M count=1

sda11캐싱은 읽기용으로 열거나( exec 4</dev/sda11), 마운트하거나 장치 매퍼 장치의 일부로( ) 사용할 경우 echo "0 1427456 linear /dev/sda11 0" | dmsetup create cache1작동합니다 .

그러나 sda11 위에 /dev/mapper/cache1을 생성하면 첫 번째 읽기나 두 번째 읽기 모두 캐시에서 나오지 않습니다(어쨌든 켜져 있지 않은 경우).

동기 부여

내가 이렇게 하는 이유는 암호화된 볼륨이 있고 내 (KDE) 시스템을 부팅하는 데 꽤 오랜 시간이 걸리기 때문입니다. 암호화된 볼륨을 열기 전에 몇 가지 수동 준비를 했기 때문에 이번에는 암호화된 장치(LVM)에서 데이터를 읽어 KDE 시작 속도를 높일 수 있을 것이라고 생각했습니다. 그러나 언급된 캐시 문제의 경우 이는 아무 소용이 없습니다.

질문

나중에 생성된 DM 암호화 장치를 통해 (채워진) 캐시를 통해 LV에서 데이터를 읽는 방법이 있습니까?

관련 정보