O dispositivo de bloco iSCSI tem cache de leitura no lado do cliente (se sim como desativar)?

1

Eu tenho um dispositivo de bloco remoto com a imagem do sistema de arquivos de teste ext4. No lado do iniciador iSCSI, eu tenho esse dispositivo detectado como digamos /dev/sdb . Eu estou não montando este sistema de arquivos, mas em vez disso eu uso a ferramenta forense% TheSleuthKit (TSK) fls para ler o conteúdo dos meus dados.

Noto que, para a segunda execução, o tempo de execução é mais rápido. Eu sei sobre o cache de página e que, para ignorá-lo, eu deveria usar o Direct-IO. No entanto, eu estava convencido de que este não será o caso do iSCSI.

Se o dispositivo está sendo modificado por outro nó, não há como meu cliente vê-lo se tiver essa entrada em cache. Significa simplesmente - problemas de inconsistência. Como posso garantir que minhas leituras sempre vão para a "fonte"? Existe algum parâmetro que eu possa configurar para esvaziar o cache de leitura periodicamente? (Echo 3 > / proc ... não é uma opção).

    
por KWubbufetowicz 08.02.2016 / 02:37

1 resposta

1

Sim, há um cache de buffer de leitura de dispositivo de bloco - bcache - que armazena em cache blocos previamente lidos.

Se você não quiser esse comportamento, poderá abrir o dispositivo de bloco com o sinalizador O_DIRECT.

    
por 18.05.2016 / 18:10

Tags