Registro ext4 jbd2 ativo mesmo em sistema de arquivos vazio

8

Estou tendo vários problemas com meus sistemas de arquivos ext4 que parecem dever-se ao registro no diário jbd2 . Fiz um post relacionado aqui e estou reformulando-o com a esperança de que alguém possa ajudar.

Para um exemplo mínimo, começo com um pendrive USB vazio de 8 GB e uso o gparted para criar uma partição ext4. O comando usado pelo gparted ao criar o sistema de arquivos ext4 é:

mkfs.ext4 -j -O extent -L DataTraveler8gb /dev/sde1

Verifico o sistema de arquivos com o gparted:

e2fsck -f -y -v /dev/sde1

e eu montei:

sudo mount /dev/sde1 /media/test

O disco está vazio, mas o registro no diário está muito ativo nesse disco (/ dev / sde1). Os outros discos são SSDs ext4 formatados de maneira semelhante. Um instantâneo do iotop:

% sudo iotop -oPa

Total DISK READ: 0.00 B/s | Total DISK WRITE: 2027.21 K/s
  PID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
  262 be/3 root          0.00 B     56.00 K  0.00 %  0.18 % [jbd2/sda1-8]
29069 be/3 root          0.00 B      0.00 B  0.00 %  0.16 % [jbd2/sde1-8]
  891 be/3 root          0.00 B      4.00 K  0.00 %  0.03 % [jbd2/sdc1-8]

O que jbd2 está fazendo com / dev / sde1?

Se eu seguir as mesmas etapas com um disco maior de 2 TB, o iotop indica que esse disco vazio está sendo gravado constantemente pelo jbd2 na taxa de Mb / s assim que eu o monto.

Nos outros discos, que possuem o sistema operacional e / home, tentei descobrir se algum arquivo está sendo modificado por processos para causar esse comportamento, mas não consegui encontrar nenhum. Também mudei muitos do processo intensivo de disco para usar um tmpfs. E usado noatime.

Eu tenho outro disco rígido não SSD nesta máquina, / dev / sdb, que também é ext4, mas não foi formatado pelo gparted (fornecido a mim por um colega de trabalho). Não aparece no iotop. Portanto, estou assumindo que há um problema com o gparted.

Todas as sugestões são apreciadas. Também seriam ótimas dicas sobre como modificar partições existentes para corrigir o problema sem precisar começar do zero.

Existem alguns posts relacionados ao jbd2, mas eles não ajudaram (por exemplo, aqui ).

Paulo
fonte
Você iniciou o iotop antes de formatar o disco? Nesse caso, ele está mostrando os dados gravados durante o formato.
perfil completo de jippie
@jippie Comecei o iotop após formatar o (s) disco (s). O disco no exemplo mínimo está vazio. Nos discos com formato semelhante, a atividade jbd2 ocorre mesmo que nenhum arquivo seja gravado (verificado com a localização em todo o meu sistema de arquivos).
Paul
Você tentou montá-lo com mount -o noatime ... ...?
jippie
Eu tentei noatime. Não parecia fazer nada.
Paul
Pode estar relacionado: bugs.launchpad.net/ubuntu/+source/linux/+bug/607560
Glutanimate:

Respostas:

7

Parece que o ext4 faz seu 'formato rápido' postando grande parte de sua inicialização até que seja montado (a opção uninit_bg, talvez?) E eu suspeito que o jbd2 esteja fazendo isso depois que você formatar a unidade. Um dos comentários aqui sugeriu que o jbd2 grava na partição após a criação por um tempo proporcional ao seu tamanho e sugeriu 10 minutos por 200 GB, o que indicaria 50 minutos por TB. Formatei ontem uma unidade ext4 de 3 TB e o jbd2 estava perdendo tempo há muito tempo, mas agora parou.

O btrfs não faz isso, btw, mas ainda não confio em unidades externas - por exemplo, você precisa de um kernel recente (3.4+, acho) ou o kernel oops (e possivelmente perde dados) se você remover a unidade sem desmontá-lo primeiro (o que, obviamente, acontece se ele perde poder).

rocko
fonte
Uau, eu nunca pensei nisso (e de alguma forma eu perdi depois de ler o mesmo tópico). Tentarei confirmar em relação ao uninit_bg, mas se você ou outra pessoa tiver certeza, posso marcar como respondida.
Paulo