Como armazenar em cache os dispositivos de bloco (para o mapeador de dispositivos)?

4

problema / efeito observado

Parece que o cache de páginas ignora os dispositivos de bloco que não estão abertos. E pior: as leituras dos dispositivos do dispositivo de mapeamento (DM) que usam um dispositivo em cache não são armazenadas em cache (a menos que sejam abertas).

Eu uso este comando (em repetição) para testes:

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

Se sda11 for aberto para leitura ( exec 4</dev/sda11 ), montado ou parte de um dispositivo de mapeamento de dispositivo ( echo "0 1427456 linear /dev/sda11 0" | dmsetup create cache1 ), o cache funciona.

Mas se eu criar / dev / mapper / cache1 em cima de sda11, nem a primeira leitura nem a segunda vem do cache (se ela não estiver aberta de alguma forma).

motivação

A razão pela qual estou fazendo isso: eu tenho um volume criptografado e a inicialização do meu sistema (KDE) leva um bom tempo. Eu faço algumas preparações manuais antes de abrir o volume criptografado, portanto, pensei que poderia usar esse tempo para ler o dispositivo criptografado (LVM) para acelerar o início do KDE. Mas, para o problema de cache mencionado, isso é inútil.

pergunta

Existe algum truque para ler a partir do LV de uma maneira que o dispositivo de criptografia DM criado posteriormente lê a partir dele através do cache (preenchido)?

    
por Hauke Laging 25.12.2015 / 03:11

0 respostas