A unidade de disco rígido gira para baixo e volta novamente a cada 10 segundos; nenhum acesso mostrado em 'fatrace'

0

Estou executando o Fedora 23 em um disco rígido de baixo consumo [*]. Eu posso ouvir o disco rígido clicando ou girando para baixo & depois faça o backup, aproximadamente a cada 10 segundos . (E o LED de atividade piscando).

Se eu fizer login e executar sync; fatrace --timestamp , não vejo nenhum acesso a arquivos associado ao lançamento.

Existem alguns acessos a arquivos periódicos, mas são todos leituras em cache, por exemplo para /etc/passwd ou /etc/fstab . No caso de relatime não estar sendo aplicado por algum motivo, eu tentei montar com noatime , mas isso não ajudou. Eu também desativei swap ( swapoff -a ).

A unidade não foi projetada para este & Espero que acabe por matá-lo. Também não é muito eficiente em termos energéticos :). Socorro!

[*] É um sistema do tipo NAS.

    
por sourcejedi 05.01.2016 / 17:32

1 resposta

1

A segunda coisa que eu procurei foi o acesso direto ao dispositivo. sudo lsof /dev/sd* não mostrou nada. cd /dev; fatrace --current-mount --timestamp não mostrou nenhum acesso associado.

Neste ponto, eu precisava começar a desmontar o kernel. Vamos tentar systemctl isolate rescue.target . Estranho, ele volta para default.target . Então systemctl status mostra que o sistema está degradado porque dmeventd não queria parar enquanto ainda está monitorando dispositivos (!) ... mas o disco rígido parou de girar de volta (!!).

De fato, em um sistema não degradado, o problema desaparece após killall -9 dmeventd .

Como pode ser tão quebrado? O motivo é que eu comecei a brincar com docker e, como eu uso o LVM, ele escolheu o driver de armazenamento devicemapper. [*]

dmeventd[5054]: dmeventd ready for processing.
lvm[5054]: Monitoring thin vg_fossil-docker--pool.

[*] Também pode ser um problema se você tiver espelhos LVM, raid ou snapshots ... reconhecidamente uma possibilidade em um sistema NAS :(. Se você não tem nenhum desses, por exemplo, apenas LVs simples ou sem LVM, então o dmeventd não tem nada para monitorar e se comporta.

Especificamente, o dmeventd faz esses ioctls a cada 10 segundos:

open("/dev/mapper/control", O_RDWR)     = 7
...
ioctl(7, DM_TABLE_STATUS
ioctl(7, DM_DEV_WAIT

Eu ainda acho que o spinup é um bug, mas pelo menos no meu caso há uma solução óbvia [*] e eu não estou realmente preocupado de perder nada por causa disso.

[*] Se você realmente quiser impedir que o dmeventd funcione, mesmo que você tenha um thin pool que provavelmente morre horrivelmente se ficar sem espaço, pesquise por monitoring = 1 em lvm.conf e altere o valor para 0 .

Atualização: O bug foi corrigido na próxima versão de lvm2 , 2.02.133 .

    
por 05.01.2016 / 17:32