ext4 jbd2 journaling ativo mesmo no sistema de arquivos vazio

8

Eu tenho tido vários problemas com meus sistemas de arquivos ext4 que parecem ser devidos ao jbd2 registro no diário. Eu fiz um post relacionado aqui e estou reformulando-o com a esperança de que alguém pode ser capaz de ajudar.

Para um exemplo mínimo, começo com um pendrive vazio de 8GB e uso 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

Eu verifico o sistema de arquivos com gparted:

e2fsck -f -y -v /dev/sde1

e eu montei:

sudo mount /dev/sde1 /media/test

O disco está vazio, mas o diário está muito ativo neste disco (/ dev / sde1). Os outros discos são SSDs ext4 formatados de forma semelhante. Um instantâneo de 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 o jbd2 está fazendo com / dev / sde1?

Se eu seguir as mesmas etapas com um disco maior de 2Tb, o iotop indicará que este disco vazio está sendo gravado constantemente por jbd2 a uma taxa de Mb / s assim que eu o monto.

Nos outros discos, que têm o SO e / home, tentei descobrir se algum arquivo está sendo modificado por processos para causar esse comportamento, mas não consegui encontrar nenhum. Eu também movi 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 (que me foi dado por um colega de trabalho). Não aparece no iotop. Então, estou assumindo que há um problema com o gparted.

Todas as sugestões são bem-vindas. Além disso, qualquer dica sobre como modificar as partições existentes para corrigir o problema sem ter que começar do zero seria ótimo.

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

    
por Paul 07.04.2012 / 17:23

1 resposta

7

Parece que o ext4 faz seu 'formato rápido' postando muito de sua inicialização até que ele seja montado (a opção uninit_bg, talvez?) e eu suspeito que o jbd2 esteja fazendo isso depois de formatar a unidade pela primeira vez. 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. Eu formatei uma unidade de 3TB ext4 ontem e jbd2 estava escrevendo por muito tempo, mas agora parou.

O btrfs não faz isso, btw, mas eu não confio ainda em drives externos - por exemplo, você precisa de um kernel recente (3.4+, eu acho) ou o kernel irá oops (e possivelmente perder dados) se você remova a unidade sem desmontá-la primeiro (o que, claro, acontece se ela perder a energia).

    
por rocko 01.07.2012 / 23:04