O cache LVM no modo de write-back é equivalente ao diário externo ext4?

4

Estou executando sistemas de arquivos ext4 no LVM. As duas grandes opções de aceleração que estou observando são o cache LVM e o diário externo ext4.

Parece que se estou usando um único SSD para isso, o cache LVM no modo de write-back é a mesma coisa que ter seu diário ext4 em um dispositivo externo ... basicamente, se acontecer alguma coisa, você redefine para o pré posição do jornal.

Esta é uma interpretação correta?

    
por RobC 11.10.2016 / 01:57

2 respostas

3

Um diário externo não é a mesma coisa que um dispositivo de cache LVM. Um cache LVM em um SSD para write-back não seria volátil, portanto as preocupações com a integridade dos dados não são enormes (exceto se esse dispositivo de cache falhar repentinamente - e esse dispositivo de cache pode realmente ser um RAID de através do Linux MD ou similar).

Um diário de intenção EXT4 consiste em muitas pequenas gravações que se beneficiam de um dispositivo de armazenamento rápido de baixa latência, seja ele externo ou o mesmo dispositivo em que os dados são armazenados. Ao usar mídia rotacional para discos de dados, isso se torna relevante em cargas de trabalho altamente aleatórias e transnacionais.

Um cache de write-back une-se a gravações para que as gravações sejam na maior parte sequenciais, mas não fazem distinção entre dados e metadados, ou o diário em particular. Ele ficará na frente de todas as gravações, armazenando tudo em cache e, em seguida, enfileirando as gravações no disco da maneira mais sequencial possível durante um flush, dado o conjunto de dados em cache. Os comandos Flush são enviados ao mesmo tempo que os comandos de barreira de gravação (em um determinado intervalo), garantindo um estado não corrompido em seu dispositivo de backup.

Se um cache de write-back morrer repentina e completamente, você perderá algum tempo no seu sistema de arquivos, mas ele ainda será consistente. Isso pode ser atenuado com um dispositivo de cache RAID1.

Se um dispositivo de registro for interrompido, você não poderá montar seu sistema de arquivos até descartar o dispositivo de registro em diário usando # tune2fs -O ^has_journal /path/to/ext4device . Neste caso, você teria que reparar este sistema de arquivos com uma varredura fsck completa (que em alguns casos levaria muito tempo). Você também provavelmente veria corrupção se isso acontecesse durante ou antes de uma perda de energia.

    
por 11.10.2016 / 08:14
0

Portanto, acredito que a solução correta é usar o cache LVM no modo de gravação, com o diário ext4 no mesmo dispositivo ... ou um dispositivo diferente em uma configuração melhor.

A lógica é o ext4 journaling é a única coisa que garante consistência, então você tem que usá-lo. Um dispositivo ssd externo acelera muito. O cache LVM no modo de write-back permitiria a corrupção, uma vez que adia gravações de bloco simples. No modo de escrita, ele ainda acelera as leituras, mas passa pelas gravações, que nesse cenário o ext4 ainda colocaria no mesmo disco cache, quase o mesmo que o writthrough, mas tudo é garantido de forma consistente.

Vou esperar para me votar direito por um tempo, caso uma resposta melhor venha.

    
por 11.10.2016 / 06:02