When you're using ext4, you can check for badblocks with the command
e2fsck -c /dev/sda1
or whatever. This will "blacklist" the blocks by adding them to the bad block inode.
e2fsck -c
runs badblocks
no disco rígido subjacente. Você pode usar o comando badblocks
diretamente em um volume físico LVM (supondo que o PV seja de fato um disco rígido, e não algum outro tipo de dispositivo virtual como um dispositivo RAID de software MD), da mesma forma que você usaria esse comando um disco rígido que contém um sistema de arquivos ext.
Isso não adicionará nenhum tipo de informação de bloqueio ruim ao sistema de arquivos, mas eu não acho que esse seja um recurso útil do sistema de arquivos; o disco rígido deve manipular blocos ruins.
Ainda melhor do que badblocks
está executando um autoteste SMART no disco (substitua /dev/sdX
pelo nome do dispositivo do seu disco rígido):
smartctl -t long /dev/sdX
smartctl -a /dev/sdX | less
O teste ifself levará algumas horas (ele dirá exatamente quanto tempo). Quando estiver pronto, você pode consultar o resultado com smartctl -a
, procure o log de autoteste. Se disser "Completed successfully", o seu disco rígido está bem.
In other words, how can I check for bad blocks to not use in LVM?
Como eu disse, o próprio disco rígido irá garantir que ele não use blocos danificados e também realocará os dados desses blocos; isso não é algo que o sistema de arquivos ou o LV precisa fazer. Por outro lado, quando seu disco rígido tem mais do que apenas alguns blocos defeituosos, você não quer algo que os realoque, mas deseja substituir todo o disco rígido porque está falhando.