Tenho tido vários problemas com meus sistemas de arquivos ext4 que parecem ser devidos ajbd2diário. fiz um post relacionadoaquie 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 usogpartedpara 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 o gparted:
e2fsck -f -y -v /dev/sde1
e eu monto:
sudo mount /dev/sde1 /media/test
O disco está vazio, mas o registro no diário está muito ativo neste disco (/dev/sde1). Os outros discos são SSDs ext4 formatados de forma 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 o 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 constantemente gravado pelo jbd2 a uma 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 processos intensivos de disco para usar um tmpfs. E usei 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 por um colega de trabalho). Não aparece no iotop. Portanto, presumo que haja um problema com o gparted.
Qualquer sugestão será apreciada. Além disso, qualquer dica sobre como modificar partições existentes para corrigir o problema sem ter que começar do zero seria ótima.
Existem alguns posts relacionados ao jbd2, mas eles não ajudaram (por exemplo.aqui).
Responder1
Parece que o ext4 faz sua 'formatação rápida' 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 de você formatar a unidade pela primeira vez. Um dos comentáriosaquisugeriu 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 uma unidade ext4 de 3 TB ontem e o jbd2 estava gravando há muito tempo, mas agora parou.
O btrfs não faz isso, aliás, mas ainda não confio nele para unidades externas - por exemplo, você precisa de um kernel recente (3.4+, eu acho) ou o kernel fará oops (e possivelmente perderá dados) se você remover a unidade sem desmontá-lo primeiro (o que acontece se ele perder energia).